1 #ifndef CUDADataFormats_TrackingRecHit_interface_TrackingRecHit2DHeterogeneous_h 2 #define CUDADataFormats_TrackingRecHit_interface_TrackingRecHit2DHeterogeneous_h 8 template <
typename Traits>
49 float* store32, uint16_t* store16, uint32_t*
modules,
int nHits, cudaStream_t
stream =
nullptr);
81 static constexpr uint32_t
n16 = 4;
82 static constexpr uint32_t
n32 = 10;
83 static_assert(
sizeof(uint32_t) ==
sizeof(
float));
113 template <
typename Traits>
119 uint32_t
const* hitsModuleStart,
122 : m_nHits(
nHits), m_offsetBPIX2(offsetBPIX2), m_hitsModuleStart(hitsModuleStart) {
137 if constexpr (std::is_same_v<Traits, cms::cudacompat::GPUTraits>) {
152 if constexpr (std::is_same_v<Traits, cms::cudacompat::HostTraits>) {
181 if constexpr (!std::is_same_v<Traits, cms::cudacompat::HostTraits>) {
200 if constexpr (std::is_same_v<Traits, cms::cudacompat::GPUTraits>) {
208 template <
typename Traits>
219 if constexpr (std::is_same_v<Traits, cms::cudacompat::GPUTraits>) {
236 if constexpr (std::is_same_v<Traits, cms::cudacompat::GPUTraits>) {
270 if constexpr (std::is_same_v<Traits, cms::cudacompat::GPUTraits>) {
277 #endif // CUDADataFormats_TrackingRecHit_interface_TrackingRecHit2DHeterogeneous_h unique_ptr< float[]> m_store32
PhiBinner::index_type * m_phiBinnerStorage
uint32_t * m_hitsLayerStart
cms::cuda::host::unique_ptr< float[]> localCoordToHostAsync(cudaStream_t stream) const
constexpr uint32_t numberOfLayers
cms::cuda::host::unique_ptr< uint32_t[]> hitsModuleStartToHostAsync(cudaStream_t stream) const
void copyFromGPU(TrackingRecHit2DHeterogeneous< cms::cudacompat::GPUTraits > const *input, cudaStream_t stream)
unique_ptr< TrackingRecHit2DSOAView > m_view
static constexpr uint32_t n32
~TrackingRecHit2DHeterogeneous()=default
constexpr uint32_t numberOfModules
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
uint32_t * m_hitsLayerStart
uint32_t const * m_hitsModuleStart
static std::string const input
typename Traits::template unique_ptr< T > unique_ptr
unique_ptr< uint16_t[]> m_store16
static constexpr uint32_t n16
auto hitsModuleStart() const
typename Base::index_type index_type
cms::cuda::HistoContainer< int16_t, 256, -1, 8 *sizeof(int16_t), hindex_type, pixelTopology::maxLayers > PhiBinner
unique_ptr< TrackingRecHit2DSOAView::AverageGeometry > m_AverageGeometryStore
void copyAsync(device::unique_ptr< T > &dst, const host::unique_ptr< T > &src, cudaStream_t stream)
cms::cuda::host::unique_ptr< float[]> store32ToHostAsync(cudaStream_t stream) const
def template(fileName, svg, replaceme="REPLACEME")
PhiBinner::index_type * m_phiBinnerStorage
TrackingRecHit2DHeterogeneous & operator=(const TrackingRecHit2DHeterogeneous &)=delete
TrackingRecHit2DSOAView const * view() const
constexpr uint32_t numberOfModules
TrackingRecHit2DHeterogeneous()=default
AverageGeometry * m_averageGeometry
caConstants::TupleMultiplicity const CAHitNtupletGeneratorKernelsGPU::HitToTuple const cms::cuda::AtomicPairCounter GPUCACell const *__restrict__ uint32_t const *__restrict__ gpuPixelDoublets::CellNeighborsVector const gpuPixelDoublets::CellTracksVector const GPUCACell::OuterHitOfCell const int32_t nHits
constexpr uint8_t numberOfLayers
uint32_t const * m_hitsModuleStart
std::unique_ptr< T, impl::HostDeleter > unique_ptr
pixelCPEforGPU::ParamsOnGPU const * m_cpeParams
TrackingRecHit2DSOAView * view()
cms::cuda::host::unique_ptr< uint16_t[]> store16ToHostAsync(cudaStream_t stream) const
unique_ptr< TrackingRecHit2DSOAView::PhiBinner > m_PhiBinnerStore