welcome: please sign in
location: Diff for "Installation"
Differences between revisions 30 and 31
Revision 30 as of 2013-12-05 06:13:49
Size: 2782
Editor: 10
Comment:
Revision 31 as of 2013-12-05 06:23:36
Size: 3580
Editor: 10
Comment:
Deletions are marked like this. Additions are marked like this.
Line 58: Line 58:
   $  ./configure --enable-parallel=yes    $./configure --enable-parallel=yes
Line 61: Line 61:
  2. Only MPI.   1. Only MPI.
Line 63: Line 63:
   $  ./configure --enable-mpi=yes    $./configure --enable-mpi=yes
Line 66: Line 66:
  3. Only OpenMP.   1. Only OpenMP.
Line 68: Line 68:
   $  ./configure --enable-openmp=yes    $./configure --enable-openmp=yes
Line 92: Line 92:
  1. A Linux cluster with fort, icc, openmpi and intel MKL library.
  {{{
  Check MPI flags by using command
  
  $mpif90 --shownme
 
  You may get such output.
   
  ifort -I/opt/openmpi/include -I/opt/openmpi/lib -L/opt/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil

  You can set BDF compiler and MPILIB as

  $export FC=ifort
  $export CC=icc
  $export MATHLIB="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread"
  $export MPILIB="-I/opt/openmpi/include -I/opt/openmpi/lib -L/opt/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil"
  $./configure --enabale-i8=yes --enable-parallel=yes
  $make

  If you only want to evoke MPI, just use

  $./configure --enabale-i8=yes --enable-mpi=yes
  }}}

Installation

System requirements

In principle, BDF supports all Unix-like platforms. However, we strongly propose you to use BDF at Linux platform together Intel Fortran and C compiler because BDF package is developed and thoroughly tested on such platforms. System requirements of BDF is summarized as following lines:

 OS: Linux, Mac, FreeBSD, Unix
 Compiler: Fortran 90 compiler such as Intel, gfortran, g95
 Support softwares: Python, make
 Parallel environments: MPI

Configure and compile BDF package

Several steps are needed to install BDF package.

  1. Set fortran and C compiler.
    • If you use bash shell, you can set fortran and c compiler:
        $export FC=ifort
        $export CC=gcc
    • Tips: If you ignored this step, the configure script will pick up the gfortran and gcc compiler as default.
  2. Set blas and lapack library.
    • For flaxibality reason, we ask users to set blas and lapack libraries.
        $export MATHLIB="-LMathLibDir -llapackname -lblasname"
  3. Configure BDF package.
    • After setting compiler and mathematic library. You can configure BDF by command configure in BDF root directory.
        $./configure
      Configure support several parameters.
        --enable-debug=yes[no]     Compile BDF in debug mode.
        --enable-i8=yes[no]            Compile BDF with 64 bit integrals.
        --enable-openmp=yes[no]  Compile BDF with OpenMP supporting.
        --enable-mpi=yes[no]         Compile BDF with MPI supporting.
        --enable-parallel=yes[no]   Compiler BDF with MPI and OpenMP support.
  4. Compile BDF package.
    •   $make 

Compile parallel bdf

  • Some of BDF modules support parallel calculation. You can compiler BDF as parallel mode. At present, we support MPI and OpenMP.
  • MPI and OpenMP hybrid.
       $./configure  --enable-parallel=yes
  • Only MPI.
       $./configure  --enable-mpi=yes
  • Only OpenMP.
       $./configure  --enable-openmp=yes

Examples of some typical installations

  1. A 64bit machine with intel compiler and MKL library.
      $export FC=ifort
      $export CC=gcc
      $export MATHLIB="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread"
      $./configure --enabale-i8=yes --enable-openmp=yes
      $make
  2. A Mac laptop with gfortran, gcc and user compiled lapack and blas library
      $export FC=gfortran 
      $export CC=gcc 
      $export MATHILIB="-L/Users/mike/mathlib -lblas -llapack" 
      $./configure --enabale-i8=yes --enable-openmp=yes 
      $make
  3. A Linux cluster with fort, icc, openmpi and intel MKL library.
      Check MPI flags by using command
      
      $mpif90 --shownme
     
      You may get such output.
       
      ifort -I/opt/openmpi/include -I/opt/openmpi/lib -L/opt/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil
    
      You can set BDF compiler and MPILIB as
    
      $export FC=ifort
      $export CC=icc
      $export MATHLIB="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread"
      $export MPILIB="-I/opt/openmpi/include -I/opt/openmpi/lib -L/opt/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil"
      $./configure --enabale-i8=yes --enable-parallel=yes
      $make
    
      If you only want to evoke MPI, just use
    
      $./configure --enabale-i8=yes --enable-mpi=yes

Set system variables of BDF package

Installation (last edited 2021-07-22 05:07:26 by bsuo)