Fix compilation issues and add KernelSizes
This commit is contained in:
parent
4651231d3b
commit
b4aef4db9e
@ -51,6 +51,9 @@ namespace atrip {
|
|||||||
cublasHandle_t handle;
|
cublasHandle_t handle;
|
||||||
};
|
};
|
||||||
static CudaContext cuda;
|
static CudaContext cuda;
|
||||||
|
static struct KernelDimensions {
|
||||||
|
struct {size_t blocks, threads;} ooo;
|
||||||
|
} kernelDimensions;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void init(MPI_Comm);
|
static void init(MPI_Comm);
|
||||||
@ -92,6 +95,10 @@ namespace atrip {
|
|||||||
ADD_ATTRIBUTE(bool, writeCheckpoint, true)
|
ADD_ATTRIBUTE(bool, writeCheckpoint, true)
|
||||||
ADD_ATTRIBUTE(float, checkpointAtPercentage, 10)
|
ADD_ATTRIBUTE(float, checkpointAtPercentage, 10)
|
||||||
ADD_ATTRIBUTE(size_t, checkpointAtEveryIteration, 0)
|
ADD_ATTRIBUTE(size_t, checkpointAtEveryIteration, 0)
|
||||||
|
#if defined(HAVE_CUDA)
|
||||||
|
ADD_ATTRIBUTE(size_t, oooThreads, 0)
|
||||||
|
ADD_ATTRIBUTE(size_t, oooBlocks, 0)
|
||||||
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -378,12 +378,16 @@ template <typename F=double>
|
|||||||
|
|
||||||
LOG(0,"Atrip") << "INIT SliceUnion: " << name << "\n";
|
LOG(0,"Atrip") << "INIT SliceUnion: " << name << "\n";
|
||||||
|
|
||||||
for (auto& ptr: sliceBuffers)
|
for (auto& ptr: sliceBuffers) {
|
||||||
#if defined(HAVE_CUDA)
|
#if defined(HAVE_CUDA)
|
||||||
cuMemAlloc(&ptr, sizeof(F) * sources[0].size());
|
cuMemAlloc(&ptr, sizeof(F) * sources[0].size());
|
||||||
|
if (ptr == 0UL) {
|
||||||
|
throw "UNSUFICCIENT MEMORY ON THE GRAPHIC CARD FOR FREE POINTERS";
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
ptr = (DataPtr<F>)malloc(sizeof(F) * sources[0].size());
|
ptr = (DataPtr<F>)malloc(sizeof(F) * sources[0].size());
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
slices
|
slices
|
||||||
= std::vector<Slice<F>>(2 * sliceTypes.size(), { sources[0].size() });
|
= std::vector<Slice<F>>(2 * sliceTypes.size(), { sources[0].size() });
|
||||||
@ -396,24 +400,12 @@ template <typename F=double>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
LOG(1,"Atrip") << "rankMap.nSources "
|
LOG(1,"Atrip") << "#slices " << slices.size() << "\n";
|
||||||
<< rankMap.nSources() << "\n";
|
WITH_RANK << "#slices[0] " << slices[0].size << "\n";
|
||||||
LOG(1,"Atrip") << "#slices "
|
LOG(1,"Atrip") << "#sources " << sources.size() << "\n";
|
||||||
<< slices.size() << "\n";
|
WITH_RANK << "#sources[0] " << sources[0].size() << "\n";
|
||||||
LOG(1,"Atrip") << "#slices[0] "
|
WITH_RANK << "#freePointers " << freePointers.size() << "\n";
|
||||||
<< slices[0].size << "\n";
|
LOG(1,"Atrip") << "#sliceBuffers " << sliceBuffers.size() << "\n";
|
||||||
LOG(1,"Atrip") << "#sources "
|
|
||||||
<< sources.size() << "\n";
|
|
||||||
LOG(1,"Atrip") << "#sources[0] "
|
|
||||||
<< sources[0].size() << "\n";
|
|
||||||
LOG(1,"Atrip") << "#freePointers "
|
|
||||||
<< freePointers.size() << "\n";
|
|
||||||
LOG(1,"Atrip") << "#sliceBuffers "
|
|
||||||
<< sliceBuffers.size() << "\n";
|
|
||||||
LOG(1,"Atrip") << "#sliceLength "
|
|
||||||
<< sliceLength.size() << "\n";
|
|
||||||
LOG(1,"Atrip") << "#paramLength "
|
|
||||||
<< paramLength.size() << "\n";
|
|
||||||
LOG(1,"Atrip") << "GB*" << np << " "
|
LOG(1,"Atrip") << "GB*" << np << " "
|
||||||
<< double(sources.size() + sliceBuffers.size())
|
<< double(sources.size() + sliceBuffers.size())
|
||||||
* sources[0].size()
|
* sources[0].size()
|
||||||
@ -434,7 +426,8 @@ template <typename F=double>
|
|||||||
__sliceLength.data(),
|
__sliceLength.data(),
|
||||||
syms.data(),
|
syms.data(),
|
||||||
w);
|
w);
|
||||||
LOG(1,"Atrip") << "slicing... \n";
|
|
||||||
|
WITH_OCD WITH_RANK << "slicing... \n";
|
||||||
|
|
||||||
// setUp sources
|
// setUp sources
|
||||||
for (size_t it(0); it < rankMap.nSources(); ++it) {
|
for (size_t it(0); it < rankMap.nSources(); ++it) {
|
||||||
|
|||||||
@ -19,13 +19,27 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
#if defined(__NVCC__)
|
||||||
#pragma GCC diagnostic ignored "-Wvla"
|
# pragma nv_diagnostic_push
|
||||||
#pragma GCC diagnostic ignored "-Wint-in-bool-context"
|
# if defined __NVCC_DIAG_PRAGMA_SUPPORT__
|
||||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
// http://www.ssl.berkeley.edu/~jimm/grizzly_docs/SSL/opt/intel/cc/9.0/lib/locale/en_US/mcpcom.msg
|
||||||
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
|
# pragma nv_diag_suppress partial_override
|
||||||
#include <ctf.hpp>
|
# else
|
||||||
#pragma GCC diagnostic pop
|
# pragma diag_suppress partial_override
|
||||||
|
# endif
|
||||||
|
# include <ctf.hpp>
|
||||||
|
# pragma nv_diagnostic_pop
|
||||||
|
#else
|
||||||
|
# pragma GCC diagnostic push
|
||||||
|
# pragma GCC diagnostic ignored "-Wvla"
|
||||||
|
# pragma GCC diagnostic ignored "-Wnonnull"
|
||||||
|
# pragma GCC diagnostic ignored "-Wall"
|
||||||
|
# pragma GCC diagnostic ignored "-Wint-in-bool-context"
|
||||||
|
# pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||||
|
# pragma GCC diagnostic ignored "-Wdeprecated-copy"
|
||||||
|
# include <ctf.hpp>
|
||||||
|
# pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <atrip/Debug.hpp>
|
#include <atrip/Debug.hpp>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user