ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
CaloRecGPU::EventDataHolder Class Reference

#include <DataHolders.h>

Collaboration diagram for CaloRecGPU::EventDataHolder:

Public Member Functions

void sendToGPU (const bool clear_CPU=false, const bool has_state=false, const bool has_clusters=false, const bool has_moments=false)
 
void returnToCPU (const bool clear_GPU=false, const bool return_cells=true, const bool return_clusters=true, const bool return_moments=true)
 
void returnCellsToCPU (CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
 This function is asynchronous. More...
 
void returnClustersToCPU (CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
 This function is asynchronous. More...
 
void returnMomentsToCPU (CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
 This function is asynchronous. More...
 
void returnClusterNumberToCPU (CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
 This function is asynchronous. More...
 
void returnSomeClustersToCPU (const size_t num_clusters, CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
 We assume the cluster number is already known and thus only return num_clusters clusters. More...
 
void returnSomeMomentsToCPU (const size_t num_clusters, CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
 We assume the cluster number is already known and thus only return num_clusters clusters. More...
 
void allocate (const bool also_GPU=true)
 
void clear_GPU ()
 

Public Attributes

CaloRecGPU::Helpers::CUDA_pinned_CPU_object< CaloRecGPU::CellInfoArrm_cell_info
 
CaloRecGPU::Helpers::CUDA_pinned_CPU_object< CaloRecGPU::CellStateArrm_cell_state
 
CaloRecGPU::Helpers::CUDA_pinned_CPU_object< CaloRecGPU::ClusterInfoArrm_clusters
 
CaloRecGPU::Helpers::CUDA_pinned_CPU_object< CaloRecGPU::ClusterMomentsArrm_moments
 
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::CellInfoArrm_cell_info_dev
 
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::CellStateArrm_cell_state_dev
 
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::ClusterInfoArrm_clusters_dev
 
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::ClusterMomentsArrm_moments_dev
 

Detailed Description

Definition at line 34 of file DataHolders.h.

Member Function Documentation

◆ allocate()

void CaloRecGPU::EventDataHolder::allocate ( const bool  also_GPU = true)

◆ clear_GPU()

void CaloRecGPU::EventDataHolder::clear_GPU ( )

◆ returnCellsToCPU()

void CaloRecGPU::EventDataHolder::returnCellsToCPU ( CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder  stream = {})

This function is asynchronous.

◆ returnClusterNumberToCPU()

void CaloRecGPU::EventDataHolder::returnClusterNumberToCPU ( CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder  stream = {})

This function is asynchronous.

◆ returnClustersToCPU()

void CaloRecGPU::EventDataHolder::returnClustersToCPU ( CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder  stream = {})

This function is asynchronous.

◆ returnMomentsToCPU()

void CaloRecGPU::EventDataHolder::returnMomentsToCPU ( CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder  stream = {})

This function is asynchronous.

◆ returnSomeClustersToCPU()

void CaloRecGPU::EventDataHolder::returnSomeClustersToCPU ( const size_t  num_clusters,
CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder  stream = {} 
)

We assume the cluster number is already known and thus only return num_clusters clusters.

This function is asynchronous.

◆ returnSomeMomentsToCPU()

void CaloRecGPU::EventDataHolder::returnSomeMomentsToCPU ( const size_t  num_clusters,
CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder  stream = {} 
)

We assume the cluster number is already known and thus only return num_clusters clusters.

This function is asynchronous.

◆ returnToCPU()

void CaloRecGPU::EventDataHolder::returnToCPU ( const bool  clear_GPU = false,
const bool  return_cells = true,
const bool  return_clusters = true,
const bool  return_moments = true 
)

◆ sendToGPU()

void CaloRecGPU::EventDataHolder::sendToGPU ( const bool  clear_CPU = false,
const bool  has_state = false,
const bool  has_clusters = false,
const bool  has_moments = false 
)

Member Data Documentation

◆ m_cell_info

CaloRecGPU::Helpers::CUDA_pinned_CPU_object<CaloRecGPU::CellInfoArr> CaloRecGPU::EventDataHolder::m_cell_info

Definition at line 74 of file DataHolders.h.

◆ m_cell_info_dev

CaloRecGPU::Helpers::CUDA_object<CaloRecGPU::CellInfoArr> CaloRecGPU::EventDataHolder::m_cell_info_dev

Definition at line 88 of file DataHolders.h.

◆ m_cell_state

CaloRecGPU::Helpers::CUDA_pinned_CPU_object<CaloRecGPU::CellStateArr> CaloRecGPU::EventDataHolder::m_cell_state

Definition at line 75 of file DataHolders.h.

◆ m_cell_state_dev

CaloRecGPU::Helpers::CUDA_object<CaloRecGPU::CellStateArr> CaloRecGPU::EventDataHolder::m_cell_state_dev

Definition at line 89 of file DataHolders.h.

◆ m_clusters

Definition at line 76 of file DataHolders.h.

◆ m_clusters_dev

CaloRecGPU::Helpers::CUDA_object<CaloRecGPU::ClusterInfoArr> CaloRecGPU::EventDataHolder::m_clusters_dev

Definition at line 90 of file DataHolders.h.

◆ m_moments

Definition at line 77 of file DataHolders.h.

◆ m_moments_dev

CaloRecGPU::Helpers::CUDA_object<CaloRecGPU::ClusterMomentsArr> CaloRecGPU::EventDataHolder::m_moments_dev

Definition at line 91 of file DataHolders.h.


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