Caffe2 - C++ API
A deep learning, cross platform ML framework
Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes
caffe2::CUDAContext Class Referencefinal
Inheritance diagram for caffe2::CUDAContext:
at::BaseContext

Public Member Functions

 CUDAContext (DeviceIndex gpu_id=-1)
 
 CUDAContext (const DeviceOption &option)
 
 CUDAContext (Device device)
 
void SwitchToDevice (StreamId stream_id) override
 
void WaitEvent (const Event &ev) override
 
void Record (Event *ev, const char *err_msg=nullptr) const override
 
void FinishDeviceComputation () override
 
int device_id () const
 
cudaStream_t cuda_stream () const
 
cublasHandle_t cublas_handle ()
 
curandGenerator_t & curand_generator ()
 
template<class SrcContext , class DstContext >
void CopyBytes (size_t nbytes, const void *src, void *dst)
 
void CopyBytesSameDevice (size_t nbytes, const void *src, void *dst) override
 
void CopyBytesToCPU (size_t nbytes, const void *src, void *dst) override
 
void CopyBytesFromCPU (size_t nbytes, const void *src, void *dst) override
 
template<typename T , class SrcContext , class DstContext >
void Copy (int n, const T *src, T *dst)
 
template<class SrcContext , class DstContext >
void CopyItems (const TypeMeta &meta, size_t n, const void *src, void *dst)
 
at::Device device () const override
 
DeviceType device_type () const override
 
- Public Member Functions inherited from at::BaseContext
virtual void SwitchToDevice (int)=0
 
void SwitchToDevice ()
 
template<typename T >
void CopySameDevice (size_t n, const T *src, T *dst)
 
template<typename T >
void CopyFromCPU (size_t n, const T *src, T *dst)
 
template<typename T >
void CopyToCPU (size_t n, const T *src, T *dst)
 
virtual bool SupportsNonFundamentalTypes () const
 
void EnforceMetaCopyOK ()
 
void CopyItemsSameDevice (const caffe2::TypeMeta &meta, size_t n, const void *src, void *dst)
 
void CopyItemsFromCPU (const caffe2::TypeMeta &meta, size_t n, const void *src, void *dst)
 
void CopyItemsToCPU (const caffe2::TypeMeta &meta, size_t n, const void *src, void *dst)
 

Static Public Member Functions

static cudaStream_t cuda_stream (DeviceIndex gpu_id, StreamId stream_id)
 
static at::DataPtr New (size_t nbytes)
 
static std::mutex & mutex ()
 
static std::vector< long > TotalMemoryByGpu ()
 
static std::vector< long > MaxMemoryByGpu ()
 
static void CopyBytesAsync (size_t nbytes, const void *src, Device src_device, void *dst, Device dst_device)
 
static void CopyBytesSync (size_t nbytes, const void *src, Device src_device, void *dst, Device dst_device)
 
static bool HasAsyncPartDefault ()
 
static bool SupportsAsyncScheduling ()
 
static bool IsStreamFree (const DeviceOption &option, StreamId stream_id)
 
static constexpr DeviceType GetDeviceType ()
 

Static Protected Member Functions

static ThreadLocalCUDAObjectsgetCudaObjects ()
 

Protected Attributes

int gpu_id_
 
int random_seed_
 
curandGenerator_t curand_generator_ {nullptr}
 

Detailed Description

Definition at line 164 of file context_gpu.h.


The documentation for this class was generated from the following file: