CondFormats
HcalObjects
interface
HcalRecoParamsGPU.h
Go to the documentation of this file.
1
#ifndef CondFormats_HcalObjects_interface_HcalRecoParamsGPU_h
2
#define CondFormats_HcalObjects_interface_HcalRecoParamsGPU_h
3
4
#include "
FWCore/Utilities/interface/propagate_const_array.h
"
5
#include "
HeterogeneousCore/CUDAUtilities/interface/device_unique_ptr.h
"
6
7
#ifndef __CUDACC__
8
#include "
HeterogeneousCore/CUDAUtilities/interface/HostAllocator.h
"
9
#include "
HeterogeneousCore/CUDACore/interface/ESProduct.h
"
10
#endif
11
12
class
HcalRecoParams
;
13
14
class
HcalRecoParamsGPU
{
15
public
:
16
struct
Product
{
17
edm::propagate_const_array<cms::cuda::device::unique_ptr<uint32_t[]>
>
param1
;
18
edm::propagate_const_array<cms::cuda::device::unique_ptr<uint32_t[]>
>
param2
;
19
};
20
21
#ifndef __CUDACC__
22
// rearrange reco params
23
HcalRecoParamsGPU
(
HcalRecoParams
const
&);
24
25
// will trigger deallocation of Product thru ~Product
26
~HcalRecoParamsGPU
() =
default
;
27
28
// get device pointers
29
Product
const
&
getProduct
(cudaStream_t)
const
;
30
31
private
:
32
uint64_t
totalChannels_
;
// hb + he
33
std::vector<uint32_t, cms::cuda::HostAllocator<uint32_t>>
param1_
;
34
std::vector<uint32_t, cms::cuda::HostAllocator<uint32_t>>
param2_
;
35
36
cms::cuda::ESProduct<Product>
product_
;
37
#endif
38
};
39
40
#endif
HcalRecoParamsGPU::Product::param2
edm::propagate_const_array< cms::cuda::device::unique_ptr< uint32_t[]> > param2
Definition:
HcalRecoParamsGPU.h:18
HostAllocator.h
HcalRecoParamsGPU::Product
Definition:
HcalRecoParamsGPU.h:16
HcalRecoParamsGPU::getProduct
Product const & getProduct(cudaStream_t) const
Definition:
HcalRecoParamsGPU.cc:29
HcalRecoParamsGPU::param2_
std::vector< uint32_t, cms::cuda::HostAllocator< uint32_t > > param2_
Definition:
HcalRecoParamsGPU.h:34
device_unique_ptr.h
HcalRecoParamsGPU::product_
cms::cuda::ESProduct< Product > product_
Definition:
HcalRecoParamsGPU.h:36
HcalRecoParamsGPU::~HcalRecoParamsGPU
~HcalRecoParamsGPU()=default
HcalRecoParamsGPU::HcalRecoParamsGPU
HcalRecoParamsGPU(HcalRecoParams const &)
Definition:
HcalRecoParamsGPU.cc:7
HcalRecoParamsGPU
Definition:
HcalRecoParamsGPU.h:14
cms::cuda::ESProduct
Definition:
ESProduct.h:20
edm::propagate_const_array
Definition:
propagate_const_array.h:61
propagate_const_array.h
HcalRecoParamsGPU::param1_
std::vector< uint32_t, cms::cuda::HostAllocator< uint32_t > > param1_
Definition:
HcalRecoParamsGPU.h:33
HcalRecoParams
Definition:
HcalRecoParams.h:9
cond::uint64_t
unsigned long long uint64_t
Definition:
Time.h:13
HcalRecoParamsGPU::Product::param1
edm::propagate_const_array< cms::cuda::device::unique_ptr< uint32_t[]> > param1
Definition:
HcalRecoParamsGPU.h:17
ESProduct.h
HcalRecoParamsGPU::totalChannels_
uint64_t totalChannels_
Definition:
HcalRecoParamsGPU.h:32
Generated for CMSSW Reference Manual by
1.8.16