Integrate UT decoding onto sequence.
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 intout 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. ExtendedUTHits
datatype generated by UT decoding with methods ofhitsSOA
. - 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 toinput/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 ofunits
(converted payload tochar*
).
Edited by Daniel Hugo Campora Perez