CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types
CAHitNtupletGeneratorKernelsGPU< TrackerTraits > Class Template Reference

#include <CAHitNtupletGeneratorKernels.h>

Inheritance diagram for CAHitNtupletGeneratorKernelsGPU< TrackerTraits >:
CAHitNtupletGeneratorKernels< cms::cudacompat::GPUTraits, TrackerTraits >

Public Member Functions

void allocateOnGPU (int32_t nHits, cudaStream_t stream)
 
void buildDoublets (const HitsConstView &hh, int32_t offsetBPIX2, cudaStream_t stream)
 
void classifyTuples (const HitsConstView &hh, TkSoAView &track_view, cudaStream_t cudaStream)
 
void launchKernels (const HitsConstView &hh, TkSoAView &track_view, cudaStream_t cudaStream)
 
- Public Member Functions inherited from CAHitNtupletGeneratorKernels< cms::cudacompat::GPUTraits, TrackerTraits >
void allocateOnGPU (int32_t nHits, cudaStream_t stream)
 
void buildDoublets (const HitsConstView &hh, cudaStream_t stream)
 
 CAHitNtupletGeneratorKernels (Params const &params)
 
void classifyTuples (const HitsConstView &hh, TkSoAView &track_view, cudaStream_t cudaStream)
 
void cleanup (cudaStream_t cudaStream)
 
void launchKernels (const HitsConstView &hh, TkSoAView &track_view, cudaStream_t cudaStream)
 
void setCounters (Counters *counters)
 
TupleMultiplicity const * tupleMultiplicity () const
 
 ~CAHitNtupletGeneratorKernels ()=default
 

Static Public Member Functions

static void printCounters (Counters const *counters)
 
- Static Public Member Functions inherited from CAHitNtupletGeneratorKernels< cms::cudacompat::GPUTraits, TrackerTraits >
static void printCounters (Counters const *counters)
 

Private Types

using CAParams = caHitNtupletGenerator::CAParamsT< TrackerTraits >
 
using CellNeighborsVector = caStructures::CellNeighborsVectorT< TrackerTraits >
 
using CellTracksVector = caStructures::CellTracksVectorT< TrackerTraits >
 
using Counters = caHitNtupletGenerator::Counters
 
using HitContainer = typename TrackSoA< TrackerTraits >::HitContainer
 
using HitsConstView = TrackingRecHitSoAConstView< TrackerTraits >
 
using HitToTuple = caStructures::HitToTupleT< TrackerTraits >
 
using Params = caHitNtupletGenerator::ParamsT< TrackerTraits >
 
using TkSoAView = TrackSoAView< TrackerTraits >
 
using TupleMultiplicity = caStructures::TupleMultiplicityT< TrackerTraits >
 

Additional Inherited Members

- Public Types inherited from CAHitNtupletGeneratorKernels< cms::cudacompat::GPUTraits, TrackerTraits >
using CACell = GPUCACellT< TrackerTraits >
 
using CAParams = caHitNtupletGenerator::CAParamsT< TrackerTraits >
 
using CellCuts = gpuPixelDoublets::CellCutsT< TrackerTraits >
 
using CellNeighbors = caStructures::CellNeighborsT< TrackerTraits >
 
using CellNeighborsVector = caStructures::CellNeighborsVectorT< TrackerTraits >
 
using CellTracks = caStructures::CellTracksT< TrackerTraits >
 
using CellTracksVector = caStructures::CellTracksVectorT< TrackerTraits >
 
using Counters = caHitNtupletGenerator::Counters
 
using HitContainer = typename TrackSoA< TrackerTraits >::HitContainer
 
using HitsConstView = TrackingRecHitSoAConstView< TrackerTraits >
 
using HitsView = TrackingRecHitSoAView< TrackerTraits >
 
using HitToTuple = caStructures::HitToTupleT< TrackerTraits >
 
using OuterHitOfCell = caStructures::OuterHitOfCellT< TrackerTraits >
 
using OuterHitOfCellContainer = caStructures::OuterHitOfCellContainerT< TrackerTraits >
 
using Params = caHitNtupletGenerator::ParamsT< TrackerTraits >
 
using Quality = pixelTrack::Quality
 
using QualityCuts = pixelTrack::QualityCutsT< TrackerTraits >
 
using TkSoAView = TrackSoAView< TrackerTraits >
 
using TrackerTraits = TrackerTraits
 
using Traits = cms::cudacompat::GPUTraits
 
using TupleMultiplicity = caStructures::TupleMultiplicityT< TrackerTraits >
 
using unique_ptr = typename Traits::template unique_ptr< T >
 
- Protected Member Functions inherited from CAHitNtupletGeneratorKernels< cms::cudacompat::GPUTraits, TrackerTraits >
uint32_t nDoubletBlocks (uint32_t blockSize)
 Compute the number of doublet blocks for block size. More...
 
uint32_t nQuadrupletBlocks (uint32_t blockSize)
 Compute the number of quadruplet blocks for block size. More...
 
- Protected Attributes inherited from CAHitNtupletGeneratorKernels< cms::cudacompat::GPUTraits, TrackerTraits >
unique_ptr< unsigned char[]> cellStorage_
 
Counterscounters_
 
unique_ptr< CellCutsdevice_cellCuts_
 
unique_ptr< HitToTupledevice_hitToTuple_
 
cms::cuda::AtomicPairCounterdevice_hitToTuple_apc_
 
unique_ptr< uint32_t[]> device_hitToTupleStorage_
 
cms::cuda::AtomicPairCounterdevice_hitTuple_apc_
 
unique_ptr< OuterHitOfCellContainer[]> device_isOuterHitOfCell_
 
uint32_t * device_nCells_
 
unique_ptr< cms::cuda::AtomicPairCounter::c_type[]> device_storage_
 
unique_ptr< CellNeighborsVectordevice_theCellNeighbors_
 
CellNeighborsdevice_theCellNeighborsContainer_
 
unique_ptr< CACell[]> device_theCells_
 
unique_ptr< CellTracksVectordevice_theCellTracks_
 
CellTracksdevice_theCellTracksContainer_
 
unique_ptr< TupleMultiplicitydevice_tupleMultiplicity_
 
HitToTuple::View hitToTupleView_
 
OuterHitOfCell isOuterHitOfCell_
 
Params params_
 
const uint32_t paramsMaxDoubletes3Quarters_
 Intermediate result avoiding repeated computations. More...
 

Detailed Description

template<typename TrackerTraits>
class CAHitNtupletGeneratorKernelsGPU< TrackerTraits >

Definition at line 295 of file CAHitNtupletGeneratorKernels.h.

Member Typedef Documentation

◆ CAParams

Definition at line 299 of file CAHitNtupletGeneratorKernels.h.

◆ CellNeighborsVector

Definition at line 303 of file CAHitNtupletGeneratorKernels.h.

◆ CellTracksVector

Definition at line 305 of file CAHitNtupletGeneratorKernels.h.

◆ Counters

template<typename TrackerTraits >
using CAHitNtupletGeneratorKernelsGPU< TrackerTraits >::Counters = caHitNtupletGenerator::Counters
private

Definition at line 298 of file CAHitNtupletGeneratorKernels.h.

◆ HitContainer

template<typename TrackerTraits >
using CAHitNtupletGeneratorKernelsGPU< TrackerTraits >::HitContainer = typename TrackSoA<TrackerTraits>::HitContainer
private

Definition at line 301 of file CAHitNtupletGeneratorKernels.h.

◆ HitsConstView

Definition at line 308 of file CAHitNtupletGeneratorKernels.h.

◆ HitToTuple

Definition at line 304 of file CAHitNtupletGeneratorKernels.h.

◆ Params

Definition at line 311 of file CAHitNtupletGeneratorKernels.h.

◆ TkSoAView

template<typename TrackerTraits >
using CAHitNtupletGeneratorKernelsGPU< TrackerTraits >::TkSoAView = TrackSoAView<TrackerTraits>
private

Definition at line 309 of file CAHitNtupletGeneratorKernels.h.

◆ TupleMultiplicity

Definition at line 306 of file CAHitNtupletGeneratorKernels.h.

Member Function Documentation

◆ allocateOnGPU()

template<typename TrackerTraits >
void CAHitNtupletGeneratorKernelsGPU< TrackerTraits >::allocateOnGPU ( int32_t  nHits,
cudaStream_t  stream 
)

◆ buildDoublets()

template<typename TrackerTraits >
void CAHitNtupletGeneratorKernelsGPU< TrackerTraits >::buildDoublets ( const HitsConstView hh,
int32_t  offsetBPIX2,
cudaStream_t  stream 
)

◆ classifyTuples()

template<typename TrackerTraits >
void CAHitNtupletGeneratorKernelsGPU< TrackerTraits >::classifyTuples ( const HitsConstView hh,
TkSoAView track_view,
cudaStream_t  cudaStream 
)

◆ launchKernels()

template<typename TrackerTraits >
void CAHitNtupletGeneratorKernelsGPU< TrackerTraits >::launchKernels ( const HitsConstView hh,
TkSoAView track_view,
cudaStream_t  cudaStream 
)

◆ printCounters()

template<typename TrackerTraits >
static void CAHitNtupletGeneratorKernelsGPU< TrackerTraits >::printCounters ( Counters const *  counters)
static