Skip to content

VecGeom CMake Update

Guilherme Amadio requested to merge vecgeom-cmake-update into master

This branch drops some of the CMakeLists.txt for compilation flags to use VecCore CMake modules.
This is important to make it easy to configure VecGeom for KNC/KNL and to use other host compilers (ICC, Clang) to compile with CUDA enabled.
Currently, the compilation options are not exactly the same, so I need help to make sure that we preserve everything working as before.

The build is expected to fail, since UMESIMD fixes are not merged yet, but the other phases are expected to pass.

Changes: -DVECGEOM_VECTOR=x to -DTARGET_ISA=x, and now knc and knl can be passed to compile for KNC/KNL (with checks performed by the CMake module to ensure there's support).
GCC can be used to compile for KNL in this fashion, but only for the scalar backend. To use a different host compiler for CUDA, just set it with e.g. -DCMAKE_CXX_COMPILER=icpc.
Supported versions are <= GCC 5.3.0, <= Clang 3.8.0 (Linux), <= ICC 16.0.2. Not sure what version of AppleClang is supported, but it's supported.

Merge request reports