llnl / llnl/Caliper

Cross platform MPI support in CI tests.

Open
#625 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
420
Forks
80
Avg merge
1d 12h
Merged PRs (30d)
9

Description

I was trying to turn on MPI test on Tioga and Lassen, since they were turned off only for those two.
However, there is no trace of using "MPIEXEC_EXECUTABLE" in Caliper build system or test driver, which may explain why MPI tests are not "cross platform".
Looking into Caliper testing framework, I was hoping that using BLT could provide an answer to your need. However, Caliper has its own test driver, written in python, which appears to prevent us to leverage BLT in a straightforward fashion.
For example, in Umpire, BLT handles the various MPI providers depending on variables.
Back to Caliper, the Spack package already sets MPIEXEC_EXECUTABLE in the CMakeCache file, making the CMake config ready to run MPI tests, provided that the project uses BLT (or BLT-like) MPI support.
Something to think about when trying to support MPI in Caliper tests.

Originally posted by @adrienbernede in https://github.com/LLNL/Caliper/issues/624#issuecomment-2485326513

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting Caliper's CMake configuration and Python test driver for how MPI tests are discovered and launched. Compare this with the Spack package's MPIEXEC_EXECUTABLE setting and the existing behavior on Tioga and Lassen. Done means the MPI tests can run cross-platform in CI on those systems.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, python
Domain
build-system, ci-cd, hpc, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.