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; 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
}; };

View File

@ -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) {

View File

@ -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>