pytorch  1.8.2
About: PyTorch provides Tensor computation (like NumPy) with strong GPU acceleration and Deep Neural Networks (in Python) built on a tape-based autograd system. LTS (Long Term Support) release.
  Fossies Dox: pytorch-1.8.2.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

at::BaseContext Class Referenceabstract

Virtual interface for the Context class in Caffe2. More...

#include <context_base.h>

Inheritance diagram for at::BaseContext:
[legend]

Public Member Functions

virtual ~BaseContext () noexcept
 
virtual Device device () const =0
 
virtual DeviceType device_type () const =0
 
virtual void SwitchToDevice (int)=0
 
void SwitchToDevice ()
 
virtual void WaitEvent (const caffe2::Event &ev)=0
 
virtual void Record (caffe2::Event *ev, const char *err_msg=nullptr) const =0
 
virtual void FinishDeviceComputation ()=0
 
virtual void CopyBytesSameDevice (size_t nbytes, const void *src, void *dst)=0
 
virtual void CopyBytesFromCPU (size_t nbytes, const void *src, void *dst)=0
 
virtual void CopyBytesToCPU (size_t nbytes, const void *src, void *dst)=0
 
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)
 

Detailed Description

Virtual interface for the Context class in Caffe2.

A Context defines all the necessities to run an operator on a specific device. Specific Context classes needs to implement all the pure virtual functions in the BaseContext class. TODO: add docs after this is finalized.

Definition at line 36 of file context_base.h.

Constructor & Destructor Documentation

◆ ~BaseContext()

virtual at::BaseContext::~BaseContext ( )
inlinevirtualnoexcept

Definition at line 38 of file context_base.h.

Member Function Documentation

◆ CopyBytesFromCPU()

virtual void at::BaseContext::CopyBytesFromCPU ( size_t  nbytes,
const void *  src,
void *  dst 
)
pure virtual

◆ CopyBytesSameDevice()

virtual void at::BaseContext::CopyBytesSameDevice ( size_t  nbytes,
const void *  src,
void *  dst 
)
pure virtual

◆ CopyBytesToCPU()

virtual void at::BaseContext::CopyBytesToCPU ( size_t  nbytes,
const void *  src,
void *  dst 
)
pure virtual

◆ CopyFromCPU()

◆ CopyItemsFromCPU()

void at::BaseContext::CopyItemsFromCPU ( const caffe2::TypeMeta  meta,
size_t  n,
const void *  src,
void *  dst 
)
inline

◆ CopyItemsSameDevice()

◆ CopyItemsToCPU()

void at::BaseContext::CopyItemsToCPU ( const caffe2::TypeMeta  meta,
size_t  n,
const void *  src,
void *  dst 
)
inline

◆ CopySameDevice()

template<typename T >
void at::BaseContext::CopySameDevice ( size_t  n,
const T *  src,
T *  dst 
)
inline

Definition at line 72 of file context_base.h.

References caffe2::dst, and caffe2::src.

Referenced by caffe2::SoftmaxGradientOp< T, Context >::RunOnDevice().

◆ CopyToCPU()

template<typename T >
void at::BaseContext::CopyToCPU ( size_t  n,
const T *  src,
T *  dst 
)
inline

Definition at line 90 of file context_base.h.

References caffe2::dst, and caffe2::src.

◆ device()

◆ device_type()

◆ EnforceMetaCopyOK()

void at::BaseContext::EnforceMetaCopyOK ( )
inline

Definition at line 101 of file context_base.h.

References AT_ASSERTM.

◆ FinishDeviceComputation()

virtual void at::BaseContext::FinishDeviceComputation ( )
pure virtual

◆ Record()

virtual void at::BaseContext::Record ( caffe2::Event ev,
const char *  err_msg = nullptr 
) const
pure virtual

◆ SupportsNonFundamentalTypes()

virtual bool at::BaseContext::SupportsNonFundamentalTypes ( ) const
inlinevirtual

Reimplemented in caffe2::CPUContext, and caffe2::IDEEPContext.

Definition at line 97 of file context_base.h.

◆ SwitchToDevice() [1/2]

void at::BaseContext::SwitchToDevice ( )
inline

Definition at line 47 of file context_base.h.

◆ SwitchToDevice() [2/2]

virtual void at::BaseContext::SwitchToDevice ( int  )
pure virtual

◆ WaitEvent()

virtual void at::BaseContext::WaitEvent ( const caffe2::Event ev)
pure virtual

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