You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 9, 2022. It is now read-only.
Currently the MPI wrapper compilers mpicc, mpicxx, and mpifort are not guaranteed to work out of box unless the corresponding host compilers (gcc_linux-64, gxx_linux-64, and gfortran_linux-64 in Linux) are also installed in the Conda environment, see conda-forge/openmpi-feedstock#34 (comment):
The openmpi package doesn't depend on the compilers because it's most often installed as a runtime dependency, not as a compiler. To use the mpi compiler wrappers and the compilers they wrap, the conda compilers must be installed. # 35 adds openmpi-mpicc etc. as new outputs so that users have a simple package name to install to pull in both dependencies needed to compiler with openmpi (openmpi and the relevant compiler)
Let us wait for a while and see if it is a sustainable solution before adapting it. In the meanwhile one can always conda install the host compilers to make the MPI wrapper compilers work.
The text was updated successfully, but these errors were encountered:
I'm not sure which packages you are using these in, but FWIW if you have a package that requires MPI as a compiler, you can depend on both mpi and the given compiler as runtime requirements, e.g.:
requirements:
run:
- mpich
- {{ compiler('c') }}
This is the ultimately the same as the new mpich-mpicc package, but more explicit if it's an actual requirement. The mpich-mpicc package and friends are meant really only for users, where the {{ compiler('c') }} template variable isn't available. I would use this pattern in recipes, regardless of the presence of the new convenience packages.
Thanks @minrk for the comment. This is indeed better for packages requiring an MPI compiler. This issue was opened mainly to document my observation that using MPI as a compiler, as you put it, requires a bit of change. However, I suspect most of our users don't need any MPI compiler.
Currently the MPI wrapper compilers
mpicc
,mpicxx
, andmpifort
are not guaranteed to work out of box unless the corresponding host compilers (gcc_linux-64
,gxx_linux-64
, andgfortran_linux-64
in Linux) are also installed in the Conda environment, see conda-forge/openmpi-feedstock#34 (comment):A solution just merged to conda-forge feedstocks yesterday (conda-forge/mpich-feedstock/pull/32
and ongoing conda-forge/openmpi-feedstock/pull/35) was to add additional outputs in the MPI recipes, including
mpich-mpicc
,mpich-mpicxx
,mpich-mpifort
, and theiropenmpi
counterparts.Let us wait for a while and see if it is a sustainable solution before adapting it. In the meanwhile one can always conda install the host compilers to make the MPI wrapper compilers work.
The text was updated successfully, but these errors were encountered: