32 std::string line_separator;
33 for (
int i = 0; i < title.size() + 30; i++)
34 line_separator +=
"=";
35 log << line_separator << std::endl;
36 log <<
"--- Memory usage report : " << title <<
" ---" << std::endl;
37 log << line_separator << std::endl;
39 log <<
"Available memory on node 0, free + buffers : " << std::setw(7) << (
freemem() >> 20) <<
" MiB" << std::endl;
40 log <<
"Memory footprint by rank 0 on node 0 : " << std::setw(7) << (
memusage() >> 10) <<
" MiB" << std::endl;
47 <<
" MiB" << std::endl;
53 <<
" MiB" << std::endl;
57 log << line_separator << std::endl;
helper functions for EinsplineSetBuilder
handle CUDA/HIP runtime selection.
size_t getOMPdeviceMemAllocated()
void print_mem(const std::string &title, std::ostream &log)
this file provides three C++ memory allocators using CUDA specific memory allocation functions...
size_t getCUDAdeviceFreeMem()
size_t getSYCLdeviceFreeMem()
query free memory on the default device
size_t getSYCLdeviceMemAllocated()
MakeReturn< UnaryNode< FnLog, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t log(const Vector< T1, C1 > &l)
this file provides three C++ memory allocators using SYCL specific memory allocation functions...
size_t getCUDAdeviceMemAllocated()