Project
Loading...
Searching...
No Matches
GPUMemorySizeScalers.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef O2_GPU_GPUMEMORYSIZESCALERS_H
16#define O2_GPU_GPUMEMORYSIZESCALERS_H
17
18#include "GPUDef.h"
19#include "GPUSettings.h"
20
21namespace o2::gpu
22{
23
25 // Input sizes
26 size_t nTPCdigits = 0;
27 size_t nTPCHits = 0;
28 size_t nTRDTracklets = 0;
29 size_t nITSTracks = 0;
30
31 // General scaling factor
32 float scalingFactor = 1;
33 uint64_t fuzzSeed = 0;
34 uint64_t fuzzLimit = 0;
35 float temporaryFactor = 1;
36
37 // Upper limits
38 size_t tpcMaxPeaks = 20000000;
39 size_t tpcMaxClusters = 320000000;
40 size_t tpcMaxSectorClusters = 30000000;
41 size_t tpcMaxStartHits = 650000;
42 size_t tpcMaxRowStartHits = 100000;
43 size_t tpcMinRowStartHits = 4000;
44 size_t tpcMaxTracklets = 520000;
45 size_t tpcMaxTrackletHits = 35000000;
46 size_t tpcMaxSectorTracks = 130000;
47 size_t tpcMaxSectorTrackHits = 5900000;
48 size_t tpcMaxMergedTracks = 3000000;
49 size_t tpcMaxMergedTrackHits = 200000000;
50 size_t availableMemory = 20500000000;
51 bool returnMaxVal = false;
52 bool doFuzzing = false;
53
54 void rescaleMaxMem(size_t newAvailableMemory);
55 float getScalingFactor();
56 void fuzzScalingFactor(uint64_t seed);
57 size_t getValue(size_t maxVal, size_t val);
58 size_t NTPCPeaks(size_t tpcDigits, bool perSector = false);
59 size_t NTPCClusters(size_t tpcDigits, bool perSector = false);
60 size_t NTPCStartHits(size_t tpcHits);
61 size_t NTPCRowStartHits(size_t tpcHits);
62 size_t NTPCTracklets(size_t tpcHits, bool lowField);
63 size_t NTPCTrackletHits(size_t tpcHits, bool lowField);
64 size_t NTPCSectorTracks(size_t tpcHits);
65 size_t NTPCSectorTrackHits(size_t tpcHits, uint8_t withRejection = 0);
66 size_t NTPCMergedTracks(size_t tpcSectorTracks);
67 size_t NTPCMergedTrackHits(size_t tpcSectorTrackHitss);
68 size_t NTPCUnattachedHitsBase1024(int32_t type);
69};
70
71} // namespace o2::gpu
72
73#endif
GLint GLint GLsizei GLint GLenum GLenum type
Definition glcorearb.h:275
GLuint GLfloat * val
Definition glcorearb.h:1582
size_t NTPCTracklets(size_t tpcHits, bool lowField)
size_t NTPCUnattachedHitsBase1024(int32_t type)
size_t NTPCRowStartHits(size_t tpcHits)
size_t NTPCMergedTracks(size_t tpcSectorTracks)
size_t NTPCSectorTracks(size_t tpcHits)
size_t NTPCTrackletHits(size_t tpcHits, bool lowField)
size_t NTPCPeaks(size_t tpcDigits, bool perSector=false)
size_t NTPCClusters(size_t tpcDigits, bool perSector=false)
void rescaleMaxMem(size_t newAvailableMemory)
size_t NTPCMergedTrackHits(size_t tpcSectorTrackHitss)
size_t NTPCSectorTrackHits(size_t tpcHits, uint8_t withRejection=0)
size_t getValue(size_t maxVal, size_t val)