-
Notifications
You must be signed in to change notification settings - Fork 361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add MPI standalone CI build job #1242
Conversation
This commit fixes compiler warnings that were caused by Commit 1a51d27 ("Fix various compiler warnings (Qiskit#1201)"). Fixes: Qiskit#1234
This is blocked until #1241 merges |
This commit adds a CI job that builds aer in standalone mode with MPI to ensure that we can build with MPI support. This should hopefully prevent regressions like Qiskit#1234 in the future.
10125bb
to
6cf8f0d
Compare
I'm not sure if the c++ unit tests actually will exercise routines that are MPI aware, but it doesn't hurt to run it with mpirun (since it's the only existing test for standalone mode).
Ok, after merging #1241 into the PR branch so we can actually build, the CI job looks like it's working now. It's running mpi on the local ci node and reflecting that in the output: https://github.com/Qiskit/qiskit-aer/runs/2470401773?check_suite_focus=true#step:8:73 @doichanj do you have any suggestions for additional testing we can do in the CI nodes, or is what I have here sufficient for a quick smoke test? |
I think it is enough to test standalone MPI execution. |
In Qiskit#1242 we added a basic smoke test job for MPI builds using standalone mode. That job builds aer in standalone mode with MPI and then runs a qobj of a grovers circuit with mpi enabled and validate it works (and the result metadata has the mpi fields set). That was useful to provide a quick smoke test to verify that a proposed change doesn't completely break MPI builds. However, it doesn't fully validate aer's usage with MPI enabled. This commit adds a new CI job that runs the full python unittest suite under mpi run using a aer binary built with mpi support. The tradeoff there though is we have to run the tests serially using the stdlib python unittest runner (since stestr runs tests in parallel processes) the process is running under mpirun. Additionally, this commit bumps the timeout for the unit test jobs to 1 hour as we've been regularly hitting the timeout on the CI test jobs. The timeout for the new mpi job is double that (120 min) since it is running tests serially instead of in 2 or 4 processes.
* Add MPI standalone CI build job This commit adds a CI job that builds aer in standalone mode with MPI to ensure that we can build with MPI support. This should hopefully prevent regressions like Qiskit#1234 in the future. * Use mpirun for c++ unit test execution I'm not sure if the c++ unit tests actually will exercise routines that are MPI aware, but it doesn't hurt to run it with mpirun (since it's the only existing test for standalone mode). * Add step to run qobj with standalone * Use full path to mpirun * Explicitly use mpirun.openmpi full path * Actually install qiskit-terra for qobj test * Install terra in mpi job too * Add results validation to qobj standalone test * Only validate mpi results in mpi job * Add missing import
Summary
This commit adds a CI job that builds aer in standalone mode with MPI to
ensure that we can build with MPI support. This should hopefully prevent
regressions like #1234 in the future.
Details and comments