Fix compilation issues and add KernelSizes

This commit is contained in:
Gallo Alejandro 2022-08-12 18:29:21 +02:00
parent 4651231d3b
commit b4aef4db9e
3 changed files with 41 additions and 27 deletions

View File

@ -51,6 +51,9 @@ namespace atrip {
cublasHandle_t handle;
};
static CudaContext cuda;
static struct KernelDimensions {
struct {size_t blocks, threads;} ooo;
} kernelDimensions;
#endif
static void init(MPI_Comm);
@ -92,6 +95,10 @@ namespace atrip {
ADD_ATTRIBUTE(bool, writeCheckpoint, true)
ADD_ATTRIBUTE(float, checkpointAtPercentage, 10)
ADD_ATTRIBUTE(size_t, checkpointAtEveryIteration, 0)
#if defined(HAVE_CUDA)
ADD_ATTRIBUTE(size_t, oooThreads, 0)
ADD_ATTRIBUTE(size_t, oooBlocks, 0)
#endif
};

View File

@ -378,12 +378,16 @@ template <typename F=double>
LOG(0,"Atrip") << "INIT SliceUnion: " << name << "\n";
for (auto& ptr: sliceBuffers)
for (auto& ptr: sliceBuffers) {
#if defined(HAVE_CUDA)
cuMemAlloc(&ptr, sizeof(F) * sources[0].size());
if (ptr == 0UL) {
throw "UNSUFICCIENT MEMORY ON THE GRAPHIC CARD FOR FREE POINTERS";
}
#else
ptr = (DataPtr<F>)malloc(sizeof(F) * sources[0].size());
#endif
}
slices
= std::vector<Slice<F>>(2 * sliceTypes.size(), { sources[0].size() });
@ -396,24 +400,12 @@ template <typename F=double>
LOG(1,"Atrip") << "rankMap.nSources "
<< rankMap.nSources() << "\n";
LOG(1,"Atrip") << "#slices "
<< slices.size() << "\n";
LOG(1,"Atrip") << "#slices[0] "
<< slices[0].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") << "#slices " << slices.size() << "\n";
WITH_RANK << "#slices[0] " << slices[0].size << "\n";
LOG(1,"Atrip") << "#sources " << sources.size() << "\n";
WITH_RANK << "#sources[0] " << sources[0].size() << "\n";
WITH_RANK << "#freePointers " << freePointers.size() << "\n";
LOG(1,"Atrip") << "#sliceBuffers " << sliceBuffers.size() << "\n";
LOG(1,"Atrip") << "GB*" << np << " "
<< double(sources.size() + sliceBuffers.size())
* sources[0].size()
@ -434,7 +426,8 @@ template <typename F=double>
__sliceLength.data(),
syms.data(),
w);
LOG(1,"Atrip") << "slicing... \n";
WITH_OCD WITH_RANK << "slicing... \n";
// setUp sources
for (size_t it(0); it < rankMap.nSources(); ++it) {

View File

@ -19,13 +19,27 @@
#include <map>
#include <chrono>
#if defined(__NVCC__)
# pragma nv_diagnostic_push
# if defined __NVCC_DIAG_PRAGMA_SUPPORT__
// http://www.ssl.berkeley.edu/~jimm/grizzly_docs/SSL/opt/intel/cc/9.0/lib/locale/en_US/mcpcom.msg
# pragma nv_diag_suppress partial_override
# else
# 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>