[Trilinos-Users] [EXTERNAL] MPI_C_COMPILER conflict with CMAKE_C_COMPILER
Phipps, Eric T
etphipp at sandia.gov
Wed Jul 3 08:48:19 MDT 2013
You should be able to set the CMAKE_C_COMPILER and CMAKE_CXX_COMPILER as the MPI compilers, e.g.,
-D CMAKE_C_COMPILER:FILEPATH=/opt/intel/impi/4.1.1/intel64/bin/mpiicc \
-D CMAKE_CXX_COMPILER:FILEPATH=/opt/intel/impi/4.1.1/intel64/bin/mpiicpc \
That is how we typically build Trilinos with MPI. Note that cross-compiling for the Xeon Phi is not well supported by cmake. I did this a few months ago and found I had to add these flags as well to avoid various configure errors:
-D CMAKE_CXX_FLAGS:STRING="-mmic" \
-D CMAKE_C_FLAGS:STRING="-mmic" \
-D Trilinos_ENABLE_Fortran:BOOL=OFF \
-D BLAS_LIBRARY_DIRS:FILEPATH="${MKLROOT}/lib/mic" \
-D BLAS_LIBRARY_NAMES="mkl_intel_lp64;mkl_sequential;mkl_core;pthread;m" \
-D HAVE_GCC_ABI_DEMANGLE_EXITCODE=0 \
-D HAVE_TEUCHOS_BLASFLOAT_EXITCODE=0 \
-D LAPACK_SLAPY2_WORKS_EXITCODE=0 \
As this was a few months ago, I can't guarantee it is still works.
-Eric
From: Fan YE <yefanhust at gmail.com<mailto:yefanhust at gmail.com>>
Date: Wednesday, July 3, 2013 7:46 AM
To: "trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>" <trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>>
Subject: [EXTERNAL] [Trilinos-Users] MPI_C_COMPILER conflict with CMAKE_C_COMPILER
Hello everyone,
I'm trying to install Trilinos with MPI enabled in a workstation equipped with Intel Xeon Phi coprocessors.
I want to use intel compilers and intel MPI compiler wrappers, so I wrote my do-configure as follow:
cmake \
-D CMAKE_BUILD_TYPE:STRING=DEBUG \
-D Trilinos_ENABLE_TESTS:BOOL=ON \
-D TPL_ENABLE_MPI:BOOL=ON \
-D MPI_USE_COMPILER_WRAPPERS:BOOL=ON \
-D MPI_C_COMPILER:FILEPATH=/opt/intel/impi/4.1.1/intel64/bin/mpiicc \
-D MPI_CXX_COMPILER:FILEPATH=/opt/intel/impi/4.1.1/intel64/bin/mpiicpc \
-D CMAKE_C_COMPILER:FILEPATH=/opt/intel/composerxe/bin/icc \
-D CMAKE_CXX_COMPILER:FILEPATH=/opt/intel/composerxe/bin/icc \
-D CMAKE_C_FLAGS:STRING="-mkl" \
-D CMAKE_CXX_FLAGS:STRING="-mkl" \
...
So the idea here is dealing all with Intel products.
However, when I finished configuring Trilinos, I always got such Cmake Warning:
Manually-specified variables were not used by the project:
MPI_CXX_COMPILER
MPI_C_COMPILER
It seems that the mpi compiler wrappers are not taken into account. The result of trying to "make" confirms this judge:
/home/fye/tmp/trilinos-11.2.4/trilinos-11.2.4-Source/packages/teuchos/core/src/Teuchos_Time.hpp(56): catastrophic error: cannot open source file "mpi.h"
#include "mpi.h"
^
Apparently, the wrappers are not working in this case.
Any one has any idea about this?
Thank you in advance for any comments.
Best regards,
Fan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20130703/2090f847/attachment.html
More information about the Trilinos-Users
mailing list