Apollo  6.0
Open source self driving car software
Public Types | Public Member Functions | List of all members
apollo::perception::base::SyncedMemory Class Reference

Manages memory allocation and synchronization between the host (CPU) and device (GPU). More...

#include <syncedmem.h>

Collaboration diagram for apollo::perception::base::SyncedMemory:
Collaboration graph

Public Types

enum  SyncedHead { UNINITIALIZED, HEAD_AT_CPU, HEAD_AT_GPU, SYNCED }
 

Public Member Functions

 SyncedMemory (bool use_cuda)
 
 SyncedMemory (size_t size, bool use_cuda)
 
 SyncedMemory (const SyncedMemory &)=delete
 
void operator= (const SyncedMemory &)=delete
 
 ~SyncedMemory ()
 
const void * cpu_data ()
 
void set_cpu_data (void *data)
 
const void * gpu_data ()
 
void set_gpu_data (void *data)
 
void * mutable_cpu_data ()
 
void * mutable_gpu_data ()
 
SyncedHead head () const
 
void set_head (SyncedHead head)
 
void set_head_gpu ()
 
void set_head_cpu ()
 
size_t size ()
 

Detailed Description

Manages memory allocation and synchronization between the host (CPU) and device (GPU).

TODO(dox): more thorough description.

Member Enumeration Documentation

◆ SyncedHead

Enumerator
UNINITIALIZED 
HEAD_AT_CPU 
HEAD_AT_GPU 
SYNCED 

Constructor & Destructor Documentation

◆ SyncedMemory() [1/3]

apollo::perception::base::SyncedMemory::SyncedMemory ( bool  use_cuda)
explicit

◆ SyncedMemory() [2/3]

apollo::perception::base::SyncedMemory::SyncedMemory ( size_t  size,
bool  use_cuda 
)

◆ SyncedMemory() [3/3]

apollo::perception::base::SyncedMemory::SyncedMemory ( const SyncedMemory )
delete

◆ ~SyncedMemory()

apollo::perception::base::SyncedMemory::~SyncedMemory ( )

Member Function Documentation

◆ cpu_data()

const void* apollo::perception::base::SyncedMemory::cpu_data ( )

◆ gpu_data()

const void* apollo::perception::base::SyncedMemory::gpu_data ( )

◆ head()

SyncedHead apollo::perception::base::SyncedMemory::head ( ) const
inline

◆ mutable_cpu_data()

void* apollo::perception::base::SyncedMemory::mutable_cpu_data ( )

◆ mutable_gpu_data()

void* apollo::perception::base::SyncedMemory::mutable_gpu_data ( )

◆ operator=()

void apollo::perception::base::SyncedMemory::operator= ( const SyncedMemory )
delete

◆ set_cpu_data()

void apollo::perception::base::SyncedMemory::set_cpu_data ( void *  data)

◆ set_gpu_data()

void apollo::perception::base::SyncedMemory::set_gpu_data ( void *  data)

◆ set_head()

void apollo::perception::base::SyncedMemory::set_head ( SyncedHead  head)
inline

◆ set_head_cpu()

void apollo::perception::base::SyncedMemory::set_head_cpu ( )
inline

◆ set_head_gpu()

void apollo::perception::base::SyncedMemory::set_head_gpu ( )
inline

◆ size()

size_t apollo::perception::base::SyncedMemory::size ( )
inline

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