welcome: please sign in

Revision 31 as of 2013-12-05 06:23:36

Clear message
location: Installation

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

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