14 #ifndef QMCPLUSPLUS_DETERMINEDEFAULTDEVICENUM_H 15 #define QMCPLUSPLUS_DETERMINEDEFAULTDEVICENUM_H 29 int min_ranks_per_device =
num_ranks / num_devices;
31 int assigned_device_id;
32 if (rank_id < min_ranks_per_device * (num_devices - residual))
33 assigned_device_id = rank_id / min_ranks_per_device;
35 assigned_device_id = (rank_id + num_devices - residual) / (min_ranks_per_device + 1);
36 return assigned_device_id;
helper functions for EinsplineSetBuilder
int determineDefaultDeviceNum(int num_devices, int rank_id, int num_ranks)
distribute MPI ranks among devices