abinit

  • version 9.2.2
  • Compilé avec intel mpi 18, et les compilateurs gcc 5.2 ainsi que l'interface fft dfti et mkl pour les blas/lapack, netcdf, HDF5, libXC.
  • les binaires sont placés sous /sw/codes/abinit/9.2.2/gnu52. Un module codes/abinit/9.2.2_gnu52 permet de charger les modules nécessaires.
  • Exemple de script :
    [@thor abinit]$ cat run_abinit.pbs
    #!/bin/bash
    #PBS -j eo
    #PBS -l select=2:ncpus=20:mpiprocs=20:ompthreads=1
    #PBS -l place=scatter:excl
    #PBS -l walltime=2:00:00
    #PBS -N testExp
    #PBS -q express
    
    date
    module purge
    module load codes/abinit/9.2.2_gnu52
    
    NPROCS=$(wc -l < $PBS_NODEFILE)
    
    #export OMP_NUM_THREADS=1
    
    export MKL_NUM_THREADS=$OMP_NUM_THREADS
    
    cd ${PBS_O_WORKDIR}
    #Affichage dans le fichier de sortie de plusieurs informations
    #Run
    
    #which abinit
    mpirun -n $NPROCS  abinit < in.files  > log.abinit.$PBS_JOBID 2>&1
    
    
  • More information :
    [homer@thor abinit]$ abinit -h
     -v, --version              Show version number and exit.
     -b, --build                Show build parameters and exit.
     -d, --dry-run              Validate input file and exit.
     -j, --omp-num-threads      Set the number of OpenMp threads.
     --abimem-level NUM         Set memory profiling level. Requires HAVE_MEM_PROFILING
     --abimem-limit-mb NUM      Log malloc/free only if size > limit in Megabytes. Requires abimem-level 3
     --ieee-halt                Halt the code if one of the *usual* IEEE exceptions is raised.
     --ieee-signal              Signal the occurrence of the *usual* IEEE exceptions.
     --fft-ialltoall[=bool]     Use non-blocking ialltoall in MPI-FFT (used only if ndat>1 and MPI3).
     --xgemm3m[=bool]           Use [Z,C]GEMM3M]
     --gnu-mtrace               Enable mtrace (requires GNU and clib).
     --log                      Enable log files and status files in parallel execution.
     --netcdf-classic           Use netcdf classic mode for new files if parallel-IO is not needed.
                                Default is netcdf4/hdf5
     --enforce-fortran-io       Use Fortran-IO instead of MPI-IO when operating on Fortran files
                                Useful to read files when the MPI-IO library is not efficient.
                                DON'T USE this option when the code needs to write large files e.g. WFK
     -t, --timelimit            Set the timelimit for the run. Accepts time in Slurm notation:
                                    days-hours
                                    days-hours:minutes
                                    days-hours:minutes:seconds
                                    minutes
                                    minutes:seconds
                                    hours:minutes:seconds
     --verbose                  Verbose mode
     -h, --help                 Show this help and exit.
     --F03                      Run F03 mode (for Multibinit only).
    [homer@thor abinit]$ abinit -b
     DATA TYPE INFORMATION:
     REAL:      Data type name: REAL(DP)
                Kind value:      8
                Precision:      15
                Smallest nonnegligible quantity relative to 1: 0.22204460E-015
                Smallest positive number:                      0.22250739E-307
                Largest representable number:                  0.17976931E+309
     INTEGER:   Data type name: INTEGER(default)
                Kind value: 4
                Bit size:   32
                Largest representable number: 2147483647
     LOGICAL:   Data type name: LOGICAL
                Kind value: 4
     CHARACTER: Data type name: CHARACTER             Kind value: 1
      ==== Using MPI-2 specifications ====
      MPI-IO support is ON
      xmpi_tag_ub ................   2147483647
      xmpi_bsize_ch ..............            1
      xmpi_bsize_int .............            4
      xmpi_bsize_sp ..............            4
      xmpi_bsize_dp ..............            8
      xmpi_bsize_spc .............            8
      xmpi_bsize_dpc .............           16
      xmpio_bsize_frm ............            4
      xmpi_address_kind ..........            8
      xmpi_offset_kind ...........            8
      MPI_WTICK ..................    9.9999999999999995E-007
    
     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     CPP options activated during the build:
    
                        CC_GNU                   CXX_GNU                    FC_GNU
    
                     HAVE_DFTI HAVE_FC_ALLOCATABLE_DT...             HAVE_FC_ASYNC
    
             HAVE_FC_BACKTRACE  HAVE_FC_COMMAND_ARGUMENT      HAVE_FC_COMMAND_LINE
    
            HAVE_FC_CONTIGUOUS           HAVE_FC_CPUTIME              HAVE_FC_EXIT
    
                 HAVE_FC_FLUSH             HAVE_FC_GAMMA            HAVE_FC_GETENV
    
       HAVE_FC_IEEE_ARITHMETIC   HAVE_FC_IEEE_EXCEPTIONS          HAVE_FC_INT_QUAD
    
                 HAVE_FC_IOMSG     HAVE_FC_ISO_C_BINDING  HAVE_FC_ISO_FORTRAN_2008
    
            HAVE_FC_LONG_LINES        HAVE_FC_MOVE_ALLOC  HAVE_FC_ON_THE_FLY_SHAPE
    
               HAVE_FC_PRIVATE         HAVE_FC_PROTECTED           HAVE_FC_SHIFTLR
    
             HAVE_FC_STREAM_IO            HAVE_FC_SYSTEM          HAVE_FORTRAN2003
    
                     HAVE_HDF5             HAVE_HDF5_MPI        HAVE_LIBPAW_ABINIT
    
                  HAVE_LIBPSML      HAVE_LIBTETRA_ABINIT                HAVE_LIBXC
    
             HAVE_LINALG_AXPBY        HAVE_LINALG_GEMM3M  HAVE_LINALG_MKL_IMATCOPY
    
       HAVE_LINALG_MKL_OMATADD  HAVE_LINALG_MKL_OMATCOPY   HAVE_LINALG_MKL_THREADS
    
                      HAVE_MPI                 HAVE_MPI2       HAVE_MPI_IALLGATHER
    
           HAVE_MPI_IALLREDUCE        HAVE_MPI_IALLTOALL       HAVE_MPI_IALLTOALLV
    
               HAVE_MPI_IBCAST         HAVE_MPI_IGATHERV        HAVE_MPI_INTEGER16
    
                   HAVE_MPI_IO HAVE_MPI_TYPE_CREATE_S...               HAVE_NETCDF
    
           HAVE_NETCDF_FORTRAN   HAVE_NETCDF_FORTRAN_MPI           HAVE_NETCDF_MPI
    
             HAVE_OMP_COLLAPSE               HAVE_OPENMP             HAVE_OS_LINUX
    
             HAVE_TIMER_ABINIT               HAVE_XMLF90
     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
     === Build Information ===
      Version       : 9.2.2
      Build target  : x86_64_linux_gnu5.2
      Build date    : 20210104
    
     === Compiler Suite ===
      C compiler       : gnu5.2
      C++ compiler     : gnu5.2
      Fortran compiler : gnu5.2
      CFLAGS           : -g -O2 -mtune=native -march=native
      CXXFLAGS         : -g -O2 -mtune=native -march=native
      FCFLAGS          : -g -ffree-line-length-none  -fopenmp   -I/home/gueguenm/codes/abini ...
      FC_LDFLAGS       :
    
     === Optimizations ===
      Debug level        : basic
      Optimization level : standard
      Architecture       : intel_xeon
    
     === Multicore ===
      Parallel build : yes
      Parallel I/O   :
      openMP support : yes
      GPU support    :
    
     === Connectors / Fallbacks ===
      LINALG flavor  : mkl
      FFT flavor     : dfti
      HDF5           : yes
      NetCDF         : yes
      NetCDF Fortran : yes
      LibXC          : yes
      Wannier90      : no
    
     === Experimental features ===
      Exports             :
      GW double-precision :
    
     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     Default optimizations:
       -O2 -mtune=native -march=native
    
     Optimizations for 43_ptgroups:
       -O0
    
     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
  • version 7.10.0

Compilé avec MPI SGI MPT, ainsi que l'interface fft de la lib mkl et mkl pour les blas/lapack.
Procédure de compilation :

[thor abinit-7.10.1]$ grep -P "^\w+" ~/.abinit/build/thor.ac
with_fft_flavor="fftw3" 
with_fft_incs="-I/sw/lib/fftw/3.3.4/mpt/include" 
with_fft_libs="-L/sw/lib/fftw/3.3.4/mpt/lib  -lfftw3" 
with_linalg_flavor="mkl" 

[thor abinit-7.10.1]$ FC=mpif90 CC=mpicc CXX=mpicxx ./configure --prefix=/sw/codes/abinit/7.10.1/mpt --enable-mpi --with-mpi-prefix=/opt/sgi/mpt/mpt-2.10
...
Summary of important options:

  * C compiler      : gnu version 4.4
  * Fortran compiler: intel version 14.0
  * architecture    : intel xeon (64 bits)

  * debugging       : basic
  * optimizations   : standard

  * OpenMP enabled  : no (collapse: ignored)
  * MPI    enabled  : yes
  * MPI-IO enabled  : auto
  * GPU    enabled  : no (flavor: none)

  * TRIO   flavor = none
  * TIMER  flavor = abinit (libs: ignored)
  * LINALG flavor = mkl (libs: auto-detected)
  * ALGO   flavor = none (libs: ignored)
  * FFT    flavor = fftw3 (libs: user-defined)
  * MATH   flavor = none (libs: ignored)
  * DFT    flavor = none

les binaires sont placés sous /sw/codes/abinit/7.10.1/mpt. Un module codes/abinit permet de charger les modules nécessaires.