band/fft parallelization on cineca sp6 with abinit 5.8.4

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
vormar
Posts: 4
Joined: Tue Nov 23, 2010 10:47 am

band/fft parallelization on cineca sp6 with abinit 5.8.4

Post by vormar » Tue Nov 23, 2010 11:58 am

Dear all,

I am dealing with molecules in big supercells therefore I only use one k-point. However, I need to obtain huge number of unoccupied states, which could be quite time consuming. To this end, I decided to try to parallelize non self-consistent calculations over bands after running a self-consistent calculation only for occupied bands. I'm not an expert of Abinit but already found out that only k-point parallelization is automatically switched on.

I read through the documentation and variable docs and found that I need to switch on band parallelization via specifying paral_kgb 1 in the input. First I ran the calculation with a negative paral_kgb value so I got in principle good values for the other parameters that govern parallelization. Here is what I set for 6 processors based upon this:

Code: Select all

paral_kgb 1
wfoptalg 4
nloalg 4
fftalg 401
fft_opt_lob 2
npband 2
npfft 3
npkpt 1


The problem is that the calculation (a self-consistent calculation with relatively few number of bands) crashes during the first self-consistent cycle:

Code: Select all

 ITER STEP NUMBER     1
 vtorho : nnsclo_now=  2, note that nnsclo,dbl_nnsclo,istep=  0 0  1
 starting lobpcg, with nblockbd,mpi_enreg%nproc_band 16 2
ERROR: 0031-250  task 0: Segmentation fault
ERROR: 0031-250  task 1: Segmentation fault
ERROR: 0031-250  task 2: Segmentation fault
ERROR: 0031-250  task 3: Segmentation fault
ERROR: 0031-250  task 4: Segmentation fault
ERROR: 0031-250  task 5: Segmentation fault


I tried several other options for the above mentioned variables but none of them helped. Then, I realized that in the log file the following WARNING message appeared (besides a warning for the fft the grid: "The second and third dimension of the FFT grid, 0 0 were imposed to be multiple of the number of processors for the FFT, 3", which is harmless in my opinion until boxcut>=2):

Code: Select all

 chkinp: WARNING -
  When k-points/bands/FFT parallelism is activated
  (paral_kgb=1), only MPI-IO input/output is allowed !
  * Your Abinit executable has not been compiled with
   --enable-mpi-io and accesswff/=1
  * accesswff/=1 in your input file
  You will not be able to perform input/output !


Does this mean that in order to be able to use the code I have to compile it with --enable-mpi-io="yes"? Is the reason for the crash? Certainly, the code runs flawlessly without using this kind of parallelization. Since I don't have access for other machines I couldn't try whether it is specific to this cluster or not. I know that 5.8.4 is a quite old version, but compiling Abinit on cineca sp6 is not straightforward at all, and if I'm right administrators are just trying to compile v6.4.1.

I have an additional question. Can I parallelize chained calculations (calculations with scf dataset followed by and nscf dataset)? Since in this case the number of bands is different I suspect that this cause problems...

If needed I can send the entire input file / log file for a quite small system where this behavoir can be reproduced.

Thanks in advance,
Marton
M\'arton V\"or\"os
PhD student
Department of Atomic Physics,
Budapest University of Technology and Economics
Budafoki út 8., H-1111, Budapest, Hungary
http://www.fat.bme.hu/MartonVoros

jolafc
Posts: 34
Joined: Wed Aug 26, 2009 5:37 am

Re: band/fft parallelization on cineca sp6 with abinit 5.8.4

Post by jolafc » Wed Nov 24, 2010 6:26 pm

Hi,

First thing, abinit cannot run a calculation with second and third dimension of the FFT grid set to zero. So, this warning is to be solved if your calculation is to run. The solution is given in the "Input variables" section of the abinit web site, under the keyword npfft :

"npfft should be a divisor or equal to the number of FFT planes along the 2nd and 3rd dimensions (ngfft(2) and ngfft(3)), respectively, and smaller than min(ngfft(2),ngfft(3))/2."

So, it looks like npfft 3 was not a divisor of ngfft(2) and ngfft(3) for your calculation. Look at the section "FFT mesh" of your .log. It should look like this:

Code: Select all

 ==== FFT mesh ====
  FFT mesh divisions ........................    80   90   40
  Augmented FFT divisions ...................    81   91   40
  FFT algorithm .............................   112
  FFT cache size ............................    16

you're interested in the last 2 numbers of the first line for your calculation. Choose a divisor of those for npfft, restart your calculation and tell us if it works...

Good luck!

Jonathan

vormar
Posts: 4
Joined: Tue Nov 23, 2010 10:47 am

Re: band/fft parallelization on cineca sp6 with abinit 5.8.4

Post by vormar » Thu Nov 25, 2010 12:02 am

Hi Jonathan,

I don't have that FFT mesh part in my log file (is it supposed to be there?). Anyway, I'm not sure that this causes the problem. Here is the complete WARNING message:

Code: Select all

 getng : WARNING -
  The second and third dimension of the FFT grid,    0    0  were imposed to be multiple of the number of processors for the FFT,    3
 For input ecut=  1.000000E+01 best grid ngfft=     100     108     108
       max ecut=  1.066270E+01
 However, must be changed due to symmetry =>     108     108     108
       with max ecut=  0.124370E+02
 getng: value of mgfft=     108 and nfft=      419904
 getng: values of ngfft(4),ngfft(5),ngfft(6)     109     109     108
 getmpw: optimal value of mpw=    9910


As you can see, the fft grid is set to 108x108x108, which should be harmless in my opinion since it satisfies the needed properties and according to the log file, the boxcut is well beyond 2: boxcut(ratio)= 2.23042.

Thanks,
Marton
M\'arton V\"or\"os
PhD student
Department of Atomic Physics,
Budapest University of Technology and Economics
Budafoki út 8., H-1111, Budapest, Hungary
http://www.fat.bme.hu/MartonVoros

jolafc
Posts: 34
Joined: Wed Aug 26, 2009 5:37 am

Re: band/fft parallelization on cineca sp6 with abinit 5.8.4

Post by jolafc » Thu Dec 02, 2010 5:20 pm

The fact that abinit set the 2nd and 3rd dimensions of the FFT grid to zero is indeed odd, since your npfft is a divisor of the original values. Again, abinit cannot run a calculation if a FFT grid dimension is 0, because it then have to store the real space electronic density and potential (for instance) in a 3 dimensional array of zero size... Hence, I suspect, the segmentation fault.

Try the same calculation with npfft 1. If it works, you can just increase npband and leave npfft to 1 for your calculation.

Otherwise, I'm curious to see your input (so I can test if it works with abinit 6.5.0).

Jonathan

vormar
Posts: 4
Joined: Tue Nov 23, 2010 10:47 am

Re: band/fft parallelization on cineca sp6 with abinit 5.8.4

Post by vormar » Fri Dec 03, 2010 5:16 pm

I know that running a calculation with a 0x0xN grid is meaningless I just thought that it is reset to a meaningful number. Anyway, I couldn't make it work. It crashed as usual. See below the input file I tried to run on 5 processors. I used fhi lda pseudos for Si and H (I think quite similar to those that appear on the website).

Code: Select all

paral_kgb 1
wfoptalg 4
nloalg 4
fftalg 401
intxc 0
fft_opt_lob 2
npband 5
npfft 1
npkpt 1

nstep 50
toldfe 1.0d-8 Ry
diemac 2.0
nband 40
acell 34.015067794 34.015067794 34.015067794
ecut 20.0 Ry
kptopt 0
nkpt 1       
ntypat 2
znucl 14 1
natom 26
typat 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
xangst

 -1.33884300 -1.33884300 -1.33884300
  0.00000000 -2.66789900  0.00000000
  1.33884300 -1.33884300  1.33884300
 -2.66789900  0.00000000  0.00000000
 -1.33884300  1.33884300  1.33884300
  0.00000000  0.00000000  2.66789900
  0.00000000  0.00000000 -2.66789900
  1.33884300  1.33884300 -1.33884300
  2.66789900  0.00000000  0.00000000
  0.00000000  2.66789900  0.00000000
 -2.20822000 -2.20822000 -2.20822000
 -0.85918800 -3.55202600  0.85918800
  0.85918800 -3.55202600 -0.85918800
  2.20822000 -2.20822000  2.20822000
 -3.55202600 -0.85918800  0.85918800
 -3.55202600  0.85918800 -0.85918800
 -2.20822000  2.20822000  2.20822000
  0.85918800  0.85918800  3.55202600
 -0.85918800 -0.85918800  3.55202600
 -0.85918800  0.85918800 -3.55202600
  0.85918800 -0.85918800 -3.55202600
  2.20822000  2.20822000 -2.20822000
  3.55202600  0.85918800  0.85918800
  3.55202600 -0.85918800 -0.85918800
  0.85918800  3.55202600  0.85918800
 -0.85918800  3.55202600 -0.85918800


Marton
M\'arton V\"or\"os
PhD student
Department of Atomic Physics,
Budapest University of Technology and Economics
Budafoki út 8., H-1111, Budapest, Hungary
http://www.fat.bme.hu/MartonVoros

jolafc
Posts: 34
Joined: Wed Aug 26, 2009 5:37 am

Re: band/fft parallelization on cineca sp6 with abinit 5.8.4

Post by jolafc » Tue Dec 07, 2010 7:49 pm

Hi!

It seems your installation of abinit or a bug in version 5.8.4 is causing your trouble, since I had no trouble running your input file with abinit 6.4.2. The resulting .log is attached to this post.

So, it looks like you have to compile a more recent version of the code on your system. My version of abinit was compiled using this .ac :

Code: Select all

#
# Generic config file for ABINIT (documented template)
#
# After editing this file to suit your needs, you may save it as
# "~/.abinit/build/<hostname>.ac" to keep these parameters as per-user
# defaults. Just replace "<hostname>" by the name of your machine,
# excluding the domain name.
#
# Example: if your machine is called "myhost.mydomain", you will save
#          this file as "~/.abinit/build/myhost.ac".
#
# You may put this file at the top level of an ABINIT source tree as well,
# in which case its definitions will apply to this particular tree only.
#
# Hint: If you do not know the name of your machine, just type "hostname".
#

#
# IMPORTANT NOTES
#
# 1. It may happen that this file is outdated. In such a case, the best is
#    to refer to the command-line options of the "configure" script. To
#    obtain a complete list of these options, just type "./configure --help"
#    from the top source directory of ABINIT.
#
# 2. Setting CPPFLAGS, CFLAGS, CXXFLAGS, or FCFLAGS manually is not
#    recommended and will override any other mechanism involved in their
#    configuration. A gentler way to do is to use the "--with-*-optflags"
#    command-line options of the "configure" script. See below for details.
#
# 3. Do not forget to remove the leading "#" on a line when you customize
#    an option.
#

# ---------------------------------------------------------------------------- #
# Global build options                                                         #
# ---------------------------------------------------------------------------- #

# Enable 64-bit compiler flags (default is no)
#
# Note: when necessary, fine-grained tuning may be achieved by setting
#       the CPPFLAGS_64BITS, CFLAGS_64BITS, CXXFLAGS_64BITS, and
#       FCFLAGS_64BITS variables manually.
#
enable_64bit_flags="yes"

# Enable debug mode (default is yes)
#
# Allowed values:
#
#     * no       : strip debugging symbols
#     * yes      : keep debugging symbols and allow for user-defined flags
#     * enhanced : disable optimizations and debug verbosely
#     * paranoid : enhanced debugging with additional warnings
#     * naughty  : paranoid debugging with array bound checks
#
# Levels other than no and yes are "profile mode" levels in which
# user-defined flags are overriden and optimizations disabled (see
# below)
#
# Note: debug levels are incremental, i.e. the flags of one level are
# appended to those of the previous ones
#
#enable_debug="yes"

# Enable compiler hints (default is yes)
#
# Allowed values:
#
#     * no       : do not apply any hint
#     * yes      : apply all available hints
#
#enable_hints="no"

# Select optimization level whenever possible (default is standard,
# except when debugging is in profile mode - see above - in which case
# optimizations are turned off)
#
# Supported levels:
#
#     * no         : disable optimizations
#     * yes        : enable optimizations with user-defined flags
#     * safe       : build slow and very reliable code
#     * standard   : build fast and reliable code
#     * aggressive : build very fast code, regardless of reliability
#
# Levels other than no and yes are "profile mode" levels in which
# user-defined flags are overriden
#
# Note:
#
#     * this option is ignored when debugging is in profile mode
#
enable_optim="yes"

# Where to install ABINIT (default is /usr/local)
#
#prefix="${HOME}/hpc"

# ---------------------------------------------------------------------------- #
# C support                                                                    #
# ---------------------------------------------------------------------------- #

# C preprocessor (should not be set in most cases)
#
#CPP="/usr/bin/cpp"

# C preprocessor additional custom flags
#
#CPPFLAGS_EXTRA="-P"

# Forced C preprocessor flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#CPPFLAGS="-P"

                       # ------------------------------ #

# C compiler
#
CC="mpicc"

# C compiler additional custom flags
#
CFLAGS_EXTRA="-O3"

# Forced C compiler flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#CFLAGS="-O2"

# C linker additional custom flags
#
#CC_LDFLAGS_EXTRA="-Bstatic"

# Forced C linker flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#CC_LDFLAGS="-Bstatic"

# C linker additional custom libraries
#
#CC_LIBS_EXTRA="-lrt"

# Forced C linker libraries
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#CC_LIBS="-lrt"

# ---------------------------------------------------------------------------- #
# C++ support                                                                  #
# ---------------------------------------------------------------------------- #

# Note: the XPP* environment variables will likely have no effect

# C++ preprocessor (should not be set in most cases)
#
#XPP="/usr/bin/cpp"

# C++ preprocessor additional custom flags
#
#XPPFLAGS_EXTRA="-P"

# Forced C++ preprocessor flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#XPPFLAGS="-P"

                       # ------------------------------ #

# C++ compiler
#
CXX="mpic++"

# C++ compiler custom flags
#
CXXFLAGS_EXTRA="-O3"

# Forced C++ compiler flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#CXXFLAGS="-O2"

# C++ linker additional custom flags
#
#CXX_LDFLAGS_EXTRA="-Bstatic"

# Forced C++ linker flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#CXX_LDFLAGS="-Bstatic"

# C++ linker additional custom libraries
#
#CXX_LIBS_EXTRA="-lblitz"

# Forced C++ linker libraries
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#CXX_LIBS="-lblitz"

# ---------------------------------------------------------------------------- #
# Fortran support                                                              #
# ---------------------------------------------------------------------------- #

# Fortran preprocessor (should not be set in most cases)
#
#FPP="/usr/local/bin/fpp"

# Fortran preprocessor additional custom flags
#
#FPPFLAGS_EXTRA="-P"

# Forced Fortran preprocessor flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#FPPFLAGS="-P"

                       # ------------------------------ #

# Fortran compiler
#
FC="mpif90"

# Fortran compiler additional custom flags
#
FCFLAGS_EXTRA="-O3"

# Forced Fortran compiler flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#FCFLAGS="-O2"

# Fortran linker custom flags
#
#FC_LDFLAGS_EXTRA="-Wl,-search_paths_first"

# Forced Fortran linker flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#FC_LDFLAGS="-Bstatic"

# Fortran linker additional custom libraries
#
#FC_LIBS_EXTRA="-lsvml"

# Forced Fortran linker libraries
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#FC_LIBS="-lsvml"

                       # ------------------------------ #

# Use C clock instead of Fortran clock for timings (default is no)
#
#enable_cclock="yes"

# Wrap Fortran compiler calls (default is auto-detected)
# Combine this option with enable_debug="yes" to keep preprocessed source
# files (they are removed by default, except if their build fails)
#
#enable_fc_wrapper="yes"

# Choose whether to read file lists from standard input or "ab.files"
# (default is yes = standard input)
#
#enable_stdin="no"

# ---------------------------------------------------------------------------- #
# Build customization                                                          #
# ---------------------------------------------------------------------------- #

# Enable the build of macroave (default is yes)
#
#enable_macroave="no"

# Set per-directory Fortran optimizations (useful when a Fortran compiler
# crashes during the build)
#
# Note: this option is not available through the command line
#
#fcflags_opt_95_drive="-O0"

# ---------------------------------------------------------------------------- #
# Libraries and linking                                                        #
# ---------------------------------------------------------------------------- #

# Set archiver name
#
#AR="xiar"

# Archiver additional custom flags
#
#ARFLAGS_EXTRA="-X 64"

# Forced archiver flags
# Note: will override build-system configuration - USE AT YOUR OWN RISKS!
#
#ARFLAGS="-X 32_64"

# ---------------------------------------------------------------------------- #
# MPI support                                                                  #
# ---------------------------------------------------------------------------- #

# Determine whether to build parallel code (default is unset)
#
#  * enable_mpi=unset  : let the configure script auto-detect MPI support
#  * enable_mpi=no     : disable MPI support (bypassing autodetection)
#  * enable_mpi=yes    : enable MPI support (bypassing autodetection)
#
# If left unset, the build system will take all appropriate decisions by
# itself, and MPI will be enabled only if the build environment supports
# it
#
enable_mpi="yes"

# Activate parallel I/O (default is no)
# WARNING: this feature is still under development
# enable_mpi_io="yes"

# Activate untested features of parallel I/O (default is no)
# WARNING: USE AT YOUR OWN RISKS!
#enable_mpi_io_test="yes"

# Activate MPI time tracing (default is no)
# WARNING: this feature is still under development
#enable_mpi_trace="yes"

# Include flags for the MPI library (default is unset)
#
#with_mpi_includes="-I/software/MPI/openmpi-1.3.4_sunstudio/include"

# Set MPI standard level (default is auto-detected)
# Note: usually 1 for MPICH or LAM, 2 for OpenMPI
#
# Supported levels:
#
#   * 1 : use 'mpif.h' header
#   * 2 : use mpi Fortran module
#
#with_mpi_level="1"

# Link flags for the MPI library (default is unset)
#
#with_mpi_libs="-L/software/MPI/openmpi-1.3.4_sunstudio/lib -lmpi"

# Convenience option: try to set MPI parameters by looking into the
# specified directory (default is unset)
#
# Note 1: the build system expects to find subdirectories named bin/, lib/,
# include/ under the prefix
#
# Note 2: this option is mutually exclusive with the other with_mpi_*
# options
#
#with_mpi_prefix="/software/MPI/openmpi-1.3.4_sunstudio"

# Set MPI runner for tests (default is unset)
# Note: replaces the former with_mpi_runner option
#
#MPI_RUNNER="/usr/local/bin/mpiexec"

# Set serial runner for tests (default is unset)
# Note: this option has no effect yet
#
#SERIAL_RUNNER="/usr/local/bin/srun"

# ---------------------------------------------------------------------------- #
# GPU support                                                                  #
# ---------------------------------------------------------------------------- #

# Enable GPU library support (default is no)
# Requirement: go through README.GPU before doing anything
# Note: this is highly experimental - USE AT YOUR OWN RISKS!
#
#enable_gpu="yes"

# Flavor of the GPU library to use (default is cuda-single)
#
# Supported libraries:
#
#   * cuda-single : Cuda with single-precision arithmetic
#   * cuda-double : Cuda with double-precision arithmetic
#
#with_gpu_flavor="cuda-double"

# Include flags for the GPU library (default is unset)
#
#with_gpu_includes="-I/usr/local/include/gsl"

# Link flags for the GPU library (default is unset)
#
#with_gpu_libs="-L/usr/local/cuda/lib64 -lcublas -lcufft -lcudart"

# Convenience option: try to set GPU parameters by looking into the
# specified directory (default is unset)
#
# Note 1: the build system expects to find subdirectories named bin/, lib/,
# include/ under the prefix
#
# Note 2: this option is mutually exclusive with the other with_gpu_*
# options
#
#with_gpu_prefix="/usr/local/cuda"

                       # ------------------------------ #

#
# The following options are used to build GPU code
#

# GPU C preprocessor flags (default is unset)
#
#with_gpu_cppflags=""

# GPU C compiler flags (default is unset)
#
#with_gpu_cflags=""

# GPU C linker flags (default is unset)
#
#with_gpu_ldflags=""

# ---------------------------------------------------------------------------- #
# Timer library support                                                        #
# ---------------------------------------------------------------------------- #

# Enable external timer library support (default is no)
#
#enable_timer="yes"

# Flavor of the timer library to use (default is papi)
#
# Supported libraries:
#
#   * abinit
#   * gptl (not implemented)
#   * papi
#
#with_timer_flavor="papi"

# Include flags for the timer library (default is unset)
#
#with_timer_includes="-I/usr/local/include/papi"

# Link flags for the timer library (default is unset)
#
#with_timer_libs="-L/usr/local/lib/papi -lpapi"

# ---------------------------------------------------------------------------- #
# Transferable I/O (TRIO) support                                              #
# ---------------------------------------------------------------------------- #

# Enable transferable I/O library support (default is no)
# By transferable I/O (TRIO), we mean that the files produced by Abinit
# will be transferable seamlessly to other computers and codes
# Note: this is highly experimental - USE AT YOUR OWN RISKS!
#
enable_trio="yes"

# Flavor of transferable I/O library to support (default is netcdf)
#
# Supported libraries (aka TRIO: FoX, HDF, NetCDF):
#
#   * etsf   : ETSF_IO file format (NetCDF-based)
#   * fox    : XML I/O with Fortran
#   * hdf    : HDF file format
#   * netcdf : NetCDF file format
#
# You may specify any combination, using '+' as a separator
#
with_trio_flavor="netcdf+etsf"

# Include flags for the transferable I/O library (default is unset)
#
#with_trio_includes="-I/usr/local/include"

# Link flags for the transferable I/O library (default is unset)
#
#with_trio_libs="-L/usr/local/lib -letsf_io"

# ---------------------------------------------------------------------------- #
# FFT support                                                                  #
# ---------------------------------------------------------------------------- #

# Enable external FFT library support (default is no)
# Note: by default, Abinit will use the internal Goedecker FFT library
# Note: this is highly experimental - USE AT YOUR OWN RISKS!
#
#enable_fft="yes"

# Flavor of FFT library to support (default is fftw3)
#
# Supported libraries:
#
#   * fftw2
#   * fftw2-threads
#   * fftw3
#   * fftw3-mkl
#   * fftw3-threads
#
#with_fft_flavor="fftw3"

# Include flags for the FFT library (default is unset)
#
#with_fft_includes="-I/software/misc-libs/fftw/3.2.2/include"

# Link flags for the FFT library (default is unset)
#
#with_fft_libs="-L/software/misc-libs/fftw/3.2.2/lib -libfftw3 -libfftw3_threads"

# ---------------------------------------------------------------------------- #
# Linear algebra support                                                       #
# ---------------------------------------------------------------------------- #

# Enable external linear algebra support (default is yes)
#
enable_linalg="no"

# Include flags for the external linear algebra libraries
#
#with_linalg_includes="-I/software/atlas-3.9.20/include"

# Link flags for the external linear algebra libraries (default is unset)
#
# Note: internal versions will be built if left unset.
#
#with_linalg_libs="-L/software/atlas-3.9.20/lib -libatlas -libcblas -libf77blas -liblapack"
#with_linalg_libs="-lmkl -lmkl_lapack -lguide -lpthread"

# Flavor of linear algebra libraries to use (default is netlib)
#
# Supported libraries:
#
#   * acml      (not implemented)
#   * asl       (not implemented)
#   * atlas     (untested)
#   * cxml      (not implemented)
#   * essl
#   * mkl       (not implemented)
#   * mlib      (not implemented)
#   * netlib
#   * sgimath   (not implemented)
#   * sunperf   (not implemented)
#
#with_linalg_flavor="atlas"

# Enable SCALapack support (default is no)
#
#enable_scalapack="yes"

# Note: the include and link flags for SCALapack have to be specified
#       with those of BLAS and LAPACK

# ---------------------------------------------------------------------------- #
# Mathematical library support                                                 #
# ---------------------------------------------------------------------------- #

# Enable external math library support (default is no)
#
#enable_math="yes"

# Flavor of the math library to use (default is gsl)
#
# Supported libraries:
#
#   * gsl
#   * mlib
#
#with_math_flavor="gsl"

# Include flags for the math library (default is unset)
#
#with_math_includes="-I/share/apps/gsl-1.13"

# Link flags for the math library (default is unset)
#
#with_math_libs="-L/share/apps/gsl-1.13 -lgsl"

# ---------------------------------------------------------------------------- #
# DFT library support                                                          #
# ---------------------------------------------------------------------------- #

# Enable external DFT library support (default is no)
#
#enable_dft="no"

# Flavor of the DFT library to use (default is bigdft+libxc+wannier90)
#
# Supported libraries:
#
#   * bigdft    : wavelets
#   * libxc     : exchange-correlation functionals
#   * wannier90 : Wannier functions
#
#with_dft_flavor="libxc"

# Include flags for the math library (default is unset)
#
#with_dft_includes="-I/usr/local/include/dft"

# Link flags for the math library (default is unset)
#
#with_dft_libs="-L/usr/local/lib -lxc"

# ---------------------------------------------------------------------------- #
# Plug-ins                                                                     #
# ---------------------------------------------------------------------------- #

#
# IMPORTANT NOTE: the source tarballs of plug-ins are downloaded from
#                 internet into ~/.abinit/tarballs
#

# Look for the plug-in components in <prefix>/bin, <prefix>/include
# and <prefix>/lib (default is unset)
#
#with_plugins_prefix="/opt/etsf/abinit-plugins"

# Set local repository where to look for plug-in tarballs (default is
# ~/.abinit/tarballs)
#
#with_plugins_tardir="/opt/etsf/abinit-plugins/tarballs"

                       # ------------------------------ #

# Enable BigDFT support (default is yes)
#
#enable_bigdft="no"

# Include flags for the BigDFT library (default is unset)
#
#with_bigdft_includes="-I/usr/local/include/bigdft"

# Link flags for the BigDFT library (default is unset)
#
#with_bigdft_libs="-L/usr/local/lib/bigdft -lbigdft -lpoissonsolver"

                       # ------------------------------ #

# Enable ETSF_IO library support (default is yes)
#
#enable_etsf_io="no"

# Include flags for the ETSF_IO library (default is unset)
#
#with_etsf_io_includes="-I/opt/etsf/include"

# Link flags for the ETSF_IO library (default is unset)
#
#with_etsf_io_libs="-L/opt/etsf/lib -letsf_io"

                       # ------------------------------ #

# Enable FoX support (default is no)
#
#enable_fox="yes"

# Include flags for the FoX library (default is unset)
#
#with_fox_includes="-I/usr/local/include/fox"

# Link flags for the FoX library (default is unset)
#
#with_fox_libs="-L/usr/local/lib/fox -lFoX_wxml -lFoX_wcml -lFoX_utils -lFoX_sax -lFoX_common -lfsys"

                       # ------------------------------ #

# Enable Nanoquanta/LibXC library support (default is yes)
#
#enable_libxc="no"

# Include flags for the Nanoquanta/LibXC library (default is unset)
#
#with_libxc_includes="-I/opt/etsf/include"

# Link flags for the Nanoquanta/LibXC library (default is unset)
#
#with_libxc_libs="-L/opt/etsf/lib -llibxc"

                       # ------------------------------ #

# Enable NetCDF support (default is yes)
#
#enable_netcdf="no"

# Include flags for the NetCDF library (default is unset)
#
#with_netcdf_includes="-I/opt/local/lib"

# Link flags for the NetCDF library (default is unset)
#
#with_netcdf_libs="-L/usr/local/lib/netcdf -lnetcdf"

                       # ------------------------------ #

# Enable Wannier90 support (default is yes)
#
#enable_wannier90="no"

# Full path for the Wannier90 binary (default is unset)
#
#with_wannier90="/usr/local/bin/wannier90"

# Include flags for the Wannier90 library (default is unset)
#
#with_wannier90_includes="-I/usr/local/include/wannier90"

# Link flags for the Wannier90 library (default is unset)
#
#with_wannier90_libs="-L${HOME}/lib/wannier90 -lwannier90"

# ---------------------------------------------------------------------------- #
# Developer options                                                            #
# ---------------------------------------------------------------------------- #

# Note: all the following options are disabled by default
#       (i.e. they have the complementary values to those displayed)

# Enable bindings (caliste)
#
#enable_bindings="yes"

# Enable BSE unpacking (gmatteo)
#
#enable_bse_unpacked="yes"

# Enable CLib (gmatteo)
#
#enable_clib="yes"

# Enable exports (pouillon)
#
#enable_exports="yes"

# Enable GW calculations with cut-offs (gmatteo)
#
#enable_gw_cutoff="yes"

# Enable double precision for GW calculations (gmatteo)
#
enable_gw_dpc="yes"

# Enable optimal GW calculations (gmatteo)
#
#enable_gw_optimal="yes"

# Enable wrapper for GW calculations (gmatteo)
#
#enable_gw_wrapper="yes"

# Enable Symmetric Multi-Processing (SMP)
#
# Note: this currently only activates OpenMP
#
#enable_smp="yes"

# ---------------------------------------------------------------------------- #
# Maintainer options                                                           #
# ---------------------------------------------------------------------------- #

# Activate support for all plug-ins (default is unset)
#
# Warning: setting this option to "no" will disable plug-in support
#
#enable_all_plugins="yes"

# Activate maintainer checks (default is no)
#
#enable_maintainer_checks="no"

# Activate test timeout support (default is no)
#
#enable_test_timeout="yes"

# Set timeout for automatic tests (default is 900)
#
# Note: this option requires test timeout to be activated
#
#with_test_timeout="1200"

# Fortran compiler vendor to be used by the build system (default is unset)
#
# Note: do not use if you don't know what it is about
#
#with_fc_vendor="dummy"

# Fortran compiler version to be used by the build system (default is unset)
#
# Note: do not use if you don't know what it is about
#
#with_fc_version="0.0"

# ---------------------------------------------------------------------------- #
# Documentation options                                                        #
# ---------------------------------------------------------------------------- #

# Markdown flags
#
#MDFLAGS=""

# LaTeX flags
#
#LTXFLAGS=""

# DviPDF flags
#
#PDFFLAGS=""

# ---------------------------------------------------------------------------- #
# Advanced GPU options (experts only)                                          #
# ---------------------------------------------------------------------------- #

# DO NOT EDIT THIS SECTION UNLESS YOU *TRULY* KNOW WHAT YOU ARE DOING!
# In any case, the outcome of setting the following options is highly
# impredictible

# nVidia C compiler (should not be set)
#
#NVCC="/usr/local/cuda/bin/nvcc"

# Forced nVidia C compiler preprocessing flags (should not be set)
#
#NVCC_CPPFLAGS="-DHAVE_CUDA_SDK"

# Forced nVidia C compiler flags (should not be set)
#
#NVCC_CFLAGS=""

# Forced nVidia linker flags (should not be set)
#
#NVCC_LDFLAGS=""

# Forced nVidia linker libraries (should not be set)
#
#NVCC_LIBS=""



Good luck!

Jonathan
Attachments
1.log
(51.74 KiB) Downloaded 370 times

vormar
Posts: 4
Joined: Tue Nov 23, 2010 10:47 am

Re: band/fft parallelization on cineca sp6 with abinit 5.8.4

Post by vormar » Wed Dec 08, 2010 12:06 am

Jonathan,

Thanks for the careful inspection of the problem. Fortunately, the support has already compiled a new version of abinit (6.4.1) in cineca sp6 therefore I do not have to compile it myself. The input file works for me too!

Thanks,
Marton
M\'arton V\"or\"os
PhD student
Department of Atomic Physics,
Budapest University of Technology and Economics
Budafoki út 8., H-1111, Budapest, Hungary
http://www.fat.bme.hu/MartonVoros

Locked