CMS 3D CMS Logo

EcalMultifitParametersGPU.cc
Go to the documentation of this file.
2 
5 
7  auto const& amplitudeFitParametersEB = ps.getParameter<std::vector<double>>("EBamplitudeFitParameters");
8  auto const& amplitudeFitParametersEE = ps.getParameter<std::vector<double>>("EEamplitudeFitParameters");
9  auto const& timeFitParametersEB = ps.getParameter<std::vector<double>>("EBtimeFitParameters");
10  auto const& timeFitParametersEE = ps.getParameter<std::vector<double>>("EEtimeFitParameters");
11 
12  amplitudeFitParametersEB_.resize(amplitudeFitParametersEB.size());
13  amplitudeFitParametersEE_.resize(amplitudeFitParametersEE.size());
14  timeFitParametersEB_.resize(timeFitParametersEB.size());
15  timeFitParametersEE_.resize(timeFitParametersEE.size());
16 
17  std::copy(amplitudeFitParametersEB.begin(), amplitudeFitParametersEB.end(), amplitudeFitParametersEB_.begin());
18  std::copy(amplitudeFitParametersEE.begin(), amplitudeFitParametersEE.end(), amplitudeFitParametersEE_.begin());
19  std::copy(timeFitParametersEB.begin(), timeFitParametersEB.end(), timeFitParametersEB_.begin());
20  std::copy(timeFitParametersEE.begin(), timeFitParametersEE.end(), timeFitParametersEE_.begin());
21 }
22 
24  auto const& product = product_.dataForCurrentDeviceAsync(
25  cudaStream, [this](EcalMultifitParametersGPU::Product& product, cudaStream_t cudaStream) {
26  // allocate
27  product.amplitudeFitParametersEB =
28  cms::cuda::make_device_unique<double[]>(amplitudeFitParametersEB_.size(), cudaStream);
29  product.amplitudeFitParametersEE =
30  cms::cuda::make_device_unique<double[]>(amplitudeFitParametersEE_.size(), cudaStream);
31  product.timeFitParametersEB = cms::cuda::make_device_unique<double[]>(timeFitParametersEB_.size(), cudaStream);
32  product.timeFitParametersEE = cms::cuda::make_device_unique<double[]>(timeFitParametersEE_.size(), cudaStream);
33  // transfer
38  });
39  return product;
40 }
41 
EcalMultifitParametersGPU::timeFitParametersEE_
std::vector< double, cms::cuda::HostAllocator< double > > timeFitParametersEE_
Definition: EcalMultifitParametersGPU.h:36
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
typelookup.h
EcalMultifitParametersGPU::Product
Definition: EcalMultifitParametersGPU.h:17
EcalMultifitParametersGPU::amplitudeFitParametersEE_
std::vector< double, cms::cuda::HostAllocator< double > > amplitudeFitParametersEE_
Definition: EcalMultifitParametersGPU.h:36
EcalMultifitParametersGPU::getProduct
Product const & getProduct(cudaStream_t) const
Definition: EcalMultifitParametersGPU.cc:23
EcalMultifitParametersGPU::amplitudeFitParametersEB_
std::vector< double, cms::cuda::HostAllocator< double > > amplitudeFitParametersEB_
Definition: EcalMultifitParametersGPU.h:36
edm::ParameterSet
Definition: ParameterSet.h:47
EcalMultifitParametersGPU
Definition: EcalMultifitParametersGPU.h:15
EcalMultifitParametersGPU::Product::timeFitParametersEB
edm::propagate_const_array< cms::cuda::device::unique_ptr< double[]> > timeFitParametersEB
Definition: EcalMultifitParametersGPU.h:20
EcalMultifitParametersGPU::Product::timeFitParametersEE
edm::propagate_const_array< cms::cuda::device::unique_ptr< double[]> > timeFitParametersEE
Definition: EcalMultifitParametersGPU.h:21
copyAsync.h
TYPELOOKUP_DATA_REG
#define TYPELOOKUP_DATA_REG(_dataclass_)
Definition: typelookup.h:102
EcalMultifitParametersGPU.h
EcalMultifitParametersGPU::product_
cms::cuda::ESProduct< Product > product_
Definition: EcalMultifitParametersGPU.h:39
EcalMultifitParametersGPU::EcalMultifitParametersGPU
EcalMultifitParametersGPU(edm::ParameterSet const &)
Definition: EcalMultifitParametersGPU.cc:6
EcalMultifitParametersGPU::Product::amplitudeFitParametersEE
edm::propagate_const_array< cms::cuda::device::unique_ptr< double[]> > amplitudeFitParametersEE
Definition: EcalMultifitParametersGPU.h:19
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
EcalMultifitParametersGPU::Product::amplitudeFitParametersEB
edm::propagate_const_array< cms::cuda::device::unique_ptr< double[]> > amplitudeFitParametersEB
Definition: EcalMultifitParametersGPU.h:18
EcalMultifitParametersGPU::timeFitParametersEB_
std::vector< double, cms::cuda::HostAllocator< double > > timeFitParametersEB_
Definition: EcalMultifitParametersGPU.h:36
cms::cuda::copyAsync
void copyAsync(device::unique_ptr< T > &dst, const host::unique_ptr< T > &src, cudaStream_t stream)
Definition: copyAsync.h:20