GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
Singleton class storing all informations about OpenCL and managing GPU/CPU devices, contexts, kernels, command queues and events. In GGEMS the strategy is 1 context = 1 device. More...
Go to the source code of this file.
Classes | |
class | GGEMSOpenCLManager |
Singleton class storing all informations about OpenCL and managing GPU/CPU devices, contexts, kernels, command queues and events. In GGEMS the strategy is 1 context = 1 device. More... | |
Macros | |
#define | KERNEL_NOT_COMPILED 0x100000000 |
Typedefs | |
typedef std::unordered_map< std::string, std::string > | VendorUMap |
Functions | |
GGEMSOpenCLManager * | get_instance_ggems_opencl_manager (void) |
Get the GGEMSOpenCLManager pointer for python user. More... | |
void | print_infos_opencl_manager (GGEMSOpenCLManager *opencl_manager) |
Print information about OpenCL. More... | |
void | set_device_index_ggems_opencl_manager (GGEMSOpenCLManager *opencl_manager, GGsize const device_id) |
Set the device index to activate. More... | |
void | set_device_to_activate_opencl_manager (GGEMSOpenCLManager *opencl_manager, char const *device_type, char const *device_vendor="") |
Set the device index to activate. More... | |
void | clean_opencl_manager (GGEMSOpenCLManager *opencl_manager) |
Clean OpenCL manager for python user. More... | |
void | set_device_balancing_opencl_manager (GGEMSOpenCLManager *opencl_manager, char const *device_balancing) |
change the device balancing, by default device balancing is the same for each device More... | |
Singleton class storing all informations about OpenCL and managing GPU/CPU devices, contexts, kernels, command queues and events. In GGEMS the strategy is 1 context = 1 device.
Definition in file GGEMSOpenCLManager.hh.
#define KERNEL_NOT_COMPILED 0x100000000 |
value if OpenCL kernel is not compiled
Definition at line 47 of file GGEMSOpenCLManager.hh.
typedef std::unordered_map<std::string, std::string> VendorUMap |
Alias to OpenCL vendors
Definition at line 45 of file GGEMSOpenCLManager.hh.
void clean_opencl_manager | ( | GGEMSOpenCLManager * | opencl_manager | ) |
Clean OpenCL manager for python user.
opencl_manager | - pointer on the singleton |
Definition at line 1475 of file GGEMSOpenCLManager.cc.
GGEMSOpenCLManager * get_instance_ggems_opencl_manager | ( | void | ) |
Get the GGEMSOpenCLManager pointer for python user.
Definition at line 1436 of file GGEMSOpenCLManager.cc.
void print_infos_opencl_manager | ( | GGEMSOpenCLManager * | opencl_manager | ) |
Print information about OpenCL.
opencl_manager | - pointer on the singleton |
Definition at line 1445 of file GGEMSOpenCLManager.cc.
void set_device_balancing_opencl_manager | ( | GGEMSOpenCLManager * | opencl_manager, |
char const * | device_balancing | ||
) |
change the device balancing, by default device balancing is the same for each device
opencl_manager | - pointer on the singleton |
device_balancing | - device balancing |
Definition at line 1484 of file GGEMSOpenCLManager.cc.
void set_device_index_ggems_opencl_manager | ( | GGEMSOpenCLManager * | opencl_manager, |
GGsize const | device_id | ||
) |
Set the device index to activate.
opencl_manager | - pointer on the singleton |
device_id | - index of the device |
Definition at line 1457 of file GGEMSOpenCLManager.cc.
void set_device_to_activate_opencl_manager | ( | GGEMSOpenCLManager * | opencl_manager, |
char const * | device_type, | ||
char const * | device_vendor = "" |
||
) |
Set the device index to activate.
opencl_manager | - pointer on the singleton |
device_type | - device type (gpu, cpu) |
device_vendor | - device vendor (intel, amd, nvidia) |
Definition at line 1466 of file GGEMSOpenCLManager.cc.