Closed Robadob closed 11 months ago
@ptheywood's research from Slack chat
Looks like it's an MPI specific thing
https://discourse.cmake.org/t/unable-to-link-cuda-device-code-with-mpich-implementation/3006/8
Which leads to an issue that was fixed by a merge request.
https://gitlab.kitware.com/cmake/cmake/-/issues/21887
https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5966 is the mr
Which looks like was part of 3.20.1
Unable to reproduce this on x86_64 ubuntu machines, which dont' seem to require the flags being passed.
We probably just want to warn on <= 3.20.1 that it might error as a dev warning, as its not a universal mpi + old cmake error.
I've just confirmed on Bede that CMake 3.20.0 fails to link with the error above, while 3.20.1 does work (when MPI is enabled and the MPI installation requires some extra env variables passing to the host linker, i.e. the OpenMPI install on Bede).
So adding a message(WARNING ...)
when MPI is enabled and found, but CMake is < 3.20.1 as part of #1090 would be the way to address this (I'll quickly add one).
Device link was failing building
tests_mpi
target ofdistributed_ensemble
branch on Bede with CMake 3.18, but fixed when using CMake 3.22.May need to consider updating minimum required CMake version.
CMake 3.18
CMake 3.22