Skip to content

Draft: make FT decoding faster

Louis Henry requested to merge lohenry-rewriteDecoding into 2024-patches

In collaboration with @dtou.

  • Change variable names to make them clearer;
  • Add comments, marked with LoH-DYT, to indicate possibilities that are not yet part of the code;
  • Change the way geometry is accessed in PreDecode by only reading it when changing mat;
  • Reduce the size of ints whenever possible, indicate in other parts when it is not yet done.

Local tests indicate a throughput change from 104.2 kHz (2024-patches) to 106.3 (this MR) without changes in the result of the decoding. Those gains should scale well with lumi since I suspect the main gain is from accessing geometry nTimesMatHasACluster times rather than nCluster times.

Another possibility not yet explored is to rearrange the way the geometry is accessed in the final kernel (SciFiRawBankDecoder) since:

  • all geometry accesses are done by cluster whereas they only depend on the mat;
  • geometry data members are actually far away in memory whereas they could be put in a partially AoS structure.
Edited by Louis Henry

Merge request reports