Taskflow  3.2.0-Master-Branch
Loading...
Searching...
No Matches
cuda_memory.hpp File Reference

CUDA memory utilities include file. More...

Go to the source code of this file.

Classes

class  tf::cudaDeviceAllocator< T >
 class to create a CUDA device allocator More...
 
struct  tf::cudaDeviceAllocator< T >::rebind< U >
 its member type U is the equivalent allocator type to allocate elements of type U More...
 
class  tf::cudaUSMAllocator< T >
 class to create a unified shared memory (USM) allocator More...
 
struct  tf::cudaUSMAllocator< T >::rebind< U >
 its member type U is the equivalent allocator type to allocate elements of type U More...
 

Namespaces

namespace  tf
 taskflow namespace
 

Functions

size_t tf::cuda_get_free_mem (int d)
 queries the free memory (expensive call)
 
size_t tf::cuda_get_total_mem (int d)
 queries the total available memory (expensive call)
 
template<typename T >
T * tf::cuda_malloc_device (size_t N, int d)
 allocates memory on the given device for holding N elements of type T
 
template<typename T >
T * tf::cuda_malloc_device (size_t N)
 allocates memory on the current device associated with the caller
 
template<typename T >
T * tf::cuda_malloc_shared (size_t N)
 allocates shared memory for holding N elements of type T
 
template<typename T >
void tf::cuda_free (T *ptr, int d)
 frees memory on the GPU device
 
template<typename T >
void tf::cuda_free (T *ptr)
 frees memory on the GPU device
 
void tf::cuda_memcpy_async (cudaStream_t stream, void *dst, const void *src, size_t count)
 copies data between host and device asynchronously through a stream
 
void tf::cuda_memset_async (cudaStream_t stream, void *devPtr, int value, size_t count)
 initializes or sets GPU memory to the given value byte by byte
 

Detailed Description

CUDA memory utilities include file.