compiling on hopper/NERSC
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.
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.
compiling on hopper/NERSC
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.
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.
Re: compiling on hopper/NERSC
Hi,
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
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
Jean-Michel Beuken
Computer Scientist
Re: compiling on hopper/NERSC
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
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
Re: compiling on hopper/NERSC
Hi
which are the results of these commands :
which mpif90
mpif90 -show
jmb
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
Jean-Michel Beuken
Computer Scientist
Re: compiling on hopper/NERSC
no mpif90 found
Re: compiling on hopper/NERSC
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
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