|
| struct | CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder |
| |
| struct | CaloRecGPU::Helpers::MemoryContext::CPU |
| |
| struct | CaloRecGPU::Helpers::MemoryContext::CUDAGPU |
| |
| struct | CaloRecGPU::Helpers::MemoryContext::CUDAPinnedCPU |
| |
| class | CaloRecGPU::Helpers::MemoryManagement< T, indexer > |
| | ! Handles allocation of a type T, using indexer as the integer type to indicate sizes. More...
|
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::unary_helper< C, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::unary_helper< MemoryContext::CPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::unary_helper< MemoryContext::CUDAGPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::unary_helper< MemoryContext::CUDAPinnedCPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< C1, C2, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< MemoryContext::CPU, MemoryContext::CPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< MemoryContext::CPU, MemoryContext::CUDAGPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< MemoryContext::CUDAGPU, MemoryContext::CUDAGPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< MemoryContext::CUDAGPU, MemoryContext::CPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< MemoryContext::CUDAPinnedCPU, MemoryContext::CPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< MemoryContext::CPU, MemoryContext::CUDAPinnedCPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< MemoryContext::CUDAPinnedCPU, MemoryContext::CUDAPinnedCPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< MemoryContext::CUDAPinnedCPU, MemoryContext::CUDAGPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::copy_helper< MemoryContext::CUDAGPU, MemoryContext::CUDAPinnedCPU, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::move_helper< C1, C2, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::move_helper< C1, C2, dummy > |
| |
| struct | CaloRecGPU::Helpers::MemoryManagement< T, indexer >::move_helper< C, C, dummy > |
| |
| class | CaloRecGPU::Helpers::SimpleContainer< T, indexer, Context, hold_arrays > |
| | Holds a run-time amount of objects of type \T, measuring sizes with indexer, in memory context Context. More...
|
| |
| class | CaloRecGPU::Helpers::SimpleContainer< T, indexer, Context, true > |
| |
| class | CaloRecGPU::Helpers::SimpleContainer< T, indexer, Context, false > |
| |
| class | CaloRecGPU::Helpers::SimpleHolder< T, Context, hold_object > |
| | Holds one objects of type \T in memory context Context. More...
|
| |
| class | CaloRecGPU::Helpers::SimpleHolder< T, Context, true > |
| |
| class | CaloRecGPU::Helpers::SimpleHolder< T, Context, false > |
| |
| class | CaloRecGPU::Helpers::separate_thread_holder< T > |
| | Manages objects of type T in a thread-safe way, ensuring that there's an object available for each separate thread while minimizing the number of allocations. More...
|
| |
| struct | CaloRecGPU::Helpers::separate_thread_accessor< T > |
| | ! More...
|
| |
| struct | CaloRecGPU::Helpers::maybe_allocate< T > |
| | Possibly holds an object in its internal buffer. More...
|
| |
|
| template<class T , class indexer = unsigned int> |
| using | CaloRecGPU::Helpers::CPU_array = SimpleContainer< T, indexer, MemoryContext::CPU, true > |
| | Holds a run-time specified amount of objects of type T in CPU memory. More...
|
| |
| template<class T , class indexer = unsigned int> |
| using | CaloRecGPU::Helpers::CUDA_array = SimpleContainer< T, indexer, MemoryContext::CUDAGPU, true > |
| | Holds a run-time specified amount of objects of type T in CUDA GPU memory. More...
|
| |
| template<class T , class indexer = unsigned int> |
| using | CaloRecGPU::Helpers::CUDA_kernel_array = SimpleContainer< T, indexer, MemoryContext::CUDAGPU, false > |
| | Non-owning pointer to an array of T in CUDA GPU memory. More...
|
| |
| template<class T > |
| using | CaloRecGPU::Helpers::CPU_object = SimpleHolder< T, MemoryContext::CPU, true > |
| | Holds an object of type T in CPU memory. More...
|
| |
| template<class T > |
| using | CaloRecGPU::Helpers::CUDA_object = SimpleHolder< T, MemoryContext::CUDAGPU, true > |
| | Holds an object of type T in CUDA GPU memory. More...
|
| |
| template<class T > |
| using | CaloRecGPU::Helpers::CUDA_kernel_object = SimpleHolder< T, MemoryContext::CUDAGPU, false > |
| | Non-owning pointer to an object of type T in CUDA GPU memory. More...
|
| |
| template<class T > |
| using | CaloRecGPU::Helpers::CUDA_pinned_CPU_object = SimpleHolder< T, MemoryContext::CUDAPinnedCPU, true > |
| | Holds an object of type T in CUDA GPU memory. More...
|
| |
|
| void * | CaloRecGPU::CUDA_Helpers::allocate (const size_t num) |
| | Allocates and returns the address of num bytes from GPU memory. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::deallocate (void *address) |
| | Deallocates address in GPU memory. More...
|
| |
| void * | CaloRecGPU::CUDA_Helpers::allocate_pinned (const size_t num) |
| | Allocates and returns the address of num bytes from CPU pinned memory. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::deallocate_pinned (void *address) |
| | Deallocates address in CPU pinned memory. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::GPU_to_CPU (void *dest, const void *const source, const size_t num) |
| | Copies num bytse from source in GPU memory to dest in CPU memory. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::CPU_to_GPU (void *dest, const void *const source, const size_t num) |
| | Copies num bytes from source in CPU memory to dest in GPU memory. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::GPU_to_GPU (void *dest, const void *const source, const size_t num) |
| | Copies num bytes from source to dest, both in GPU memory. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::GPU_to_CPU_async (void *dest, const void *const source, const size_t num, CUDAStreamPtrHolder stream={}) |
| | Copies num bytes from source in GPU memory to dest in CPU memory, asynchronously. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::CPU_to_GPU_async (void *dest, const void *const source, const size_t num, CUDAStreamPtrHolder stream={}) |
| | Copies num bytes from source in CPU memory to dest in GPU memory, asynchronously. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::GPU_to_GPU_async (void *dest, const void *const source, const size_t num, CUDAStreamPtrHolder stream={}) |
| | Copies num bytes from source to dest, both in GPU memory, asynchronously. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::GPU_synchronize (CUDAStreamPtrHolder stream={}) |
| | Synchronizes the stream. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::optimize_block_and_grid_size (void *func, int &block_size, int &grid_size, const int dynamic_memory=0, const int block_size_limit=0) |
| | Optimizes block and grid size according to cudaOccupancyMaxPotentialBlockSize. More...
|
| |
| void | CaloRecGPU::CUDA_Helpers::optimize_block_and_grid_size_for_cooperative_launch (void *func, int &block_size, int &grid_size, const int dynamic_memory=0, const int block_size_limit=0) |
| | Optimizes block and grid size for a cooperative launch. More...
|
| |
| bool | CaloRecGPU::CUDA_Helpers::supports_cooperative_launches () |
| |
| bool | CaloRecGPU::CUDA_Helpers::supports_dynamic_parallelism () |
| |
| std::string | CaloRecGPU::CUDA_Helpers::GPU_name () |
| |
| template<class T1 , class T2 > |
| constexpr auto | CaloRecGPU::Helpers::int_ceil_div (const T1 num, const T2 denom) |
| | Returns the ceiling of num/denom, with proper rounding. More...
|
| |
| template<class T1 , class T2 > |
| constexpr auto | CaloRecGPU::Helpers::int_floor_div (const T1 num, const T2 denom) |
| | Returns the floor of num/denom, with proper rounding. More...
|
| |
| template<class Base = float, class Exp = int> |
| constexpr Base | CaloRecGPU::Helpers::compile_time_pow2 (const Exp exp) |
| | Returns 2 to the power of exp. More...
|
| |
| template<class T > |
| constexpr unsigned char | CaloRecGPU::Helpers::Pearson_hash (const T number) |
| | Calculates a Pearson hash from @ number. More...
|
| |
| template<class T > |
| constexpr unsigned short | CaloRecGPU::Helpers::Pearson_hash_16_bit (const T number) |
| | Calculates a 16-bit Pearson hash from @ number. More...
|
| |