SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
|
A simple vector class for GPU memory, loosely based on std::vector. More...
#include <DevVector.hh>
Public Member Functions | |
DevVector () | |
Constructs empty vector. | |
DevVector (size_t in_size, int device, blas::Queue &queue) | |
Constructs vector, allocating in_size elements on device. | |
~DevVector () | |
Destroys vector, freeing memory. | |
void | clear (blas::Queue &queue) |
void | resize (size_t in_size, int device, blas::Queue &queue) |
Frees existing memory and allocates new memory for in_size elements on device. | |
scalar_t & | operator[] (size_t i) |
scalar_t * | data () |
size_t | size () const |
bool | empty () const |
A simple vector class for GPU memory, loosely based on std::vector.
|
inline |
Constructs empty vector.
No memory is allocated, the data pointer is null.
|
inline |
Constructs vector, allocating in_size elements on device.
Unlike std::vector, elements are uninitialized. todo: should this take queue instead of device, for SYCL?
|
inline |
|
inline |
|
inline |
|
inline |
Frees existing memory and allocates new memory for in_size elements on device.
Unlike std::vector, this does not copy old elements to new array.
|
inline |