welcome: please sign in
location: Diff for "Installation"
Differences between revisions 31 and 32
Revision 31 as of 2013-12-05 06:23:36
Size: 3580
Editor: 10
Comment:
Revision 32 as of 2013-12-05 06:28:30
Size: 3570
Editor: 10
Comment:
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
 1. Set fortran and C compiler. 1. Set fortran and C compiler.
Line 26: Line 26:
 2. Set blas and lapack library. 2. Set blas and lapack library.
Line 32: Line 32:
 3. Configure BDF package. 3. Configure BDF package.
Line 49: Line 49:
 4. Compile BDF package. 4. Compile BDF package.
Line 55: Line 55:
  Some of BDF modules support parallel calculation. You can compiler BDF as parallel mode. At present, we support MPI and OpenMP.
  1. MPI and OpenMP hybrid.
Some of BDF modules support parallel calculation. You can compiler BDF as parallel mode. At present, we support MPI and OpenMP.

1. MPI and OpenMP hybrid.
Line 61: Line 62:
  1. Only MPI. 2. Only MPI.
Line 66: Line 67:
  1. Only OpenMP. 3. Only OpenMP.

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.

1. MPI and OpenMP hybrid.

  •    $./configure  --enable-parallel=yes

2. Only MPI.

  •    $./configure  --enable-mpi=yes

3. 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)