[petsc-dev] Build petsc-3.2 with "mpicc -cc=icc"
Lisandro Dalcin
dalcinl at gmail.com
Tue Sep 6 17:34:49 CDT 2011
This is just a report from a little experiment, and wanted to throw
the results here:
I'm trying to build with Intel compiler re-using my distro's (Fedora
15) MPICH2 1.4 built with GCC. My configure command line was:
$ cat arch-intel-c/conf/reconfigure-arch-intel-c.py
#!/usr/bin/python
if __name__ == '__main__':
import sys
import os
sys.path.insert(0, os.path.abspath('config'))
import configure
configure_options = [
'--COPTFLAGS=-O3',
'--CXXOPTFLAGS=-O3',
'--FOPTFLAGS=-O3',
'--with-c2html=0',
'--with-cc=mpicc -cc=icc',
'--with-cxx=mpicxx -cxx=icpc',
'--with-debugging=0',
'--with-fc=mpif90 -fc=ifort',
'--with-shared-libraries=1',
'PETSC_ARCH=arch-intel-c',
]
configure.petsc_configure(configure_options)
However, for some reason cmake failed to indentify de compiler, the
relevant block from configure.log is pasted below. I'm wondering if
the FILEPATH thing is the cause of the failure...
Invoking: ['/usr/bin/cmake', '/home/devel/petsc/3.2',
'-DCMAKE_C_COMPILER:FILEPATH=mpicc -cc=icc', '-DCMAKE_C_FLAGS:STRING=
-fPIC -wd1572 -Qoption,cpp,--extended_float_type -O3',
'-DCMAKE_Fortran_COMPILER:FILEPATH=mpif90 -fc=ifort',
'-DCMAKE_Fortran_FLAGS:STRING= -fPIC -O3']
sh: ['/usr/bin/cmake', '/home/devel/petsc/3.2',
'-DCMAKE_C_COMPILER:FILEPATH=mpicc -cc=icc', '-DCMAKE_C_FLAGS:STRING=
-fPIC -wd1572 -Qoption,cpp,--extended_float_type -O3',
'-DCMAKE_Fortran_COMPILER:FILEPATH=mpif90 -fc=ifort',
'-DCMAKE_Fortran_FLAGS:STRING= -fPIC -O3']
Executing: ['/usr/bin/cmake', '/home/devel/petsc/3.2',
'-DCMAKE_C_COMPILER:FILEPATH=mpicc -cc=icc', '-DCMAKE_C_FLAGS:STRING=
-fPIC -wd1572 -Qoption,cpp,--extended_float_type -O3',
'-DCMAKE_Fortran_COMPILER:FILEPATH=mpif90 -fc=ifort',
'-DCMAKE_Fortran_FLAGS:STRING= -fPIC -O3']
sh: -- The C compiler identification is unknown
-- Check for working C compiler: mpicc -cc=icc
-- Check for working C compiler: mpicc -cc=icc -- broken
-- Configuring incomplete, errors occurred!
===============================================================================
CMake process failed with status 256. Proceeding..
===============================================================================
Anyway, configure continued and I was able to use the legacy make
build, with a lot of outputs like the one below:
$ make
...
libfast in: /home/devel/petsc/3.2/src/mat/impls/transpose
icc: command line warning #10120: overriding '-O2' with '-O3'
libfast in: /home/devel/petsc/3.2/src/mat/impls/transpose/ftn-auto
icc: command line warning #10120: overriding '-O2' with '-O3'
libfast in: /home/devel/petsc/3.2/src/mat/impls/python
icc: command line warning #10120: overriding '-O2' with '-O3'
...
Anyway, "make test" worked (however, it generated a bogus error
because the compiler complained with the same line as above)
My "ldd" output looks a bit messy, and despite using ICC and having
MKL available, configure didn't pick MKL (perhaps this could be a nice
feature?)
$ ldd arch-intel-c/lib/libpetsc.so
linux-vdso.so.1 => (0x00007fff411ff000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007ff103dce000)
liblapack.so.3 => /usr/lib64/atlas/liblapack.so.3 (0x00007ff1035a0000)
libblas.so.3 => /usr/lib64/libblas.so.3 (0x00007ff10334a000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff103145000)
libmpich.so.3 => /usr/lib64/mpich2/lib/libmpich.so.3 (0x00007ff102d60000)
libopa.so.1 => /usr/lib64/mpich2/lib/libopa.so.1 (0x00007ff102b5f000)
libmpl.so.1 => /usr/lib64/mpich2/lib/libmpl.so.1 (0x00007ff10295a000)
librt.so.1 => /lib64/librt.so.1 (0x00007ff102752000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff102537000)
libimf.so => /opt/intel/composerxe-2011.4.191/compiler/lib/intel64/libimf.so
(0x00007ff102151000)
libsvml.so => /opt/intel/composerxe-2011.4.191/compiler/lib/intel64/libsvml.so
(0x00007ff101a9e000)
libcilkrts.so.5 =>
/opt/intel/composerxe-2011.4.191/compiler/lib/intel64/libcilkrts.so.5
(0x00007ff101874000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ff10156c000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff101357000)
libirc.so => /opt/intel/composerxe-2011.4.191/compiler/lib/intel64/libirc.so
(0x00007ff101207000)
libmpichf90.so.3 => /usr/lib64/mpich2/lib/libmpichf90.so.3 (0x00007ff101004000)
libifport.so.5 =>
/opt/intel/composerxe-2011.4.191/compiler/lib/intel64/libifport.so.5
(0x00007ff100ecb000)
libifcore.so.5 =>
/opt/intel/composerxe-2011.4.191/compiler/lib/intel64/libifcore.so.5
(0x00007ff100c6a000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff1009e5000)
libintlc.so.5 =>
/opt/intel/composerxe-2011.4.191/compiler/lib/intel64/libintlc.so.5
(0x00007ff100895000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff1004fb000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007ff1002df000)
libgfortran.so.3 => /usr/lib64/libgfortran.so.3 (0x00007ff0fffc9000)
libf77blas.so.3 => /usr/lib64/atlas/libf77blas.so.3 (0x00007ff0ffdac000)
libcblas.so.3 => /usr/lib64/atlas/libcblas.so.3 (0x00007ff0ffb8b000)
/lib64/ld-linux-x86-64.so.2 (0x0000003104400000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007ff0ff988000)
libquadmath.so.0 => /usr/lib64/libquadmath.so.0 (0x00007ff0ff752000)
libatlas.so.3 => /usr/lib64/atlas/libatlas.so.3 (0x00007ff0fef6b000)
--
Lisandro Dalcin
---------------
CIMEC (INTEC/CONICET-UNL)
Predio CONICET-Santa Fe
Colectora RN 168 Km 472, Paraje El Pozo
3000 Santa Fe, Argentina
Tel: +54-342-4511594 (ext 1011)
Tel/Fax: +54-342-4511169
More information about the petsc-dev
mailing list