3580
Comment:
|
3570
|
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
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.
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
- 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
- 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