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:cmake-boun...@cmake.org] On Behalf Of Zaak Beekman
Sent: Thursday, June 16, 2016 9:14 AM
To: cmake@cmake.org
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

Reply via email to