24 #ifndef COM_DAFER45_TBTK_GPU_RESOURCE_MANAGER
25 #define COM_DAFER45_TBTK_GPU_RESOURCE_MANAGER
35 class GPUResourceManager :
public Communicator{
44 void freeDevice(
int device);
47 static GPUResourceManager& getInstance();
53 GPUResourceManager(
const GPUResourceManager &gpuResourceManager) =
delete;
56 GPUResourceManager& operator=(
const GPUResourceManager &gpuResourceManager) =
delete;
66 omp_lock_t busyDevicesLock;
70 void createDeviceTable();
73 void destroyDeviceTable();
76 inline int GPUResourceManager::getNumDevices(){