1. 19 Jun, 2021 3 commits
  2. 18 Jun, 2021 6 commits
  3. 17 Jun, 2021 2 commits
    • David Frank's avatar
    • David Frank's avatar
      Move asIndex to core renamed to asUnsigned, add asSigned · 3558eb04
      David Frank authored
      Some more functionality was added with the TypeCasts.hpp file:
      * is(...): check if a pointer/reference/unique_ptr can be dynamically
        casted to the derived type
      * downcast(...): downcast a pointer/reference/unique_ptr statically to
        the derived type, assumes caller knows that the type is correct.
      * downcast_safe(...): downcast a pointer/reference/unique_ptr to the
        derived type, but only if it's possible. If not a nullptr is returned
        for the pointer cases and std::bad_cast is thrown for the reference
  4. 16 Jun, 2021 1 commit
  5. 12 Jun, 2021 1 commit
  6. 11 Jun, 2021 1 commit
    • David Frank's avatar
      Improve output style of CI scripts, use clang-format --dry-run · a41e87b2
      David Frank authored and Tobias Lasser's avatar Tobias Lasser committed
      The clang-format test script now relies on clang-format's (now) in-build
      functionality to check for wrong formatting instead of actually
      performing or committing the formated changes and then reverting them.
      From a perceived behaviour standpoint nothing has changed, it should now
      only be more convenient to use the script, as it doesn't require a
      clean git state anymore.
      Further, all formatting and linting scripts run only on the changed
      files rather than on the whole codebase. Plus they have some nicer
      looking output :^)
  7. 10 Jun, 2021 2 commits
  8. 08 Jun, 2021 1 commit
    • David Frank's avatar
      #90 Add formatting and linting using cmake-format · d54fa670
      David Frank authored and Tobias Lasser's avatar Tobias Lasser committed
      The cmakelang package (see https://github.com/cheshirekow/cmake_format)
      provides tools for linting and formatting CMake files. This commit
      provides a basic infrastructure to make use of it.
      First, the necessary formatting style file is added
      ('.cmake-format.py'). For many cases, the CMake files don't fulfill
      these requirements yet, therefore, many linting checks are still
      Second, scripts and CI stages (only for linting) are added, which are
      run alongside clang-format and clang-tidy. Currently, the formatting
      job is not run, as the files are not yet formatted correctly.
      Future MRs should work on slowly reducing the disabled codes.
      Close #90
  9. 07 Jun, 2021 2 commits
    • David Frank's avatar
      Use GCC 10 for sanitizer build · ffc8d708
      David Frank authored
    • David Frank's avatar
      Reduce scope of caching in CI to a cache per job and branch · 84e2cfbf
      David Frank authored
      As found in MR !153, the scope of the caches in the CI were chosen to
      large. Therefore it could happen, that sporadically a build job, would
      pick a cache from the clang-tidy run, which initializes with the
      "Makefile" generator rather than Ninja. This would cause the pipeline to
      Now, the caching is more conservative, there is one cache for each
      job-branch combination. This should completely resolve this issue, but
      it's also not optimal from a space requirement, but I'd rather use more
      disk space on the build server, than have sporadic failures of the CI.
  10. 04 Jun, 2021 1 commit
  11. 02 Jun, 2021 2 commits
  12. 01 Jun, 2021 3 commits
  13. 30 May, 2021 1 commit
    • David Frank's avatar
      Handle standard *nix paths to find Cudnn · 538c94ea
      David Frank authored
      CUDA is often installed in either /usr/local/cuda
      or /opt/cuda. Therefore, add these paths to the search
      path for Cudnn. The paths are now quite similar
      to finding Cublas.
  14. 27 May, 2021 1 commit
  15. 26 May, 2021 1 commit
  16. 20 May, 2021 1 commit
    • David Frank's avatar
      Add CMake function, to add warnings to a target · a8bcbd51
      David Frank authored
      set_target_warnings(<target>) adds a set of warnings to a target. elsa
      now differentiates between two warning levels: 'base' and 'all'.
      Currently, only base will be tested to keep the compability.
      From time to time, we can move warnings from the all warnings to the
      base warning level and fix some of the warnings.
  17. 18 May, 2021 2 commits
    • David Frank's avatar
      Use CMAKE_CUDA_ARCHITECTURES to determine compute capabilities · 1cd68aff
      David Frank authored
      In CMake 3.18 the (CMAKE_)CUDA_ARCHITECTURES variables were introduced.
      CMake uses them to pass the compute capabilities to the CUDA compiler.
      Therefore, for CMake versions 3.18 and higher, we rely on this CMake
      behaviour and while we still support previous versions, the previous
      behaviour is still kept around.
      CMAKE_CUDA_ARCHITECTURES is set to 'Auto' by default, which is
      equivalent to the previous CUDA_ARCH variables that was used.
      Overwriting via the command line is possible for cross compilation of
      CUDA code.
    • David Frank's avatar
      #116 Rename CMake functions to snake_case and macros to SNAKE_CASE · 71247d30
      David Frank authored
      The following functions are renamed:
      * code-coverage functions (CodeCoverage.cmake)
      * Function to determine compue capabilities of cuda
      * internal functions in FindLLVM.cmake to _snake_case
      * functions to install elsa modules (InstallElsaModule.cmake)
      * Consistently call GENERATE_BINDINGS as SNAKE_CASE
      * registerComponents to register_module (elsa/CMakeLists.txt)
      * AddElsaModule to follow snake_case convention (elsa/CMakeLists.txt)
      Also arguments to certain functions are now using lower case, to follow
      more conventional standards.
  18. 17 May, 2021 1 commit
  19. 12 May, 2021 4 commits
  20. 10 May, 2021 1 commit
  21. 07 May, 2021 1 commit
  22. 06 May, 2021 1 commit
  23. 05 May, 2021 1 commit