Classes | |
| class | Array |
| A templated class for managing an array of data using a specified memory type. More... | |
| class | CudaEvent |
| class | CudaStream |
Typedefs | |
| template<class T > | |
| using | DeviceArray = Array< T, DeviceMemory > |
An array of specific type that is allocated on the device with cudaMalloc and freed with cudaFree. | |
| template<class T > | |
| using | PinnedHostArray = Array< T, PinnedHostMemory > |
A pinned array of specific type that allocated on the host with cudaMallocHost and freed with cudaFreeHost. | |
Functions | |
| template<class T > | |
| void | copyDeviceToHost (const T *src, T *dest, std::size_t n, CudaStream *=nullptr) |
| Copies data from the CUDA device to the host. | |
| template<class T > | |
| void | copyHostToDevice (const T *src, T *dest, std::size_t n, CudaStream *=nullptr) |
| Copies data from the host to the CUDA device. | |
| float | cudaEventElapsedTime (CudaEvent &begin, CudaEvent &end) |
| Calculates the elapsed time between two CUDA events. | |
| void | cudaEventRecord (CudaEvent &event, CudaStream &stream) |
| Records a CUDA event. | |
| using RooFit::Detail::CudaInterface::DeviceArray = typedef Array<T, DeviceMemory> |
An array of specific type that is allocated on the device with cudaMalloc and freed with cudaFree.
Definition at line 195 of file CudaInterface.h.
| using RooFit::Detail::CudaInterface::PinnedHostArray = typedef Array<T, PinnedHostMemory> |
A pinned array of specific type that allocated on the host with cudaMallocHost and freed with cudaFreeHost.
The memory is "pinned", i.e. page-locked and accessible to the device for fast copying.
cudaMallocHost on developer.download.nvidia.com. Definition at line 204 of file CudaInterface.h.
| void RooFit::Detail::CudaInterface::copyDeviceToHost | ( | const T * | src, |
| T * | dest, | ||
| std::size_t | n, | ||
| CudaStream * | = nullptr |
||
| ) |
Copies data from the CUDA device to the host.
| [in] | src | Pointer to the source memory on the device. |
| [in] | dest | Pointer to the destination memory on the host. |
| [in] | nBytes | Number of bytes to copy. |
| [in] | stream | CudaStream for asynchronous memory transfer (optional). |
Definition at line 105 of file CudaInterface.h.
| void RooFit::Detail::CudaInterface::copyHostToDevice | ( | const T * | src, |
| T * | dest, | ||
| std::size_t | n, | ||
| CudaStream * | = nullptr |
||
| ) |
Copies data from the host to the CUDA device.
| [in] | src | Pointer to the source memory on the host. |
| [in] | dest | Pointer to the destination memory on the device. |
| [in] | nBytes | Number of bytes to copy. |
| [in] | stream | CudaStream for asynchronous memory transfer (optional). |
Definition at line 91 of file CudaInterface.h.
Calculates the elapsed time between two CUDA events.
| [in] | begin | CudaEvent representing the start event. |
| [in] | end | CudaEvent representing the end event. |
Definition at line 147 of file CudaInterface.cu.
| void RooFit::Detail::CudaInterface::cudaEventRecord | ( | CudaEvent & | event, |
| CudaStream & | stream | ||
| ) |
Records a CUDA event.
| [in] | event | CudaEvent object representing the event to be recorded. |
| [in] | stream | CudaStream in which to record the event. |
Definition at line 97 of file CudaInterface.cu.