Skip to content

Commit

Permalink
Update comments about GPU_SMALL_EVENTS
Browse files Browse the repository at this point in the history
  • Loading branch information
fwyzard committed Dec 15, 2020
1 parent c099c10 commit c362200
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,22 @@

namespace pixelGPUConstants {
#ifdef GPU_SMALL_EVENTS
// kept for testing and debugging
constexpr uint32_t maxNumberOfHits = 24 * 1024;
#else
constexpr uint32_t maxNumberOfHits =
48 * 1024; // data at pileup 50 has 18300 +/- 3500 hits; 40000 is around 6 sigma away
// data at pileup 50 has 18300 +/- 3500 hits; 40000 is around 6 sigma away
// tested on MC events with 55-75 pileup events
constexpr uint32_t maxNumberOfHits = 48 * 1024;
#endif
} // namespace pixelGPUConstants

namespace gpuClustering {
#ifdef GPU_SMALL_EVENTS
// kept for testing and debugging
constexpr uint32_t maxHitsInIter() { return 64; }
#else
// optimized for real data PU 50
// tested on MC events with 55-75 pileup events
constexpr uint32_t maxHitsInIter() { return 160; }
#endif
constexpr uint32_t maxHitsInModule() { return 1024; }
Expand Down
2 changes: 2 additions & 0 deletions CUDADataFormats/Track/interface/PixelTrackHeterogeneous.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,10 @@ class TrackSoAT {
namespace pixelTrack {

#ifdef GPU_SMALL_EVENTS
// kept for testing and debugging
constexpr uint32_t maxNumber() { return 2 * 1024; }
#else
// tested on MC events with 55-75 pileup events
constexpr uint32_t maxNumber() { return 32 * 1024; }
#endif

Expand Down
38 changes: 17 additions & 21 deletions RecoPixelVertexing/PixelTriplets/plugins/CAConstants.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,49 +10,45 @@
#include "HeterogeneousCore/CUDAUtilities/interface/VecArray.h"
#include "HeterogeneousCore/CUDAUtilities/interface/HistoContainer.h"

// #define ONLY_PHICUT
//#define ONLY_PHICUT

namespace CAConstants {

// constants
#ifndef ONLY_PHICUT
#ifdef ONLY_PHICUT
constexpr uint32_t maxNumberOfTuples() { return 48 * 1024; }
constexpr uint32_t maxNumberOfDoublets() { return 2 * 1024 * 1024; }
constexpr uint32_t maxCellsPerHit() { return 8 * 128; }
#else
#ifdef GPU_SMALL_EVENTS
// kept for testing and debugging
constexpr uint32_t maxNumberOfTuples() { return 3 * 1024; }
constexpr uint32_t maxNumberOfDoublets() { return 128 * 1024; }
constexpr uint32_t maxCellsPerHit() { return 128 / 2; }
#else
// tested on MC events with 55-75 pileup events
constexpr uint32_t maxNumberOfTuples() { return 24 * 1024; }
#endif
#else
constexpr uint32_t maxNumberOfTuples() { return 48 * 1024; }
#endif
constexpr uint32_t maxNumberOfQuadruplets() { return maxNumberOfTuples(); }
#ifndef ONLY_PHICUT
#ifndef GPU_SMALL_EVENTS
constexpr uint32_t maxNumberOfDoublets() { return 512 * 1024; }
constexpr uint32_t maxCellsPerHit() { return 128; }
#else
constexpr uint32_t maxNumberOfDoublets() { return 128 * 1024; }
constexpr uint32_t maxCellsPerHit() { return 128 / 2; }
#endif
#else
constexpr uint32_t maxNumberOfDoublets() { return 2 * 1024 * 1024; }
constexpr uint32_t maxCellsPerHit() { return 8 * 128; }
#endif
#endif // ONLY_PHICUT
constexpr uint32_t maxNumOfActiveDoublets() { return maxNumberOfDoublets() / 8; }
constexpr uint32_t maxNumberOfQuadruplets() { return maxNumberOfTuples(); }

constexpr uint32_t maxNumberOfLayerPairs() { return 20; }
constexpr uint32_t maxNumberOfLayers() { return 10; }
constexpr uint32_t maxTuples() { return maxNumberOfTuples(); }

// types
using hindex_type = uint32_t; // FIXME from siPixelRecHitsHeterogeneousProduct
using tindex_type = uint16_t; // for tuples
using tindex_type = uint16_t; // for tuples

#ifndef ONLY_PHICUT
using CellNeighbors = cms::cuda::VecArray<uint32_t, 36>;
using CellTracks = cms::cuda::VecArray<tindex_type, 48>;
#else
#ifdef ONLY_PHICUT
using CellNeighbors = cms::cuda::VecArray<uint32_t, 64>;
using CellTracks = cms::cuda::VecArray<tindex_type, 64>;
#else
using CellNeighbors = cms::cuda::VecArray<uint32_t, 36>;
using CellTracks = cms::cuda::VecArray<tindex_type, 48>;
#endif

using CellNeighborsVector = cms::cuda::SimpleVector<CellNeighbors>;
Expand Down

0 comments on commit c362200

Please sign in to comment.