CUDADataFormats
HGCal
interface
HGCUncalibRecHitDevice.h
Go to the documentation of this file.
1
#ifndef CUDADAtaFormats_HGCal_HGCUncalibRecHitDevice_H
2
#define CUDADAtaFormats_HGCal_HGCUncalibRecHitDevice_H
3
4
#include <cassert>
5
#include <numeric>
6
7
#include "
HeterogeneousCore/CUDAUtilities/interface/device_unique_ptr.h
"
8
#include "
CUDADataFormats/HGCal/interface/HGCRecHitSoA.h
"
9
#include "
CUDADataFormats/HGCal/interface/HGCUncalibRecHitSoA.h
"
10
11
class
HGCUncalibRecHitDevice
{
12
public
:
13
HGCUncalibRecHitDevice
() =
default
;
14
explicit
HGCUncalibRecHitDevice
(uint32_t
nhits
,
const
cudaStream_t &
stream
);
15
~HGCUncalibRecHitDevice
() =
default
;
16
17
HGCUncalibRecHitDevice
(
const
HGCUncalibRecHitDevice
&) =
delete
;
18
HGCUncalibRecHitDevice
&
operator=
(
const
HGCUncalibRecHitDevice
&) =
delete
;
19
HGCUncalibRecHitDevice
(
HGCUncalibRecHitDevice
&&) =
default
;
20
HGCUncalibRecHitDevice
&
operator=
(
HGCUncalibRecHitDevice
&&) =
default
;
21
22
void
defineSoAMemoryLayout_
();
23
HGCUncalibRecHitSoA
get
()
const
{
return
soa_
; }
24
uint32_t
nHits
()
const
{
return
nhits_
; }
25
uint32_t
pad
()
const
{
return
pad_
; }
26
uint32_t
nBytes
()
const
{
return
size_tot_
; }
27
28
private
:
29
cms::cuda::device::unique_ptr<std::byte[]>
ptr_
;
30
HGCUncalibRecHitSoA
soa_
;
31
static
constexpr std::array<int, memory::npointers::ntypes_hgcuncalibrechits_soa>
sizes_
= {
32
{
memory::npointers::float_hgcuncalibrechits_soa
*
sizeof
(
float
),
33
memory::npointers::uint32_hgcuncalibrechits_soa
*
sizeof
(uint32_t)}};
34
35
uint32_t
pad_
;
36
uint32_t
nhits_
;
37
uint32_t
size_tot_
;
38
};
39
40
#endif //CUDADAtaFormats_HGCal_HGCUncalibRecHitDevice_H
HGCUncalibRecHitDevice::~HGCUncalibRecHitDevice
~HGCUncalibRecHitDevice()=default
HGCUncalibRecHitDevice::size_tot_
uint32_t size_tot_
Definition:
HGCUncalibRecHitDevice.h:37
dqmMemoryStats.float
float
Definition:
dqmMemoryStats.py:127
memory::npointers::uint32_hgcuncalibrechits_soa
constexpr unsigned uint32_hgcuncalibrechits_soa
Definition:
HGCUncalibRecHitSoA.h:27
HGCUncalibRecHitDevice::ptr_
cms::cuda::device::unique_ptr< std::byte[]> ptr_
Definition:
HGCUncalibRecHitDevice.h:29
HGCUncalibRecHitDevice::operator=
HGCUncalibRecHitDevice & operator=(const HGCUncalibRecHitDevice &)=delete
cms::cuda::stream
cudaStream_t stream
Definition:
HistoContainer.h:57
memory::npointers::float_hgcuncalibrechits_soa
constexpr unsigned float_hgcuncalibrechits_soa
Definition:
HGCUncalibRecHitSoA.h:26
HGCUncalibRecHitDevice::soa_
HGCUncalibRecHitSoA soa_
Definition:
HGCUncalibRecHitDevice.h:30
HGCUncalibRecHitDevice::nHits
uint32_t nHits() const
Definition:
HGCUncalibRecHitDevice.h:24
HGCUncalibRecHitDevice::HGCUncalibRecHitDevice
HGCUncalibRecHitDevice()=default
device_unique_ptr.h
HGCUncalibRecHitDevice::nBytes
uint32_t nBytes() const
Definition:
HGCUncalibRecHitDevice.h:26
HGCUncalibRecHitSoA
Definition:
HGCUncalibRecHitSoA.h:6
HGCUncalibRecHitDevice
Definition:
HGCUncalibRecHitDevice.h:11
HGCUncalibRecHitDevice::pad
uint32_t pad() const
Definition:
HGCUncalibRecHitDevice.h:25
HGCUncalibRecHitDevice::sizes_
static constexpr std::array< int, memory::npointers::ntypes_hgcuncalibrechits_soa > sizes_
Definition:
HGCUncalibRecHitDevice.h:31
HGCUncalibRecHitDevice::nhits_
uint32_t nhits_
Definition:
HGCUncalibRecHitDevice.h:36
nhits
Definition:
HIMultiTrackSelector.h:42
HGCRecHitSoA.h
HGCUncalibRecHitSoA.h
cms::cuda::device::unique_ptr
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
Definition:
device_unique_ptr.h:33
HGCUncalibRecHitDevice::pad_
uint32_t pad_
Definition:
HGCUncalibRecHitDevice.h:35
HGCUncalibRecHitDevice::get
HGCUncalibRecHitSoA get() const
Definition:
HGCUncalibRecHitDevice.h:23
HGCUncalibRecHitDevice::defineSoAMemoryLayout_
void defineSoAMemoryLayout_()
Definition:
HGCUncalibRecHitDevice.cc:11
Generated for CMSSW Reference Manual by
1.8.16