ITS GPU tracking
- General priorities:
- F. Schlepper found some rare (more often in PbPb data) deviations in the deterministic mode, investigations restricted to a few blocks of code (findCellsNeighbours, post-CHEP). ==> Fixed: https://github.com/AliceO2Group/AliceO2/pull/14200
- [WIP] Thrust allocator with external memory management: for the moment it compiles but it does not work, needs dedicated discussion.
- Focusing on porting all of what is possible on the device, extending the state of the art, and minimising computing on the host.
- Moving vertexing routines to the externally managed memory system. -> WIP
- Currently optimising the o2::its::timeframeGPU intialisation GPU transfers, trying to maximise data reuse & anticipating loads when it is possible.
- Optimizations:
- Asynchronous parallelisation in the tracklet finding, i.e. Multi-streaming for obvious parallelisations.
- intelligent scheduling and multi-streaming can happen right after.
- Kernel-level optimisations to be investigated.
TODO:
-
- Reproducer for HIP bug on multi-threaded track fitting: no follow-up yet.
- Fix possible execution issues and known discrepancies when using
gpu-reco-workflow
: no progress.
DCAFitterGPU
- Deterministic approach via using
SMatrixGPU
on the host, under particular configuration: no progress.