oversubscribing OpenMPI in tests

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

oversubscribing OpenMPI in tests

Zaak Beekman
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 | Threaded
Open this post in threaded view
|

Re: oversubscribing OpenMPI in tests

Thompson, KT

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:[hidden email]] On Behalf Of Zaak Beekman
Sent: Thursday, June 16, 2016 9:14 AM
To: [hidden email]
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 | Threaded
Open this post in threaded view
|

Re: oversubscribing OpenMPI in tests

Zaak Beekman
Excellent, this is far better than any of the approaches I had thought of... cheers!

On Thu, Jun 16, 2016 at 4:45 PM Thompson, KT <[hidden email]> wrote:

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:[hidden email]] On Behalf Of Zaak Beekman
Sent: Thursday, June 16, 2016 9:14 AM
To: [hidden email]
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