NextGenTrigger Task 1.7
- CHEP talk together with Jolly got accepted
Implement NGT SoA Code in O2 standalone benchmark
- Working on this fork of the AliceO2 repo, with a CI pipeline:
- Running on NGT hardware with 4 different GPUs (Nvidia and AMD)
- Extended CI-pipline to fail if GPU.out changes
- Implemented SoA in:
- SectorTracker
- GPUTPCBaseTrackParam
- GPUTPCTrackParam
- GPUTPCTracklet
- GPUTPCTrack
- The SoA library changed a lot in the course of implementing it in O2. Thus I have now adapted:
- Next Steps:
- Make better use of SoA to improve performance
- Try David's suggestion

Issues with AMD W7900 after updating to latest O2
- Providing a .par file with certain Parameters results in non-deterministic behavior, despite deterministic mode.
- Can't create my own .par files with
dumpGPUDefParam.C of newest O2. Yields error incompatible launch bounds.
- The only parameters that worked on W7900 are the ones for MI100 with WARP_SIZE changed to 32.
- Other parameters (e.g. RDNA) yield deterministic behavior, but with a (slightly) different GPU.out than obtained wit other GPUs.
Other issues
- In my setting, I couldn't just add new GPUs to
GPUParameters.csv: The headers of the newly added GPUs were created, but not the corresponding .par files.
- A particular build dependency of O2 is missing on CVMFS: ninja/fortran-v1.11.1.g9-16 (only .g9-15 is present). I am in touch with Sergio.
- In
GPUParameters.csv, the AMD GPUs RDNA and MI210 are missing, but they show up in FindO2GPU.cmake. Is this intended?