welcome: please sign in

Revision 34 as of 2013-12-05 06:35:24

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.

$export FC=ifort
$export CC=gcc

2. Set blas and lapack library.

$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.

  $mpif90 --shownme

  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

  $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

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

Set system variables of BDF package