Skip to content

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 or ArgumentManager anymore. Each Handler has an std::tuple of references to the types defined in the ARGUMENTS.
  • This MR improves the compilation time.
Edited by Daniel Campora Perez

Merge request reports