Simplify algorithm definition
This merge request changes the way algorithm dependencies are defined. Now, an extra argument must be present in the ALGORITHM
definition.
- Algorithms are defined now as
ALGORITHM(global_function, desired_type, ARGUMENTS(dev_a, dev_b, ...))
. This will determine the arguments of the function. - The above effectively replaces the functionality of the file
AlgorithmDependencies.cuh
. - Arguments now live in several files:
ArgumentsCommon.cuh
,ArgumentsVelo.cuh
,ArgumentsUT.cuh
and so on. The required files should be included in the CUDA header defining the algorithm. - The Scheduler has been updated accordingly to the new format.
- The format of the Visitor functions has been slightly changed, since they don't require any knowledge of the
Scheduler
orArgumentManager
anymore. EachHandler
has anstd::tuple
of references to the types defined in theARGUMENTS
. - This MR improves the compilation time.
Edited by Daniel Hugo Campora Perez