Draft: HLT1 lines to handle Error Banks from each subdetector
HLT1 line which checks error banks inside a specific subdetector, if an error bank is found the event is flagged.
Lines are now general and can be used for any subdetector HLT1ErrorBanks
+subdetector name.
Test made using mep files took 23/05/2022 (/group/hlt/data_hlt1/2022-05-23/LHCb_BU_29.mep) At the moment using only Muon and Calo raw banks as input:
Details on the code:
- ErrorBanksLine.cu is general and takes as input these bank types.
- current list of error banks in ErrorBanksUtils.cuh . This is a hardcoded list based on https://edms.cern.ch/ui/#!master/navigator/document?P:100034379:100699586:subDocs (if changes are made in the numbering this should be changed too)
TO DO (in another MR):
- add functionality to run on Rich1, Rich2 and HCal banks
- make monitoring plots for each line (show error bank types: subdetector specific and DAQ errors)
- if DAQ error = 90, 91 or 94 : read TELL40 + failing link numbers from raw bank and make it available to shifter (who can make an action, for example detach the failing link). Each TELL40 has 24 links.
Replaces !766 (closed)
Merge request reports
Activity
assigned to @ascarabo
added RTA label
mentioned in issue #290 (closed)
added 219 commits
-
2437874a...0a9b6ec8 - 208 commits from branch
propagate_bank_sizes
- 08604bb9 - Sort banks in MDF events
- 8a4bc90f - Adapt selections to direct use of ODIN
- 7a1abb74 - Update integration algorithms to include bank sizes
- b485e9e2 - WIP: Use ODIN::data instead of ODIN in device memory
- 38d0c08b - Also build host libraries with ODIN_WITHOUT_GAUDI
- cdb3fda6 - Fixed formatting
- c82a1779 - Propagate types
- dd9a5358 - HLT1 line error banks (only CALO)
- 93dab7c7 - add provider just for bank types
- 8518d2e9 - creating new HLT1 line for error banks (with raw event model)
- a3ede4c1 - rebased
Toggle commit list-
2437874a...0a9b6ec8 - 208 commits from branch
added 1 commit
- 08675afe - generalize HLT1ErrorBanks line (can be configured per subdetector).
added 234 commits
-
5669736b...f7672d63 - 217 commits from branch
propagate_bank_sizes
- b5107e00 - Sort banks in MDF events
- 4c67469b - Adapt selections to direct use of ODIN
- 07eba4d0 - Update integration algorithms to include bank sizes
- 6d9ba735 - WIP: Use ODIN::data instead of ODIN in device memory
- 13525f54 - Also build host libraries with ODIN_WITHOUT_GAUDI
- ae43df28 - Fixed formatting
- c9d1cfe7 - Propagate types
- ee755be4 - HLT1 line error banks (only CALO)
- c30298eb - add provider just for bank types
- 17c443e7 - creating new HLT1 line for error banks (with raw event model)
- e93561f1 - rebased
- c4423efd - generalize HLT1ErrorBanks line (can be configured per subdetector).
- b486460c - Fixed formatting
- 1cde358e - fix gpu build
- d94400d7 - Fixed formatting
- 82ca3e33 - remove filter (to be integrated in Saverio's MR)
- 249dc3a5 - rebase hlt1 error banks line
Toggle commit list-
5669736b...f7672d63 - 217 commits from branch
added 240 commits
-
249dc3a5...fbd45d14 - 223 commits from branch
master
- 21f540f6 - Sort banks in MDF events
- c6728cd4 - Adapt selections to direct use of ODIN
- 7f941b2b - Update integration algorithms to include bank sizes
- 103bf6e0 - WIP: Use ODIN::data instead of ODIN in device memory
- 4a572a10 - Also build host libraries with ODIN_WITHOUT_GAUDI
- 15d6e964 - Fixed formatting
- 3d8863b4 - Propagate types
- 77642073 - HLT1 line error banks (only CALO)
- 4145f11d - add provider just for bank types
- 31d71d57 - creating new HLT1 line for error banks (with raw event model)
- f41904a5 - rebased
- 51fe661e - generalize HLT1ErrorBanks line (can be configured per subdetector).
- 4a28185a - Fixed formatting
- 06d412d5 - fix gpu build
- 209d5ed8 - Fixed formatting
- cec27e1d - remove filter (to be integrated in Saverio's MR)
- 2dad892a - rebase hlt1 error banks line
Toggle commit list-
249dc3a5...fbd45d14 - 223 commits from branch
requested review from @dcampora
Ciao @dcampora! If this should be ready more or less. You can do a quick check but tests on that mep file work. cc @mfontana
Edited by Alessandro Scarabotto- Resolved by Alessandro Scarabotto
@ascarabo the CUDA build is still failing, because
identifier "Allen::ErrorBanksList" is undefined in device code
. Can you please have another look?
mentioned in issue Moore#444 (closed)
added ci-test-triggered label
- [2022-06-14 16:25] Validation started with lhcb-master-mr#4738
- Resolved by Alessandro Scarabotto
- Resolved by Alessandro Scarabotto
The raw banks and their types always get copied to the device for the Velo, UT, SciFi, ECal and Muon, so the
bank_types_provider
is only needed for the RICH and HCal and should only be used there.
26 PROPERTY(post_scaler_t, "post_scaler", "Post-scaling factor", float) post_scaler; 27 PROPERTY(pre_scaler_hash_string_t, "pre_scaler_hash_string", "Pre-scaling hash string", std::string); 28 PROPERTY(post_scaler_hash_string_t, "post_scaler_hash_string", "Post-scaling hash string", std::string); 29 }; 30 31 struct error_banks_line_t : public SelectionAlgorithm, Parameters, Line<error_banks_line_t, Parameters> { 32 __device__ static bool select(const Parameters& ps, std::tuple<const bool> input); 33 34 __device__ static unsigned offset(const Parameters& parameters, const unsigned event_number) 35 { 36 return event_number * parameters.dev_raw_input_offsets[0]; 37 } 38 39 __device__ static unsigned input_size(const Parameters& parameters, const unsigned) 40 { 41 return parameters.dev_raw_input_offsets[0]; changed this line in version 27 of the diff
- Resolved by Daniel Hugo Campora Perez
I'm not sure it's the best approach to do this on the device, because there is no math at all. Doing this on the host would mean doing the loop over the raw banks and the check for error banks on the host and copying the resulting mask to the device to be used as input to a trivial line.
The throughput doesn't seem to be affected, so this may be academic. What do you think @dcampora?
- Resolved by Alessandro Scarabotto
The handling of ODIN error banks through the mask returned by the input provider is not included. That mask should be used to initialize the event list. If there is an error bank for ODIN, we can't process the event.
requested review from @raaij
mentioned in issue Moore#448 (closed)
mentioned in issue Moore#449 (closed)
added 152 commits
-
1223f3b3...8c223a16 - 126 commits from branch
master
- 08ecc767 - Sort banks in MDF events
- b51a7720 - Adapt selections to direct use of ODIN
- d8f9e23b - Update integration algorithms to include bank sizes
- 8a28a19b - WIP: Use ODIN::data instead of ODIN in device memory
- ab135d93 - Also build host libraries with ODIN_WITHOUT_GAUDI
- 8a4eb83c - Fixed formatting
- 7d568c11 - Propagate types
- eb7fae60 - HLT1 line error banks (only CALO)
- c3919e83 - add provider just for bank types
- 17369dfa - creating new HLT1 line for error banks (with raw event model)
- adcaf3d6 - rebased
- 94c708fe - generalize HLT1ErrorBanks line (can be configured per subdetector).
- 0e33470c - Fixed formatting
- a92a746e - fix gpu build
- e79c6b6f - Fixed formatting
- 4e1f9b15 - remove filter (to be integrated in Saverio's MR)
- 3347d78d - rebase hlt1 error banks line
- 78f7f61d - Fixed formatting
- 353493a4 - rebase cleanup
- 314ee4e7 - cleanup
- 9e41bc6e - GPU fix: binary search
- 82c74bf4 - Fixed formatting
- f794b8dd - make error bank list as std::array
- e1a018a9 - Fixed formatting
- a31a0a82 - remove hardcoded banks in Provider.
- 133bb56b - move error banks sequence.
Toggle commit list-
1223f3b3...8c223a16 - 126 commits from branch
added 56 commits
-
133bb56b...397a445e - 30 commits from branch
master
- 168212e8 - Sort banks in MDF events
- a9161551 - Adapt selections to direct use of ODIN
- 5761cc58 - Update integration algorithms to include bank sizes
- 8ee5aa30 - WIP: Use ODIN::data instead of ODIN in device memory
- 7526bcb4 - Also build host libraries with ODIN_WITHOUT_GAUDI
- 46259fca - Fixed formatting
- 187a2259 - Propagate types
- 41848797 - HLT1 line error banks (only CALO)
- f44d6ed2 - add provider just for bank types
- 9bef3cfd - creating new HLT1 line for error banks (with raw event model)
- 0bb9ef30 - rebased
- ec26fecc - generalize HLT1ErrorBanks line (can be configured per subdetector).
- fd288255 - Fixed formatting
- d44b2644 - fix gpu build
- 77e18e98 - Fixed formatting
- 24faaa1b - remove filter (to be integrated in Saverio's MR)
- 3044d843 - rebase hlt1 error banks line
- d001c34d - Fixed formatting
- 401ddce6 - rebase cleanup
- 3f9e3048 - cleanup
- 4fc3e368 - GPU fix: binary search
- 4670c090 - Fixed formatting
- 21ad190c - make error bank list as std::array
- 01a7c786 - Fixed formatting
- 08fba5d9 - remove hardcoded banks in Provider.
- 8a770843 - move error banks sequence.
Toggle commit list-
133bb56b...397a445e - 30 commits from branch
added 28 commits
- 08ecc767 - Sort banks in MDF events
- b51a7720 - Adapt selections to direct use of ODIN
- d8f9e23b - Update integration algorithms to include bank sizes
- 8a28a19b - WIP: Use ODIN::data instead of ODIN in device memory
- ab135d93 - Also build host libraries with ODIN_WITHOUT_GAUDI
- 8a4eb83c - Fixed formatting
- 7d568c11 - Propagate types
- eb7fae60 - HLT1 line error banks (only CALO)
- c3919e83 - add provider just for bank types
- 17369dfa - creating new HLT1 line for error banks (with raw event model)
- adcaf3d6 - rebased
- 94c708fe - generalize HLT1ErrorBanks line (can be configured per subdetector).
- 0e33470c - Fixed formatting
- a92a746e - fix gpu build
- e79c6b6f - Fixed formatting
- 4e1f9b15 - remove filter (to be integrated in Saverio's MR)
- 3347d78d - rebase hlt1 error banks line
- 78f7f61d - Fixed formatting
- 353493a4 - rebase cleanup
- 314ee4e7 - cleanup
- 9e41bc6e - GPU fix: binary search
- 82c74bf4 - Fixed formatting
- f794b8dd - make error bank list as std::array
- e1a018a9 - Fixed formatting
- a31a0a82 - remove hardcoded banks in Provider.
- 133bb56b - move error banks sequence.
- d3006c19 - add mdf reading.
- 49165274 - fix build rebase.
Toggle commit listadded 63 commits
-
49165274...dabcb506 - 35 commits from branch
master
- a7109c4d - Sort banks in MDF events
- 5042ff52 - Adapt selections to direct use of ODIN
- bcc8e6fb - Update integration algorithms to include bank sizes
- 7c6ace1b - WIP: Use ODIN::data instead of ODIN in device memory
- bff4d066 - Also build host libraries with ODIN_WITHOUT_GAUDI
- 14474131 - Fixed formatting
- 9a5b0a52 - Propagate types
- a9e568f6 - HLT1 line error banks (only CALO)
- 071dd616 - add provider just for bank types
- b914f772 - creating new HLT1 line for error banks (with raw event model)
- 3a3bfabf - rebased
- 939579e5 - generalize HLT1ErrorBanks line (can be configured per subdetector).
- f8f947c7 - Fixed formatting
- b6953df5 - fix gpu build
- c67881d8 - Fixed formatting
- 7d4ac23d - remove filter (to be integrated in Saverio's MR)
- af974dfb - rebase hlt1 error banks line
- c9e02d39 - Fixed formatting
- ae27894d - rebase cleanup
- f70a2f30 - cleanup
- 28feb11c - GPU fix: binary search
- c7097e37 - Fixed formatting
- e519e31e - make error bank list as std::array
- 9232f796 - Fixed formatting
- f1683f2c - remove hardcoded banks in Provider.
- 2b6ad808 - move error banks sequence.
- 7f4aa135 - add mdf reading.
- 6ada9c53 - fix build rebase.
Toggle commit list-
49165274...dabcb506 - 35 commits from branch
mentioned in merge request !927 (merged)
added 41 commits
-
6ada9c53...0fc6d843 - 14 commits from branch
master
- bd4db9be - Sort banks in MDF events
- e5e437a8 - Adapt selections to direct use of ODIN
- 9beaaf88 - Update integration algorithms to include bank sizes
- 03286a91 - WIP: Use ODIN::data instead of ODIN in device memory
- c53f0025 - Also build host libraries with ODIN_WITHOUT_GAUDI
- b67114eb - Fixed formatting
- c9495cd8 - Propagate types
- 9503caff - HLT1 line error banks (only CALO)
- a9f38d20 - add provider just for bank types
- f7406810 - creating new HLT1 line for error banks (with raw event model)
- c8cb6317 - rebased
- 07fe14a7 - generalize HLT1ErrorBanks line (can be configured per subdetector).
- 4dbc8715 - Fixed formatting
- 6ccc86e7 - fix gpu build
- 2f34b23c - Fixed formatting
- d7801f30 - remove filter (to be integrated in Saverio's MR)
- 00046d90 - rebase hlt1 error banks line
- 514292c0 - Fixed formatting
- 3a0dd78e - rebase cleanup
- 07427f45 - cleanup
- a436059c - GPU fix: binary search
- 326190a6 - Fixed formatting
- 1a80fa68 - make error bank list as std::array
- baa41b51 - Fixed formatting
- 3c654ba4 - remove hardcoded banks in Provider.
- 63ce919c - move error banks sequence.
- f61054e6 - use data_provider for banks in use in Allen
Toggle commit list-
6ada9c53...0fc6d843 - 14 commits from branch