Installation
Contents
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.
- 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.
- If you use bash shell, you can set fortran and c compiler:
- Set blas and lapack library.
- For flaxibality reason, we ask users to set blas and lapack libraries.
$export MATHLIB="-LMathLibDir -llapackname -lblasname"
- For flaxibality reason, we ask users to set blas and lapack libraries.
- 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.
- After setting compiler and mathematic library. You can configure BDF by command configure in BDF root directory.
- 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
- 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
- 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