Hi all:
I'm trying to build mpich2 on an SGI Altix (256-processor IA-64 platform), using the Intel compilers (c/c++ and fortran). If I run configure with gcc, all works fine; the configure completes to the end successfully. However, if I run it specifying the intel compilers, it fails with an error on missing atomic primitive availability...no.
checking for OpenPA atomic primitive availability... no
configure: error:
The nemesis channel was selected yet no native atomic primitives are
available on this platform. OpenPA can emulate atomic primitives using
locks by specifying --with-atomic-primitives=no but performance will be
very poor. This override should only be specified for correctness
testing purposes.
---
The only thing I noticed as signifiant difference between gcc and intel was the note in the intel configure about using locks to perform atomic privilages a couple pages up from the configure error.
My configure line is included in the top of the message. Any assistance would be appreciated...I don't have many systems with the intel compilers and do most of my work with GCC, so I'm a bit uncertian how to proceed.
Thanks!
--Jim
-----------
Full configure output
-----------
kusznir@isp-curran:~/mpich2-work-intel> CC=icc CXX=icpc F77=ifort FC=ifort ../mpich2-1.2.1/configure --prefix=/opt/mpich2/ | tee config-out.txt
Configuring MPICH2 version 1.2.1 with '--prefix=/opt/mpich2/' 'CC=icc' 'F77=ifort' 'CXX=icpc'
Running on system: Linux isp-curran 2.6.16.60-0.42.7-default #1 SMP Tue Nov 3 11:20:42 UTC 2009 ia64 ia64 ia64 GNU/Linux
Executing mpich2prereq in /home/kusznir/mpich2-1.2.1/src/mpid/ch3 with
Executing mpich2prereq in /home/kusznir/mpich2-1.2.1/src/mpid/ch3/channels/nemesis
sourcing /home/kusznir/mpich2-1.2.1/src/pm/mpd/mpich2prereq
sourcing /home/kusznir/mpich2-1.2.1/src/pm/hydra/mpich2prereq
sourcing /home/kusznir/mpich2-1.2.1/src/pm/gforker/mpich2prereq
sourcing /home/kusznir/mpich2-1.2.1/src/pm/mpd/setup_pm
checking for gcc... icc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether icc accepts -g... yes
checking for icc option to accept ISO C89... none needed
checking how to run the C preprocessor... icc -E
checking whether the compiler defines __func__... yes
checking whether the compiler defines __FUNC__... no
checking whether the compiler sets __FUNCTION__... yes
checking whether C compiler accepts option -O2... yes
checking whether routines compiled with -O2 can be linked with ones compiled without -O2... yes
checking for type of weak symbol alias support... pragma weak
checking whether __attribute__ ((weak)) allowed... yes
checking whether __attribute ((weak_import)) allowed... yes
checking for multiple weak symbol support... yes
checking whether we are using the GNU Fortran 77 compiler... no
checking whether ifort accepts -g... yes
checking whether Fortran 77 compiler accepts option -O2... yes
checking whether routines compiled with -O2 can be linked with ones compiled without -O2... yes
checking how to get verbose linking output from ifort... -v
checking for Fortran 77 libraries of ifort... -L/opt/intel/fc/10.1.025/lib -L/usr/lib/gcc/ia64-suse-linux/4.1.2/ -L/usr/lib/gcc/ia64-suse-linux/4.1.2/../../../ -lifport -lifcore -limf -lm -lipgo -lirc -lirc_s -ldl
checking whether ifort accepts the FLIBS found by autoconf... yes
checking whether C can link with -L/opt/intel/fc/10.1.025/lib -L/usr/lib/gcc/ia64-suse-linux/4.1.2/ -L/usr/lib/gcc/ia64-suse-linux/4.1.2/../../../ -lifport -lifcore -limf -lm -lipgo -lirc -lirc_s -ldl... yes
checking for linker for Fortran main programs... Use Fortran to link programs
checking whether Fortran 77 and C objects are compatible... yes
checking for Fortran 77 name mangling... lower underscore
checking what libraries are needed to link Fortran programs with C routines that use stdio... none
checking whether Fortran init will work with C... yes
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for ifort... ifort
checking that f works as the extension for Fortran 90 program... yes
checking whether we are using the GNU Fortran 90 compiler... no
checking whether ifort accepts -g... yes
checking for extension for Fortran 90 programs... f90
checking whether the Fortran 90 compiler (ifort ) works... yes
checking whether the Fortran 90 compiler (ifort ) is a cross-compiler... no
checking whether Fortran 90 works with Fortran 77... yes
checking whether Fortran accepts ! for comments... yes
checking for include directory flag for Fortran... -I
checking for Fortran 77 flag for library directories... -L
checking for which Fortran libraries are needed to link C with Fortran... none
checking whether Fortran compiler processes .F files with C preprocessor... yes
checking that f works as the extension for Fortran 90 program... yes
checking whether we are using the GNU Fortran 90 compiler... (cached) no
checking whether ifort accepts -g... (cached) yes
checking for extension for Fortran 90 programs... f90
checking whether the Fortran 90 compiler (ifort ) works... yes
checking whether the Fortran 90 compiler (ifort ) is a cross-compiler... no
checking for Fortran 90 module extension... mod
checking for Fortran 90 module include flag... -I
checking whether Fortran 90 accepts f90 suffix... yes
checking whether Fortran 90 compiler accepts option -O2... yes
checking whether routines compiled with -O2 can be linked with ones compiled without -O2... yes
checking whether Fortran 90 compiler processes .F90 files with C preprocessor... yes
checking what libraries are needed to link Fortran90 programs with C routines that use stdio... none
checking for f90 compiler vendor... intel
checking for c++... icpc
checking whether we are using the GNU C++ compiler... yes
checking whether icpc accepts -g... yes
checking whether the C++ compiler icpc can build an executable... yes
checking whether C++ compiler works with string... yes
checking whether the compiler supports exceptions... yes
checking whether the compiler recognizes bool as a built-in type... yes
checking whether the compiler implements namespaces... yes
checking whether available... yes
checking whether the compiler implements the namespace std... yes
checking whether