|
The base part of DKS library provides the basic functions needed to communicate with the hardware accelerators. The base class is implemented using CUDA, OpenCL and OpenMP allowing DKS to target various hardware accelerators. Using the base class host application can query the available devices and get the device information as well as select the device that should be used. Base class also allows host application can perform memory management and data transfers, including gathering and scattering the data when multiple CPU cores share the same GPU memory region. For GPU devices the base class also handles the creation of streams and synchronization functions, that allow overlapping memory transfers and GPU kernel execution.
|
|
The base part of DKS library provides the basic functions needed to communicate with the hardware accelerators. The base class is implemented using CUDA, OpenCL and OpenMP allowing DKS to target various hardware accelerators. Using the base class host application can query the available devices and get the device information as well as select the device that should be used. Base class also allows host application can perform memory management and data transfers, including gathering and scattering the data when multiple CPU cores share the same GPU memory region. For GPU devices the base class also handles the creation of streams and synchronization functions, that allow overlapping memory transfers and GPU kernel execution.
|