24 : omp_default_device_num(-1), omp_device_count(omp_get_num_devices())
29 throw std::runtime_error(
"Inconsistent number of OpenMP devices with the previous record!");
31 app_warning() <<
"More OpenMP devices than the number of MPI ranks. " 32 <<
"Some devices will be left idle.\n" 33 <<
"There is potential performance issue with the GPU affinity.\n";
37 if (default_device_num < 0)
40 throw std::runtime_error(
"Inconsistent assigned OpenMP devices with the previous record!");
std::ostream & app_warning()
helper functions for EinsplineSetBuilder
Declaration of OutputManager class.
OMPDeviceManager(int &default_device_num, int &num_devices, int local_rank, int local_size)
int omp_default_device_num
const int omp_device_count
int determineDefaultDeviceNum(int num_devices, int rank_id, int num_ranks)
distribute MPI ranks among devices