CondFormats
EcalObjects
interface
EcalIntercalibConstantsGPU.h
Go to the documentation of this file.
1
#ifndef CondFormats_EcalObjects_interface_EcalIntercalibConstantsGPU_h
2
#define CondFormats_EcalObjects_interface_EcalIntercalibConstantsGPU_h
3
4
#include "
CondFormats/EcalObjects/interface/EcalIntercalibConstants.h
"
5
#include "
FWCore/Utilities/interface/propagate_const_array.h
"
6
#include "
HeterogeneousCore/CUDAUtilities/interface/device_unique_ptr.h
"
7
8
#ifndef __CUDACC__
9
#include "
HeterogeneousCore/CUDAUtilities/interface/HostAllocator.h
"
10
#include "
HeterogeneousCore/CUDACore/interface/ESProduct.h
"
11
#endif // __CUDACC__
12
13
class
EcalIntercalibConstantsGPU
{
14
public
:
15
struct
Product
{
16
edm::propagate_const_array<cms::cuda::device::unique_ptr<float[]>
>
values
;
17
};
18
19
#ifndef __CUDACC__
20
//
21
EcalIntercalibConstantsGPU
(
EcalIntercalibConstants
const
&);
22
23
// will call dealloation for Product thru ~Product
24
~EcalIntercalibConstantsGPU
() =
default
;
25
26
// get device pointers
27
Product
const
&
getProduct
(cudaStream_t)
const
;
28
29
// TODO: do this centrally
30
// get offset for hashes. equals number of barrel items
31
uint32_t
getOffset
()
const
{
return
offset_
; }
32
33
//
34
static
std::string
name
() {
return
std::string
{
"ecalIntercalibConstantsGPU"
}; }
35
36
private
:
37
std::vector<float, cms::cuda::HostAllocator<float>>
values_
;
38
uint32_t
offset_
;
39
40
cms::cuda::ESProduct<Product>
product_
;
41
#endif // __CUDACC__
42
};
43
44
#endif // CondFormats_EcalObjects_interface_EcalIntercalibConstantsGPU_h
EcalIntercalibConstantsGPU
Definition:
EcalIntercalibConstantsGPU.h:13
EcalIntercalibConstants.h
HostAllocator.h
EcalIntercalibConstantsGPU::getProduct
Product const & getProduct(cudaStream_t) const
Definition:
EcalIntercalibConstantsGPU.cc:13
EcalIntercalibConstantsGPU::getOffset
uint32_t getOffset() const
Definition:
EcalIntercalibConstantsGPU.h:31
device_unique_ptr.h
EcalCondObjectContainer
Definition:
EcalCondObjectContainer.h:13
cms::cuda::ESProduct
Definition:
ESProduct.h:20
EcalIntercalibConstantsGPU::values_
std::vector< float, cms::cuda::HostAllocator< float > > values_
Definition:
EcalIntercalibConstantsGPU.h:37
EcalIntercalibConstantsGPU::product_
cms::cuda::ESProduct< Product > product_
Definition:
EcalIntercalibConstantsGPU.h:40
EcalIntercalibConstantsGPU::name
static std::string name()
Definition:
EcalIntercalibConstantsGPU.h:34
EcalIntercalibConstantsGPU::Product::values
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > values
Definition:
EcalIntercalibConstantsGPU.h:16
EcalIntercalibConstantsGPU::offset_
uint32_t offset_
Definition:
EcalIntercalibConstantsGPU.h:38
EcalIntercalibConstantsGPU::EcalIntercalibConstantsGPU
EcalIntercalibConstantsGPU(EcalIntercalibConstants const &)
Definition:
EcalIntercalibConstantsGPU.cc:6
EcalIntercalibConstantsGPU::Product
Definition:
EcalIntercalibConstantsGPU.h:15
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
edm::propagate_const_array
Definition:
propagate_const_array.h:61
propagate_const_array.h
EcalIntercalibConstantsGPU::~EcalIntercalibConstantsGPU
~EcalIntercalibConstantsGPU()=default
ESProduct.h
Generated for CMSSW Reference Manual by
1.8.16