CPU algorithms configurable in sequence and automatic Monte Carlo validation configuration
1 unresolved thread
This MR adds in the ability to configure CPU algorithms in the sequence by a similar method to the existing one. In addition, the Monte Carlo validation iterates over all configured algorithms and is run only for those that were pre-configured to be validated when run.
- CPU algorithms can be configured in the sequence now.
- A CPU_ALGORITHM must be declared, with its function and desired type name. Header files can include CpuHandler.cuh. for this purpose.
- The header file should be included in ConfiguredSequence.cuh.
- Algorithm dependencies must be defined for CPU algorithms too. The dependencies refer only to GPU datatypes.
- A new sequence, CPUSciFi, has been defined.
- The configured sequence is iterated for validation with Monte Carlo data at the end of the sequence, if configured to do so (-c 1).
- Sequence checkers need to be specified under the sequence_checkers/include directory, and included under Stream.cu. The existing ones can also be extended.
- Huge refactoring of the Monte Carlo validation code.
- velopix-input-reader has been refactored into the more fitting name MCEvent.
- Monte Carlo data are only read once for all checkers, and data is replicated into three containers: velo_mcps, ut_mcps and scifi_mcps, with templated data accessors for each.
- All tools to use the checker have been moved to checker/tracking.
- As a consequence, TrackChecking is now a CUDA library, as it requires to know about cuda_runtime.h.
- The class PrCheckerInvoker has been created, and it has a constructor and a single templated check method.
- PrepareTracks holds all methods to prepare tracks, specialized for existing datatypes.
- Obsolete run options have been removed.
-x
no more configures an x86 sequence, this is done at compile time now. The option for the "simplified Kalman filter" has been removed since it was not used anymore. - Printing the memory consumption is only done once after all allocations have taken place.
Merge request reports
Activity
Filter activity
assigned to @dovombru
added 17 commits
-
f4e059d5...1cd813c6 - 16 commits from branch
master
- b0f6619c - Merged
-
f4e059d5...1cd813c6 - 16 commits from branch
added 12 commits
-
d302256c...102d2d5f - 11 commits from branch
master
- ecfbd17e - Merged with latest master.
-
d302256c...102d2d5f - 11 commits from branch
added 5 commits
-
ecfbd17e...ff275409 - 3 commits from branch
master
- 88d3a617 - Merge branch 'master' into dcampora_compile_time_scheduler
- 99efb602 - Merge branch 'dcampora_compile_time_scheduler' into dcampora_cpu_sequence
-
ecfbd17e...ff275409 - 3 commits from branch
added 4 commits
-
99efb602...d94a6eef - 3 commits from branch
master
- 5c7f1b5e - Merge branch 'master' into dcampora_cpu_sequence
-
99efb602...d94a6eef - 3 commits from branch
- Resolved by Daniel Hugo Campora Perez
1 #include "PrForward.cuh" 2 #include "RunForwardCPU.h" 3 4 /** 5 * @brief Specialization for any Velo reconstruction algorithm invoking added 1 commit
- 8387845a - Refactored PrCheckerInvoker into CheckerInvoker.
Please register or sign in to reply