Alice Weekly Meeting: Software for Hardware Accelerators

→ Europe/Zurich
Zoom Meeting ID
61230224927
Host
David Rohr
Useful links
Join via phone
Zoom URL
    • 10:00 → 10:20
      Discussion 20m
      Speaker: David Rohr (CERN)
    • 10:20 → 10:25
      TPC ML Clustering 5m
      Speaker: Christian Sonnabend (CERN)

      Neural network seeding vector (https://github.com/AliceO2Group/AliceO2/pull/15756)

      • Found a bug in the implementation (missing setting during application, seeding vectors were never used) -> Fixed
      • Results don't change much. 0-100% centrality is mostly unchanged, but one improvement can be seen in 0-5% centrality enforced simulation

       

      Is it worth the complications? 🤷‍♂️

       

      ROOT: TMVA SOFIE inference of .onnx models on the EPNs

      • Discussion during ROOT Q3 meeting last week: ALICE has great interest to give SOFIE a try
      • One night of synergetic work between me and ChatGPT Codex: Huston, we have liftoff!
        • ROOT PR: https://github.com/root-project/root/pull/23657 (required as dev package for epn build)
        • O2 PR: https://github.com/AliceO2Group/AliceO2/pull/15913
        • alienist PR: https://github.com/alisw/alidist/pull/6369

       

      This brings:

      • Support for cuda_ / hip_stream
      • GPU code generation and on-the-fly compilation of .onnx models. Inflight-CCDB-loaded models are supported
      • Support for FP16 and FP32
      • Support for dense layers and ReLU operations
      • Support for memory arena pointer (provided by reco framework as scratch allocation)
      • Direct interface with SOFIE's generalised kernel generation code

       

      Brevitas presentation

      • Slides attached, please have a look
      • Presentation is next Monday at 14:30

       

    • 10:25 → 10:30
      GPU Parameter Optimizations 5m
      Speaker: Gabriele Cimador (CERN, Università and INFN Torino)
    • 10:30 → 10:35
      Efficient Data Structures 5m
      Speaker: Dr Oliver Gregor Rietmann (CERN)
       

      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

       

      • Make better use of SoA to improve performance
        • ExtrapolationTracking
          • Register spill from rowHits array, but the accesses are not coalesced.
          • global memory loads on average use only 4.4 out of 32 bytes sector.
          • active warps per thread changed from 2.65 out of 32 (8%) to 
          • I made TrackletSelector filter the Tracklets that cross sector boundaries, so that we extrapolate only those.
          • Sorting extrapolation candidates by estimated length (row where it leaves the sector): Made kernel duration 18% faster on average.

       

      metric old new newer
      active warps per thread 3 / 32 15 / 32 18 / 32
      average SM occupancy 26% 10% 9.38%
      bytes utilized per loaded sector 4.4 / 32 12 / 32 11.6 / 32
      register spill to lcoal memory (bytes) 1,402,723 19,308 18,003

       

      • Next Steps
        • Put sorting for TrackletSelector and ExtrapolationTracking together and see if we can avoid code dublication.
        • Try AoS vs SoA again.
        • Generate GPU parameters .csv file for the newest changes.
    • 10:40 → 10:45
      TPC Clusterization / OpenCL / Highly Ionizing Particles 5m
      Speaker: Felix Weiglhofer (CERN)
    • 10:45 → 10:50
      ITS Tracking 5m
      Speakers: Felix Schlepper (CERN, Heidelberg University (DE)), Gabriele Cimador (CERN, Università and INFN Torino), Matteo Concas (CERN)
    • 10:50 → 10:55
      System Run Coordination Topics 5m
      Speaker: Ernst Hellbar (CERN)