TODOs (help welcome)
- validate new features if they also work on GPU
- deltaROF tracking currently not working have to check why and fix. (FIXED)
- otherwise everything used in production should be there
- porting Vertexing code to GPU (in progress)
- optimize GPU part:
- `started` using multiple streams very much in its toddlerhood (see below)
- optimise load times/processing etc. (probably [not measured] parts could be improved)
- optimise number of blocks/threads per kernel (for Pb-Pb + pp sep., fairly small number of kernels to be optimised)
- meeting with Gabriele & David, Gabriele will no start digging in
- Have a CI procedure/periodic check that runs ITS GPU reconstruction and then gets some automatic checks and numbers (deterministic mode is more important)
- Have a test with TPC&ITS for async production on epns
- PbPb might be problematic, need to understand when GPU memory is freed using the framework allocator
- saw an increase in dropped TFs (dropped meaning ITS code exceeded avail. memory, caught the std::bad_alloc and outputted 0 tracks, not crashing processing) using TPC, ITS GPU in high int. rate (40kHz) Pb-Pb
(request by David&Vasco for some ALICE3 hardware estimates with current algorithm, we have some ideas but need to refine a bit)
AliceO2#14563
Total time in its_time_benchmarks_old.txt: 108960.237939
Total time in its_time_benchmarks_new.txt: 91904.873816
Difference (file2 - file1): -17055.364123
Relative change: -15.65%
Metric: cell_finding
its_time_benchmarks_old.txt: 5229.111419 (4.80% of total)
its_time_benchmarks_new.txt: 3776.888696 (4.11% of total)
Difference (file2 - file1): -1452.222723
Relative change: -27.77%
Metric: neighbour_finding
its_time_benchmarks_old.txt: 15058.566217 (13.82% of total)
its_time_benchmarks_new.txt: 13635.751449 (14.84% of total)
Difference (file2 - file1): -1422.814768
Relative change: -9.45%
Metric: road_finding
its_time_benchmarks_old.txt: 54911.194296 (50.40% of total)
its_time_benchmarks_new.txt: 53212.793432 (57.90% of total)
Difference (file2 - file1): -1698.400864
Relative change: -3.09%
Metric: timeframe_initialisation
its_time_benchmarks_old.txt: 1323.038784 (1.21% of total)
its_time_benchmarks_new.txt: 1205.854911 (1.31% of total)
Difference (file2 - file1): -117.183873
Relative change: -8.86%
Metric: tracklet_finding
its_time_benchmarks_old.txt: 32438.327223 (29.77% of total)
its_time_benchmarks_new.txt: 20073.585328 (21.84% of total)
Difference (file2 - file1): -12364.741895
Relative change: -38.12%