Encapsulates allocation/deallocation and access to arrays on both the host and device. More...
#include <parallel_array.h>
Public Member Functions | |
| RType | getBuffer () |
| RType | getBuffer (ArraySize offset) |
| ArraySize | getByteSize () const |
| ArraySize | getByteSize (ArraySize arraySize) const |
| MemFlags | getFlags () const |
| ArraySize | getInternalByteSize () const |
| ArraySize | getInternalSize () const |
| ArraySize | getSize () const |
| ArrayType | getType () const |
| bool | isDeviceArray () const |
| bool | isHostArray () const |
| ParallelArray (ArrayType type=ArrayTypes::DEVICE_ARRAY, ArraySize size=0, MemFlags flags=0) | |
| Constructs on instance of a parallely array according the arguments. | |
| void | print (const char *s, int stride=1) const |
| void | printVal (const int &a) const |
| void | printVal (const int4 &a) const |
| void | printVal (const float &a) const |
| void | printVal (const float3 &a) const |
| void | printVal (const float4 &a) const |
| void | printVal (const double &a) const |
| void | printVal (const double3 &a) const |
| void | printVal (const double4 &a) const |
| void | setFlags (MemFlags flags) |
| void | setSize (ArraySize size) |
| virtual | ~ParallelArray () |
Protected Member Functions | |
| virtual void | dealloc () |
| virtual void | realloc () |
Private Types | |
| typedef PMemManager::mem_flags | MemFlags |
| typedef MemManager< Type, PType > | PMemManager |
Private Attributes | |
| RType | buffer_ |
| MemFlags | flags_ |
| ArraySize | internalSize_ |
| ArraySize | size_ |
| ArrayType | type_ |
Encapsulates allocation/deallocation and access to arrays on both the host and device.
Definition at line 27 of file parallel_array.h.
typedef PMemManager::mem_flags parallel_utils::ParallelArray< Type, RType, PType >::MemFlags [private] |
Definition at line 30 of file parallel_array.h.
typedef MemManager<Type,PType> parallel_utils::ParallelArray< Type, RType, PType >::PMemManager [private] |
Definition at line 29 of file parallel_array.h.
| parallel_utils::ParallelArray< Type, RType, PType >::ParallelArray | ( | ArrayType | type = ArrayTypes::DEVICE_ARRAY, |
| ArraySize | size = 0, |
||
| MemFlags | flags = 0 |
||
| ) | [inline] |
Constructs on instance of a parallely array according the arguments.
| type | The type of array, either host or device |
| size | The size (in elements, not bytes) of the the array |
| flags | The flags to be used by the memory manager |
Definition at line 41 of file parallel_array.h.
| virtual parallel_utils::ParallelArray< Type, RType, PType >::~ParallelArray | ( | ) | [inline, virtual] |
Destroys the array, freeing memory appropriately
Definition at line 49 of file parallel_array.h.
| virtual void parallel_utils::ParallelArray< Type, RType, PType >::dealloc | ( | ) | [inline, protected, virtual] |
Definition at line 130 of file parallel_array.h.
| RType parallel_utils::ParallelArray< Type, RType, PType >::getBuffer | ( | ) | [inline] |
Definition at line 114 of file parallel_array.h.
| RType parallel_utils::ParallelArray< Type, RType, PType >::getBuffer | ( | ArraySize | offset | ) | [inline] |
Definition at line 115 of file parallel_array.h.
| ArraySize parallel_utils::ParallelArray< Type, RType, PType >::getByteSize | ( | ) | const [inline] |
Definition at line 108 of file parallel_array.h.
| ArraySize parallel_utils::ParallelArray< Type, RType, PType >::getByteSize | ( | ArraySize | arraySize | ) | const [inline] |
Definition at line 109 of file parallel_array.h.
| MemFlags parallel_utils::ParallelArray< Type, RType, PType >::getFlags | ( | ) | const [inline] |
Definition at line 113 of file parallel_array.h.
| ArraySize parallel_utils::ParallelArray< Type, RType, PType >::getInternalByteSize | ( | ) | const [inline] |
Definition at line 112 of file parallel_array.h.
| ArraySize parallel_utils::ParallelArray< Type, RType, PType >::getInternalSize | ( | ) | const [inline] |
Definition at line 111 of file parallel_array.h.
| ArraySize parallel_utils::ParallelArray< Type, RType, PType >::getSize | ( | ) | const [inline] |
Definition at line 110 of file parallel_array.h.
| ArrayType parallel_utils::ParallelArray< Type, RType, PType >::getType | ( | ) | const [inline] |
Definition at line 107 of file parallel_array.h.
| bool parallel_utils::ParallelArray< Type, RType, PType >::isDeviceArray | ( | ) | const [inline] |
Definition at line 106 of file parallel_array.h.
| bool parallel_utils::ParallelArray< Type, RType, PType >::isHostArray | ( | ) | const [inline] |
Definition at line 105 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::print | ( | const char * | s, |
| int | stride = 1 |
||
| ) | const [inline] |
Prints the array to the console. Utility only.
| s | The string prefix |
| stride | The stride between elements in the buffer to print |
Definition at line 88 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::printVal | ( | const int & | a | ) | const [inline] |
Definition at line 96 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::printVal | ( | const int4 & | a | ) | const [inline] |
Definition at line 97 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::printVal | ( | const float & | a | ) | const [inline] |
Definition at line 98 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::printVal | ( | const float3 & | a | ) | const [inline] |
Definition at line 99 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::printVal | ( | const float4 & | a | ) | const [inline] |
Definition at line 100 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::printVal | ( | const double & | a | ) | const [inline] |
Definition at line 101 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::printVal | ( | const double3 & | a | ) | const [inline] |
Definition at line 102 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::printVal | ( | const double4 & | a | ) | const [inline] |
Definition at line 103 of file parallel_array.h.
| virtual void parallel_utils::ParallelArray< Type, RType, PType >::realloc | ( | ) | [inline, protected, virtual] |
Definition at line 119 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::setFlags | ( | MemFlags | flags | ) | [inline] |
Sets flags governing memory allocation and memory transfer specific for the parallel type
| flags | The flags to be used by the memory manager |
Definition at line 73 of file parallel_array.h.
| void parallel_utils::ParallelArray< Type, RType, PType >::setSize | ( | ArraySize | size | ) | [inline] |
Sets the size of the array, reallocating memory appropriately. No guarantees on data preservation
| size | The number of elements fot the new array |
Definition at line 59 of file parallel_array.h.
RType parallel_utils::ParallelArray< Type, RType, PType >::buffer_ [private] |
Handle to the actual memory
Definition at line 145 of file parallel_array.h.
MemFlags parallel_utils::ParallelArray< Type, RType, PType >::flags_ [private] |
Flags governing array processing by the memory manager
Definition at line 143 of file parallel_array.h.
ArraySize parallel_utils::ParallelArray< Type, RType, PType >::internalSize_ [private] |
The internal size of the array, may be more than the reported size
Definition at line 142 of file parallel_array.h.
ArraySize parallel_utils::ParallelArray< Type, RType, PType >::size_ [private] |
The number of elements in the array
Definition at line 141 of file parallel_array.h.
ArrayType parallel_utils::ParallelArray< Type, RType, PType >::type_ [private] |
The type of the array, eithe host or device
Definition at line 140 of file parallel_array.h.