Molcas Forum

Support and discussions for Molcas and OpenMolcas users and developers

You are not logged in.

Announcement

Welcome to the Molcas forum. You can choose an avatar and change the default style by going to "Profile" → "Personality" or "Display".

#1 2021-08-17 05:37:35

roma28
Member
Registered: 2021-08-15
Posts: 6

Specifying MPI implementation

I want to compile OpenMolcas using IntelMPI which I've selected on our HPC cluster using mpi-select.

Than I run

cmake -D LINALG=MKL -D MKLROOT=/opt/intel/composerxe/mkl  -D MPI=ON -D OPENMP=ON -D GA=ON -D PYTHON_EXECUTABLE=/opt/shared/anaconda/anaconda3/bin/python ../OpenMolcas-master

from build directory.

Cmake gives me (the rest of the output is omitted for clarity):

Configuring with MPI parallellization:
-- Found MPI_C: /usr/lib64/mpi/gcc/openmpi/lib64/libmpi.so (found version "3.0") 
-- Found MPI_Fortran: /usr/lib64/mpi/gcc/openmpi/lib64/libmpi_usempi.so (found version "3.0") 
-- Found MPI: TRUE (found version "3.0")  
-- MPI_C_INCLUDE_PATH: /usr/lib64/mpi/gcc/openmpi/include
-- MPI_Fortran_INCLUDE_PATH: /usr/lib64/mpi/gcc/openmpi/include;/usr/lib64/mpi/gcc/openmpi/lib64
-- MPI_C_LIBRARIES: /usr/lib64/mpi/gcc/openmpi/lib64/libmpi.so
-- MPI_Fortran_LIBRARIES: /usr/lib64/mpi/gcc/openmpi/lib64/libmpi_usempi.so;/usr/lib64/mpi/gcc/openmpi/lib64/libmpi_mpifh.so;/usr/lib64/mpi/gcc/openmpi/lib64/libmpi.so
-- MPIEXEC: /usr/lib64/mpi/gcc/openmpi/bin/mpiexec
-- MPI_IMPLEMENTATION: openmpi

even if IntelMPI is active (I've checked it using

which mpirun

and it gave me the IntelMPI directory).

So, is there a CMake variable to specify which MPI implementation to use?

Offline

#2 2021-08-17 08:12:52

Ignacio
Administrator
From: Uppsala
Registered: 2015-11-03
Posts: 1,204

Re: Specifying MPI implementation

Try setting MPI_C_COMPILER and MPI_Fortran_COMPILER to the IntelMPI wrappers (probably mpiicc & mpiifort).

Offline

#3 2021-08-17 08:45:02

roma28
Member
Registered: 2021-08-15
Posts: 6

Re: Specifying MPI implementation

I've tried it, it picks up right MPI libraries but it still identifies MPI implementation incorectly and takes wrong mpiexec:

-- MPI_C_INCLUDE_PATH: /mnt/storage/opt/intel/impi/5.0.1.035/intel64/include
-- MPI_Fortran_INCLUDE_PATH: /mnt/storage/opt/intel/impi/5.0.1.035/intel64/include
-- MPI_C_LIBRARIES: /mnt/storage/opt/intel/impi/5.0.1.035/intel64/lib/libmpifort.so;/mnt/storage/opt/intel/impi/5.0.1.035/intel64/lib/release/libmpi.so;/mnt/storage/opt/intel/impi/5.0.1.035/intel64/lib/libmpigi.a;/usr/lib64/libdl.so;/usr/lib64/librt.so;/usr/lib64/libpthread.so
-- MPI_Fortran_LIBRARIES: /mnt/storage/opt/intel/impi/5.0.1.035/intel64/lib/libmpifort.so;/mnt/storage/opt/intel/impi/5.0.1.035/intel64/lib/release/libmpi.so;/mnt/storage/opt/intel/impi/5.0.1.035/intel64/lib/libmpigi.a;/usr/lib64/libdl.so;/usr/lib64/librt.so;/usr/lib64/libpthread.so
-- MPIEXEC: /usr/lib64/mpi/gcc/openmpi/bin/mpiexec
-- MPI_IMPLEMENTATION: openmpi

I'll try substitute the mpiexec in configuration files.

Offline

#4 2021-08-17 09:24:51

Ignacio
Administrator
From: Uppsala
Registered: 2015-11-03
Posts: 1,204

Re: Specifying MPI implementation

You could also try setting MPIEXEC_EXECUTABLE and/or MPI_HOME or other variables. See https://cmake.org/cmake/help/latest/module/FindMPI.html

Offline

#5 2021-08-21 07:38:48

roma28
Member
Registered: 2021-08-15
Posts: 6

Re: Specifying MPI implementation

After lots of research, trial and error I've found that on our cluster IntelMPI is compiled using GCC not Intel compilers.

It means I can not compile OpenMolcas using Intel compilers, so I'll stick to GCC compiles and OpenMPI installation.

Offline

Board footer

Powered by FluxBB 1.5.11

Last refresh: Today 19:51:02