oneapi-src/oneapi-ci

MPI compilers not included with HPC Toolkit

Closed this issue · 4 comments

I've tested this with the Linux web installer Fortran example.

I'm trying to apply the Fortran example to an MPI program, but I've found that the MPI compilers are not included in the installation. Comparing to a working installation on a local machine, the .../oneapi/mpi/latest/bin/ directory exists and contains other MPI library files but not the compilers.

Here is a minimal example repository to reproduce this with Github actions: Repo

Here is the raw log from a run of this action: raw_build_log.txt

Similarly to #73, it looks like the component listing mentions the MPI library, but not compilers. I wasn't able to find MPI compilers in any of those listings, although I could have missed it.

If you only need Linux, you may find https://github.com/rscohn2/setup-oneapi easier to use. I added your mpi test and it works fine.
https://github.com/rscohn2/setup-oneapi/blob/c959ec0346522bd742c5c015e89fe67d1cf73dca/.github/workflows/main.yml#L59

See https://github.com/rscohn2/test-setup-oneapi/blob/main/.github/workflows/main.yml for an example of how to use the setup-oneapi in your project.

This is great, thank you! I was actually able to fix the existing setup by replacing the HPC toolkit URL with the MPI URL that setup-oneapi uses. Specifically this one.

In the future, how would I find these URLs myself?

On the actual topic of this issue, is it intentional that the MPI compilers are not in the HPC toolkit installation?

In the future, how would I find these URLs myself?

You can get the URL for the latest standalones here: https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html

On the actual topic of this issue, is it intentional that the MPI compilers are not in the HPC toolkit installation?

I looked again at your repo. It looks like you are downloading hpckit, but only installing the fortran compiler. You need to add intel.oneapi.lin.mpi.devel, which is also in hpckit.

Perfect! That makes sense now. Thanks for clearing everything up!