Skip to content

Integrate UT decoding onto sequence.

Daniel Campora Perez requested to merge dcampora_ut_decoding into master

Closes https://gitlab.cern.ch/lhcb-parallelization/cuda_hlt/issues/11

This MR adds the UT decoding into the sequence.

  • ut estimate number of hits refactored into ut calculate number of hits.
  • Prefix sum added after ut calculate number of hits.
  • Full list of algorithms for the UT are, in order: ut_calculate_number_of_hits, prefix_sum_reduce_ut_hits, prefix_sum_single_block_ut_hits, prefix_sum_scan_ut_hits, decode_raw_banks, sort_by_x, veloUT.
  • Dropped UT hits loading in favour of just loading UT raw data and decoding it.
  • Deprecated hitsSOA datatype. Extended UTHits datatype generated by UT decoding with methods of hitsSOA.
  • Refactored all veloUT code with new datatypes.
  • UT sorting now uses a single block with an additional temp array.
  • Fixed bug of UT decoding by which offsets were wrongly calculated.
  • Input reading has been reworked. InputReader.h contains a base class and specializations for each type of input read.
  • UT magnet reading returns now a std::vector<char>, in consonance with all other readers.
  • Folder input/geometry has been refactored to input/detector_configuration, still configurable with -g.
  • UT magnet txt files have been moved to input/detector_configuration.
  • UT magnet is not loaded onto pinned memory anymore.
  • x86 code is disabled and cannot be enabled, since it would require data that the GPU has already modified. Instead, an issue will be raised for creating another sequence that runs (partially) on CPU.
  • Fixed a bug in reading UT data by which the payload would be offset by units * sizeof(uint32_t) instead of units (converted payload to char*).
Edited by Daniel Campora Perez

Merge request reports