Skip to content
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

Issue with Intel MPI detection #9637

Open
RemiLacroix-IDRIS opened this issue Nov 25, 2021 · 0 comments
Open

Issue with Intel MPI detection #9637

RemiLacroix-IDRIS opened this issue Nov 25, 2021 · 0 comments

Comments

@RemiLacroix-IDRIS
Copy link

Hello,

It feels like there is a bug in Meson when trying to detect Intel MPI.

The implemented strategy is to run the MPI compiler wrapper with the -show option which is fine but the way the wrapper is chosen seems wrong:

if language == 'c':
tool_names = [os.environ.get('I_MPI_CC'), 'mpiicc']
elif language == 'cpp':
tool_names = [os.environ.get('I_MPI_CXX'), 'mpiicpc']
elif language == 'fortran':
tool_names = [os.environ.get('I_MPI_F90'), 'mpiifort']

Meson tries to get the wrapper path or name from the I_MPI_CC, I_MPI_CXX and I_MPI_FORT environment values which makes no sense since according to Intel MPI documentation those should be used to "set the path/name of the underlying compiler to be used [by the wrapper]" (https://www.intel.com/content/www/us/en/develop/documentation/mpi-developer-reference-windows/top/environment-variable-reference/compilation-environment-variables.html).

That means that if I_MPI_CC, I_MPI_CXX and I_MPI_FORT are correctly set, Meson will try the -show option on the actual compiler instead of the wrapper and thus will fail to detect Intel MPI.

I would suggest using the same environment variable as the non-Intel MPI code path. I can provide a PR.

Best regards,
Rémi

dguibert added a commit to dguibert/meson that referenced this issue Mar 2, 2022
Intel MPI uses I_MPI_CC, I_MPI_CXX and I_MPI_F90 to define the
underlaying compilers called by the wrappers.

Closes mesonbuild#9637
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant