Optimized Belief Propagation (CPU and GPU)
MemoryManagementCUDA< T > Class Template Referencefinal

Child class of MemoryManagement with overriden member functions to manage memory on CUDA device including transferring data between host and CUDA device. More...

#include <MemoryManagementCUDA.h>

Inheritance diagram for MemoryManagementCUDA< T >:
Collaboration diagram for MemoryManagementCUDA< T >:

Public Member Functions

T * AllocateMemoryOnDevice (std::size_t numData) const override
 Allocate specified amount of data of type T on CUDA device. More...
 
void FreeMemoryOnDevice (T *array_to_free) const override
 Free memory on CUDA device. More...
 
T * AllocateAlignedMemoryOnDevice (std::size_t numData, run_environment::AccSetting acc_setting) const override
 Allocate aligned memory on CUDA device (same as default allocating of memory for CUDA) More...
 
void FreeAlignedMemoryOnDevice (T *memory_to_free) const override
 Free aligned memory on CUDA device (same as default free memory for CUDA) More...
 
void TransferDataFromDeviceToHost (T *dest_array, const T *in_array, std::size_t num_data_transfer) const override
 
void TransferDataFromHostToDevice (T *dest_array, const T *in_array, std::size_t num_data_transfer) const override
 

Detailed Description

template<RunData_t T>
class MemoryManagementCUDA< T >

Child class of MemoryManagement with overriden member functions to manage memory on CUDA device including transferring data between host and CUDA device.

Template Parameters
T

Definition at line 44 of file MemoryManagementCUDA.h.

Member Function Documentation

◆ AllocateAlignedMemoryOnDevice()

template<RunData_t T>
T* MemoryManagementCUDA< T >::AllocateAlignedMemoryOnDevice ( std::size_t  numData,
run_environment::AccSetting  acc_setting 
) const
inlineoverridevirtual

Allocate aligned memory on CUDA device (same as default allocating of memory for CUDA)

Parameters
numData
acc_setting
Returns
Pointer to allocated memory on CUDA device

Reimplemented from MemoryManagement< T >.

Definition at line 78 of file MemoryManagementCUDA.h.

Here is the call graph for this function:

◆ AllocateMemoryOnDevice()

template<RunData_t T>
T* MemoryManagementCUDA< T >::AllocateMemoryOnDevice ( std::size_t  numData) const
inlineoverridevirtual

Allocate specified amount of data of type T on CUDA device.

Parameters
numData
Returns
Pointer to allocated memory on CUDA device

Reimplemented from MemoryManagement< T >.

Definition at line 53 of file MemoryManagementCUDA.h.

Here is the caller graph for this function:

◆ FreeAlignedMemoryOnDevice()

template<RunData_t T>
void MemoryManagementCUDA< T >::FreeAlignedMemoryOnDevice ( T *  memory_to_free) const
inlineoverridevirtual

Free aligned memory on CUDA device (same as default free memory for CUDA)

Parameters
memory_to_free

Reimplemented from MemoryManagement< T >.

Definition at line 91 of file MemoryManagementCUDA.h.

Here is the call graph for this function:

◆ FreeMemoryOnDevice()

template<RunData_t T>
void MemoryManagementCUDA< T >::FreeMemoryOnDevice ( T *  array_to_free) const
inlineoverridevirtual

Free memory on CUDA device.

Parameters
array_to_free

Reimplemented from MemoryManagement< T >.

Definition at line 65 of file MemoryManagementCUDA.h.

Here is the caller graph for this function:

◆ TransferDataFromDeviceToHost()

template<RunData_t T>
void MemoryManagementCUDA< T >::TransferDataFromDeviceToHost ( T *  dest_array,
const T *  in_array,
std::size_t  num_data_transfer 
) const
inlineoverridevirtual

Reimplemented from MemoryManagement< T >.

Definition at line 96 of file MemoryManagementCUDA.h.

◆ TransferDataFromHostToDevice()

template<RunData_t T>
void MemoryManagementCUDA< T >::TransferDataFromHostToDevice ( T *  dest_array,
const T *  in_array,
std::size_t  num_data_transfer 
) const
inlineoverridevirtual

Reimplemented from MemoryManagement< T >.

Definition at line 105 of file MemoryManagementCUDA.h.


The documentation for this class was generated from the following file: