cuda-api-wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
|
CUDA facilities for interpolating access to multidimensional array objects, in particular via the array_t class. More...
Classes | |
struct | dimensions_t |
CUDA's array memory-objects are multi-dimensional; but their dimensions, or extents, are not the same as cuda::grid::dimensions_t ; they may be much larger in each axis. More... | |
struct | dimensions_t< 2 > |
Dimensions for 2D CUDA arrays. More... | |
struct | dimensions_t< 3 > |
Dimensions for 3D CUDA arrays. More... | |
Typedefs | |
using | handle_t = CUarray |
Raw CUDA driver handle for arrays (of any dimension) | |
template<dimensionality_t NumDimensions> | |
using | descriptor_t = typename ::std::conditional< NumDimensions==2, CUDA_ARRAY_DESCRIPTOR, CUDA_ARRAY3D_DESCRIPTOR >::type |
Raw CUDA driver descriptor structure for an array of dimension. More... | |
using | dimension_t = size_t |
An individual dimension extent for an array. | |
Functions | |
template<typename T , dimensionality_t NumDimensions> | |
array_t< T, NumDimensions > | wrap (device::id_t device_id, context::handle_t context_handle, handle_t handle, dimensions_t< NumDimensions > dimensions) noexcept |
Wrap an existing CUDA array in an array_t instance. | |
template<typename T , dimensionality_t NumDimensions> | |
array_t< T, NumDimensions > | create (const context_t &context, dimensions_t< NumDimensions > dimensions) |
Create a new (typed) CUDA array of the specified dimensions. More... | |
template<typename T , dimensionality_t NumDimensions> | |
array_t< T, NumDimensions > | create (const device_t &device, dimensions_t< NumDimensions > dimensions) |
CUDA facilities for interpolating access to multidimensional array objects, in particular via the array_t class.
using cuda::array::descriptor_t = typedef typename ::std::conditional<NumDimensions == 2, CUDA_ARRAY_DESCRIPTOR, CUDA_ARRAY3D_DESCRIPTOR>::type |
Raw CUDA driver descriptor structure for an array of dimension.
NumDimensions |
array_t< T, NumDimensions > cuda::array::create | ( | const context_t & | context, |
dimensions_t< NumDimensions > | dimensions | ||
) |
Create a new (typed) CUDA array of the specified dimensions.
context | ... in which the array is to be created |
array_t< T, NumDimensions > cuda::array::create | ( | const device_t & | device, |
dimensions_t< NumDimensions > | dimensions | ||
) |
device | ... in whose primary context the array is to be created |