Zaak,
I use ‘execute_process (${MPIEXEC} --version)’ and match the output to a string
(Open MPI, ALPS, MPICH). This isn’t the most elegant solution, but it seems
fairly robust.
-kt
From: CMake [mailto:[email protected]] On Behalf Of Zaak Beekman
Sent: Thursday, June 16, 2016 9:14 AM
To: [email protected]
Subject: [CMake] oversubscribing OpenMPI in tests
Does anyone know a good way to determine if `find_package(MPI REQUIRED)` is
returning OpenMPI? I need to know, because OpenMPI does not handle
oversubscribed (more ranks than cores) tests well without explicitly telling
OpenMPI that you are oversubscribing. This can be done by creating a hosts
file, and passing some flags to `mpirun` to tell it to use the hosts file, or
can be accomplished by passing the `--oversubscribe` flag. The problem is that
MPICH has different flags/host-file syntax.
(I am oversubscribing some of the project's tests because this will often find
correctness problems due to race conditions or other parallel programming
errors that are not always exposed otherwise.)
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake