CUDA Templates for Linear Algebra Subroutines and Solvers
Classes | Namespaces | Functions
device_memory.h File Reference

C++ interface to CUDA device memory management functions. More...

#include <memory>
#include "cutlass/platform/platform.h"
#include "cutlass/numeric_types.h"
#include "exceptions.h"
Include dependency graph for device_memory.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  cutlass::device_memory::allocation< T >
 Device allocation abstraction that tracks size and capacity. More...
struct  cutlass::device_memory::allocation< T >::deleter
 Delete functor for CUDA device memory. More...




template<typename T >
T * cutlass::device_memory::allocate (size_t count=1)
 Allocate a buffer of count elements of type T on the current CUDA device. More...
template<typename T >
void cutlass::device_memory::free (T *ptr)
 Free the buffer pointed to by ptr. More...
template<typename T >
void cutlass::device_memory::copy (T *dst, T const *src, size_t count, cudaMemcpyKind kind)
template<typename T >
void cutlass::device_memory::copy_to_device (T *dst, T const *src, size_t count=1)
template<typename T >
void cutlass::device_memory::copy_to_host (T *dst, T const *src, size_t count=1)
template<typename T >
void cutlass::device_memory::copy_device_to_device (T *dst, T const *src, size_t count=1)
template<typename T >
void cutlass::device_memory::copy_host_to_host (T *dst, T const *src, size_t count=1)
template<typename OutputIterator , typename T >
void cutlass::device_memory::insert_to_host (OutputIterator begin, OutputIterator end, T const *device_begin)
 Copies elements from device memory to host-side range. More...
template<typename T , typename InputIterator >
void cutlass::device_memory::insert_to_device (T *device_begin, InputIterator begin, InputIterator end)
 Copies elements to device memory from host-side range. More...