Logo ROOT  
Reference Guide
ROOT::Experimental::Detail::PinnedBufferContainer Class Reference

Definition at line 114 of file Buffers.cxx.

Public Member Functions

 PinnedBufferContainer ()
 
 PinnedBufferContainer (const PinnedBufferContainer &)=delete
 
 PinnedBufferContainer (PinnedBufferContainer &&other)
 
 PinnedBufferContainer (std::size_t size)
 
double const * cpuReadPtr () const
 
doublecpuWritePtr ()
 
double const * gpuReadPtr () const
 
doublegpuWritePtr ()
 
PinnedBufferContaineroperator= (const PinnedBufferContainer &)=delete
 
PinnedBufferContaineroperator= (PinnedBufferContainer &&other)
 
void setCudaStream (cudaStream_t *stream)
 
std::size_t size () const
 

Private Types

enum class  LastAccessType { CPU_READ , GPU_READ , CPU_WRITE , GPU_WRITE }
 

Private Attributes

cudaStream_t * _cudaStream = nullptr
 
double_data = nullptr
 
GPUBufferContainer _gpuBuffer
 
LastAccessType _lastAccess = LastAccessType::CPU_READ
 
std::size_t _size
 

Member Enumeration Documentation

◆ LastAccessType

Enumerator
CPU_READ 
GPU_READ 
CPU_WRITE 
GPU_WRITE 

Definition at line 174 of file Buffers.cxx.

Constructor & Destructor Documentation

◆ PinnedBufferContainer() [1/4]

ROOT::Experimental::Detail::PinnedBufferContainer::PinnedBufferContainer ( )
inline

Definition at line 116 of file Buffers.cxx.

◆ PinnedBufferContainer() [2/4]

ROOT::Experimental::Detail::PinnedBufferContainer::PinnedBufferContainer ( std::size_t  size)
inline

Definition at line 117 of file Buffers.cxx.

◆ PinnedBufferContainer() [3/4]

ROOT::Experimental::Detail::PinnedBufferContainer::PinnedBufferContainer ( const PinnedBufferContainer )
delete

◆ PinnedBufferContainer() [4/4]

ROOT::Experimental::Detail::PinnedBufferContainer::PinnedBufferContainer ( PinnedBufferContainer &&  other)
inline

Definition at line 125 of file Buffers.cxx.

Member Function Documentation

◆ cpuReadPtr()

double const * ROOT::Experimental::Detail::PinnedBufferContainer::cpuReadPtr ( ) const
inline

Definition at line 139 of file Buffers.cxx.

◆ cpuWritePtr()

double * ROOT::Experimental::Detail::PinnedBufferContainer::cpuWritePtr ( )
inline

Definition at line 162 of file Buffers.cxx.

◆ gpuReadPtr()

double const * ROOT::Experimental::Detail::PinnedBufferContainer::gpuReadPtr ( ) const
inline

Definition at line 150 of file Buffers.cxx.

◆ gpuWritePtr()

double * ROOT::Experimental::Detail::PinnedBufferContainer::gpuWritePtr ( )
inline

Definition at line 167 of file Buffers.cxx.

◆ operator=() [1/2]

PinnedBufferContainer & ROOT::Experimental::Detail::PinnedBufferContainer::operator= ( const PinnedBufferContainer )
delete

◆ operator=() [2/2]

PinnedBufferContainer & ROOT::Experimental::Detail::PinnedBufferContainer::operator= ( PinnedBufferContainer &&  other)
inline

Definition at line 126 of file Buffers.cxx.

◆ setCudaStream()

void ROOT::Experimental::Detail::PinnedBufferContainer::setCudaStream ( cudaStream_t *  stream)
inline

Definition at line 137 of file Buffers.cxx.

◆ size()

std::size_t ROOT::Experimental::Detail::PinnedBufferContainer::size ( ) const
inline

Definition at line 135 of file Buffers.cxx.

Member Data Documentation

◆ _cudaStream

cudaStream_t* ROOT::Experimental::Detail::PinnedBufferContainer::_cudaStream = nullptr
private

Definition at line 179 of file Buffers.cxx.

◆ _data

double* ROOT::Experimental::Detail::PinnedBufferContainer::_data = nullptr
private

Definition at line 176 of file Buffers.cxx.

◆ _gpuBuffer

GPUBufferContainer ROOT::Experimental::Detail::PinnedBufferContainer::_gpuBuffer
private

Definition at line 178 of file Buffers.cxx.

◆ _lastAccess

LastAccessType ROOT::Experimental::Detail::PinnedBufferContainer::_lastAccess = LastAccessType::CPU_READ
mutableprivate

Definition at line 180 of file Buffers.cxx.

◆ _size

std::size_t ROOT::Experimental::Detail::PinnedBufferContainer::_size
private

Definition at line 177 of file Buffers.cxx.


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