Chris White
Chris White
CMake 3.18 seems to add this by default already... ``` cd builddir/blt/tests/smoke && /usr/tce/packages/cuda/cuda-11.0.182/bin/nvcc -forward-unknown-to-host-compiler -ccbin=/usr/tce/packages/clang/clang-upstream-2019.08.15/bin/clang++ -I/usr/tce/packages/cuda/cuda-11.0.182/include -isystem=/usr/tce/packages/spectrum-mpi/ibm/spectrum-mpi-2020.08.19/include -isystem=/usr/tce/packages/spectrum-mpi/ibm/spectrum-mpi-rolling-release/include -arch sm_70 --gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1 -g --generate-code=arch=compute_70,code=[compute_70,sm_70] -Xcompiler=-fPIE -Xcompiler=-pthread -std=c++17 -x cu -c...
This flag was added in CUDA 11 apparently.
I'm sure you know this but CMake will add any target it doesn't know as a system library in hopes that it will find it. ``` target_link_library(foo some_unknown_target) ``` ends...
Still not as easy as CUDA. There should be an equivalent HIP flag (`HIP_SEPARABLE_COMPILATION`) but there isn't: https://gitlab.kitware.com/cmake/cmake/-/issues/23210 It seems for now you have to manually add the flag yourself.
This is a problem with CMake not being able to evaluate any generator expression with COMPILE_LANGUAGE:Fortran in it unless Fortran is enabled as a language. I hit this again today.
From @robinson96 : LC module named `intel/oneapi.2021.2` cmake 3.20 introduced this as `IntelLLVM` as a Compiler Id.
I am for this but this needs to be thoroughly tested replacing spaces with ;'s is not safe. What if your argument has a space in it, like a path?
I think adding tracking and printing of dependencies would be easy and that should be step one. Then adding a recursive ability to print all children info (or all known...
Per John Gyllenhaal, there was a system update to corona on 5/12/2021 that requires these flags to properly link and get AMD GPU test to work: ``` -Wl,--disable-new-dtags -L/opt/rocm-4.1.0/hip/lib -L/opt/rocm-4.1.0/lib...
Just to add to this issue so it's not forgotten. At the time this line (https://github.com/LLNL/blt/blob/0d71af8d3ac0ea1abeb8983a201013753a857a35/cmake/SetupCompilerOptions.cmake#L268) was implemented, CMake did not support C++17 or higher when compiling CUDA. Newer versions...