compiling on hopper/NERSC

option, parallelism,...

Moderators: fgoudreault, mcote

Forum rules
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
Locked
asorini
Posts: 13
Joined: Wed Apr 07, 2010 12:23 am

compiling on hopper/NERSC

Post by asorini » Thu Jul 22, 2010 3:06 am

Hi,

I'm trying to compile abinit 6.2.1 on the NERSC machine hopper (http://www.nersc.gov/nusers/systems/hopper/). Previously I was able to compile 5.8.4 on their machine franklin and NERSC consulting compiled it on hopper.

But now it seems that 6.2.1 is having issues. I used the configure script with the options set using the .ac file as:

enable_debug="no"
CC="cc"
CFLAGS="-O3 -fno-unsafe-math-optimizations"
CXX="CC"
CXXFLAGS="-O3 -fno-unsage-math-optimizations"
FC="ftn"
FCFLAGS="-O3 -fno-unsafe-math-optimizations"
enable_mpi="yes"
enable_mpi_io="yes"
enable_bigdft="no"
enable_etsf_io="no"
enable_libxc="no"
enable_netcdf="no"
enable_wannier90="no"

and configure finds the correct compilers but then in the "Connectors" section of the configurations is say that the Mpi is not usable "MPI support is broken!".

Does anyone have advice on compiling on hopper which can help me fix this problem? Thanks very much. Cheers,

Adam



P.S. I went ahead and tried to "make" even though the configure script said MPI was broken... and, as expected, it didn't work.
I get a number of errors if I still try to make such as:

pathf95-113 pathf90-3.2: ERROR XALLGATHER_MPI_INT, File = ../../../src/12_hide_mpi/xallgather_mpi.F90, Line = 74, Column = 19
IMPLICIT NONE is specified in the local scope, therefore an explicit type must be specified for data object "MPI_COMM_SELF"

and similar errors for "MPI_COMM_NULL", etc.

User avatar
jbeuken
Posts: 365
Joined: Tue Aug 18, 2009 9:24 pm
Contact:

Re: compiling on hopper/NERSC

Post by jbeuken » Thu Jul 22, 2010 5:44 pm

Hi,

enable_debug="no"
CC="cc"
CFLAGS="-O3 -fno-unsafe-math-optimizations"
CXX="CC"
CXXFLAGS="-O3 -fno-unsage-math-optimizations"
FC="ftn"
FCFLAGS="-O3 -fno-unsafe-math-optimizations"
enable_mpi="yes"
enable_mpi_io="yes"
enable_bigdft="no"
enable_etsf_io="no"
enable_libxc="no"
enable_netcdf="no"
enable_wannier90="no"


please, when you use mpi, specify the path of your mpi installation with something like this :

with_mpi_prefix="/usr/local/openmpi"

AND

don't specify FC, CC and CXX

regards

jmb
------
Jean-Michel Beuken
Computer Scientist

asorini
Posts: 13
Joined: Wed Apr 07, 2010 12:23 am

Re: compiling on hopper/NERSC

Post by asorini » Fri Jul 23, 2010 1:24 am

Hi,

Thanks for your help...

At least one of the consultants at NERSC seems to think that I should not use --with-mpi-prefix. Rather I am supposed to use the compilation wrappers such as "ftn", "cc", and "CC". But, of course, that doesn't really work.

Maybe I should try to instal l openmpi in my own home and use that with the with-mpi-prefix that openmpi installation?

Anyone ever install abinit on hopper and have advice?

Cheers,

Adam

User avatar
jbeuken
Posts: 365
Joined: Tue Aug 18, 2009 9:24 pm
Contact:

Re: compiling on hopper/NERSC

Post by jbeuken » Fri Jul 23, 2010 11:28 pm

Hi

At least one of the consultants at NERSC seems to think that I should not use --with-mpi-prefix


which are the results of these commands :

which mpif90

mpif90 -show

jmb
------
Jean-Michel Beuken
Computer Scientist

asorini
Posts: 13
Joined: Wed Apr 07, 2010 12:23 am

Re: compiling on hopper/NERSC

Post by asorini » Fri Aug 06, 2010 10:43 pm

no mpif90 found

asorini
Posts: 13
Joined: Wed Apr 07, 2010 12:23 am

Re: compiling on hopper/NERSC

Post by asorini » Fri Aug 20, 2010 1:29 am

Hi forum,

NERSC staff was able to compile abinit6.2.2 on hopper in case anyone is still interested in how to do it. Here is what they did:

module swap PrgEnv-pgi PrgEnv-gnu
cd /usr/common/usg/abinit/Build/abinit-6.2.2
mkdir gnu
cd gnu
../configure --prefix=/usr/common/usg/abinit/6.2.2 --enable-mpi=yes --enable-mpi-io=yes --with-linalg-libs=-lsci FC=ftn CC=cc CXX=CC FLAGS=-O3 FCFLAGS=-O3 CXXFLAGS=-O3

vi config.h
line 144 change
/*undef HAVE_MPI2 */
-->
#define HAVE_MPI2 1

make # make -j8 breaks at some points

please note when compiling src/66_paw/indgrid.F90 you may see the make fails due to the line 120 is more than 132 characters, you can add -ffree-line-length-none (whole line will be included) to make the code compile, so the compile line for src/66_paw/indgrid.F90 is

zz217@hopper08:/global/common/hopper/usg/abinit/Build/abinit-6.2.2/gnu/src/66_paw> ftn -DHAVE_CONFIG_H -ffree-line-length-none -I. -I../../../src/66_paw -I../.. -I../../src/incs -I../../../src/incs -I/global/common/hopper/usg/abinit/Build/abinit-6.2.2/gnu/plugins/etsf_io -I/global/common/hopper/usg/abinit/Build/abinit-6.2.2/gnu/plugins/netcdf -ffree-form -J/global/common/hopper/usg/abinit/Build/abinit-6.2.2/gnu/src/mods -O3 -c -o indgrid.o ../../../src/66_paw/indgrid.F90

Locked