Intel MPI + OpenMP
Posted: Wed Feb 26, 2014 2:37 pm
Good afternoon,
I'm trying to compile Abinit with Intel MPI (on top of cluster studio 2013) and OpenMP.
However, during the configuration stage, I got the following error :
configure:30888: checking whether the Fortran Compiler supports MPI
configure:31148: mpiifort -o conftest -g -extend-source -vec-report0
-noaltparam -nofpscomp -openmp -static-intel -static-libgcc
conftest.F90 -L/opt/intel/ics_2013.0.028/impi/4.1.0.024/intel64/lib
-L/opt/intel/ics_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64
-L/opt/intel/ics_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/ipp/lib/intel64
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/tbb/lib/intel64
-L/usr/local/gcc/4.7.2/lib -L/usr/local/gcc/4.7.2/lib64
-L/opt/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/
-L/opt/gcc/4.7.2/bin/../lib/gcc/ -L/usr/local/gcc/4.7.2/lib/../lib64
-L/usr/local/gcc/4.7.2/lib/../lib64/ -L/usr/local/gcc/4.7.2/lib64/../lib64
-L/usr/local/gcc/4.7.2/lib64/../lib64/
-L/opt/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../lib64
-L/opt/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../lib64/
-L/lib/../lib64 -L/lib/../lib64/ -L/usr/lib/../lib64 -L/usr/lib/../lib64/
-L/opt/intel/ics_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64/
-L/opt/intel/ics_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64/
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64/
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/ipp/lib/intel64/
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64/
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/tbb/lib/intel64/
-L/usr/local/gcc/4.7.2/lib/ -L/usr/local/gcc/4.7.2/lib64/
-L/opt/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../
-L/lib64 -L/lib/ -L/usr/lib64 -L/usr/lib -ldl -lmpi -lmpigf -lmpigi -lrt
-lpthread -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lirc_s >&5 ld:
MPIR_Thread: TLS definition
in /opt/intel/ics_2013.0.028/impi/4.1.0.024/intel64/lib/libmpi_dbg_mt.so
section .tbss mismatches non-TLS definition
in /opt/intel/ics_2013.0.028/impi/4.1.0.024/intel64/lib/libmpi.so
section .bss /opt/intel/ics_2013.0.028/impi/4.1.0.024/intel64/lib/libmpi_dbg_mt.so:
could not read symbols: Bad value configure:31155: $? = 1 configure: failed
program was:
| program main
|
| include "mpif.h"
| integer :: ierr
| call mpi_init(ierr)
| call mpi_finalize(ierr)
|
| end configure:31413: result: no
It seems like the build system wanted me to use "-lmpi" in addition to "-lmt_mpi" that I gave him in the .ac file:
with_mpi_libs='-L/usr/local/intel/ics_2013.0.028/impi/4.1.0.024/lib64 -lmt_mpi'
However, these two libraries are in conflict !
Am I doing something wrong ? If I disable openmp (remove -lmt_mpi => -lmpi, change mkl and fftw and enable_openmp="no"), the configuration works. Moreover, the configuration works with OpenMPI + OpenMP on top of intel cluster studio...
Thank you very much for your help. The config.log and the ac file are joint to this message
Yannick Gillet
I'm trying to compile Abinit with Intel MPI (on top of cluster studio 2013) and OpenMP.
However, during the configuration stage, I got the following error :
configure:30888: checking whether the Fortran Compiler supports MPI
configure:31148: mpiifort -o conftest -g -extend-source -vec-report0
-noaltparam -nofpscomp -openmp -static-intel -static-libgcc
conftest.F90 -L/opt/intel/ics_2013.0.028/impi/4.1.0.024/intel64/lib
-L/opt/intel/ics_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64
-L/opt/intel/ics_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/ipp/lib/intel64
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/tbb/lib/intel64
-L/usr/local/gcc/4.7.2/lib -L/usr/local/gcc/4.7.2/lib64
-L/opt/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/
-L/opt/gcc/4.7.2/bin/../lib/gcc/ -L/usr/local/gcc/4.7.2/lib/../lib64
-L/usr/local/gcc/4.7.2/lib/../lib64/ -L/usr/local/gcc/4.7.2/lib64/../lib64
-L/usr/local/gcc/4.7.2/lib64/../lib64/
-L/opt/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../lib64
-L/opt/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../lib64/
-L/lib/../lib64 -L/lib/../lib64/ -L/usr/lib/../lib64 -L/usr/lib/../lib64/
-L/opt/intel/ics_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64/
-L/opt/intel/ics_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64/
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64/
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/ipp/lib/intel64/
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64/
-L/usr/local/intel/ics_2013.0.028/composer_xe_2013.1.117/tbb/lib/intel64/
-L/usr/local/gcc/4.7.2/lib/ -L/usr/local/gcc/4.7.2/lib64/
-L/opt/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../
-L/lib64 -L/lib/ -L/usr/lib64 -L/usr/lib -ldl -lmpi -lmpigf -lmpigi -lrt
-lpthread -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lirc_s >&5 ld:
MPIR_Thread: TLS definition
in /opt/intel/ics_2013.0.028/impi/4.1.0.024/intel64/lib/libmpi_dbg_mt.so
section .tbss mismatches non-TLS definition
in /opt/intel/ics_2013.0.028/impi/4.1.0.024/intel64/lib/libmpi.so
section .bss /opt/intel/ics_2013.0.028/impi/4.1.0.024/intel64/lib/libmpi_dbg_mt.so:
could not read symbols: Bad value configure:31155: $? = 1 configure: failed
program was:
| program main
|
| include "mpif.h"
| integer :: ierr
| call mpi_init(ierr)
| call mpi_finalize(ierr)
|
| end configure:31413: result: no
It seems like the build system wanted me to use "-lmpi" in addition to "-lmt_mpi" that I gave him in the .ac file:
with_mpi_libs='-L/usr/local/intel/ics_2013.0.028/impi/4.1.0.024/lib64 -lmt_mpi'
However, these two libraries are in conflict !
Am I doing something wrong ? If I disable openmp (remove -lmt_mpi => -lmpi, change mkl and fftw and enable_openmp="no"), the configuration works. Moreover, the configuration works with OpenMPI + OpenMP on top of intel cluster studio...
Thank you very much for your help. The config.log and the ac file are joint to this message
Yannick Gillet