This folder proposes a set of unit tests to check basic functionality of an MPI stack. The unit tests are started with CTest and results can be submitted to the UL CDash. The configuration of the script is managed by CMake.
Checkout the sources
$> git clone git@github.com:ULHPC/modules-check.git modules-check-src
Create a directory to hold the configured scripts
$> mkdir modules-check-MPI
Generate the script with CMake
$> cd modules-check-MPI
$> cmake ../modules-check-src/MPI
Running the tests in the current environment
$> ctest
To run the tests for a given module
$> module purge
$> module load OpenMPI
$> ctest
You can even try
$> export PATH=/path/to/my/mpi/install:$PATH
$> ctest
Using CTest, you can submit the results to the UL CDash in the Experimental
group:
$> ctest -D Experimental
Alternatively, you can use the test_and_submit.cmake
script to run and submit the results with explicit names.
$> export CDASH_GROUP_NAME="Experimental"
$> export CDASH_SITE_NAME="Gaia cluster"
$> export CDASH_BUILD_NAME="MPI module 'OpenMPI'"
$> ctest -S test_and_submit.cmake
The testing of all MPI modules can be triggered interactively with the check_all_mpi_modules.sh
.
$> ./check_all_mpi_modules.sh
This script lists all the available MPI module, tests all of them, and submit the results to the UL dashboard. It must be run inside an OAR job.
The same script can be submitted to OAR to perform non-interactive testing of all MPI modules.
$> oarsub -S ./check_all_mpi_modules.sh
This script already contains the required OAR parameters. It must be run on the cluster frontend.
The CMakelists.txt
file describes the tests using the CMake/CTest language.
It is simple enough so you can understand how to add a new test easily.
A few pointers to the CMake/CTest documentation: