Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef CALORECGPU_DATAHOLDERS_H
8 #define CALORECGPU_DATAHOLDERS_H
13 #define CALORECGPU_USE_PINNED_MEMORY 1
39 const bool has_state =
false,
40 const bool has_clusters =
false,
41 const bool has_moments =
false);
44 const bool return_cells =
true,
45 const bool return_clusters =
true,
46 const bool return_moments =
true);
72 #if CALORECGPU_USE_PINNED_MEMORY
97 #endif //CALORECGPU_DATAHOLDERS_H
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::ClusterMomentsArr > m_moments_dev
void returnClustersToCPU(CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
This function is asynchronous.
Holds one objects of type \T in memory context Context.
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::CellStateArr > m_cell_state_dev
void returnClusterNumberToCPU(CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
This function is asynchronous.
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::ClusterInfoArr > m_clusters_dev
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.
void sendToGPU(const bool clear_CPU=true)
CaloRecGPU::Helpers::CPU_object< CaloRecGPU::GeometryArr > m_geometry
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::CellInfoArr > m_cell_info_dev
void allocate(const bool also_GPU=true)
CaloRecGPU::Helpers::CUDA_pinned_CPU_object< CaloRecGPU::ClusterMomentsArr > m_moments
void returnMomentsToCPU(CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
This function is asynchronous.
CaloRecGPU::Helpers::CPU_object< CaloRecGPU::CellNoiseArr > m_cell_noise
void returnToCPU(const bool clear_GPU=false, const bool return_cells=true, const bool return_clusters=true, const bool return_moments=true)
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::CellNoiseArr > m_cell_noise_dev
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::GeometryArr > m_geometry_dev
void returnCellsToCPU(CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={})
This function is asynchronous.
CaloRecGPU::Helpers::CUDA_pinned_CPU_object< CaloRecGPU::ClusterInfoArr > m_clusters
CaloRecGPU::Helpers::CUDA_pinned_CPU_object< CaloRecGPU::CellStateArr > m_cell_state
void sendToGPU(const bool clear_CPU=false, const bool has_state=false, const bool has_clusters=false, const bool has_moments=false)
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.
CaloRecGPU::Helpers::CUDA_pinned_CPU_object< CaloRecGPU::CellInfoArr > m_cell_info