Size: 1987
Comment:
|
Size: 4406
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
MainPage |
## page was renamed from Download and installation ## page was renamed from Installation |
Line 4: | Line 4: |
<<TableOfContents(2)>> | <<TableOfContents()>> |
Line 7: | Line 7: |
Theoretically, BDF support 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 |
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 }}} |
Line 17: | Line 18: |
1. Set fortran and C compiler. | 1. Set fortran and C compiler. |
Line 19: | Line 20: |
. $export FC=ifort . $export CC=gcc |
If you use bash shell, you can set fortran and c compiler: {{{ $export FC=ifort $export CC=gcc $export CXX=g++ }}} Tips: If you ignored this step, the configure script will pick up the gfortran and gcc compiler as default. |
Line 22: | Line 28: |
. 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. The external Blas and Lapack library is needed for compling BDF. Also C language Blas and Lapack are required. It is easer to use Intel MKL. You only need set "MATHLIB" and "MATHINCLUDE" as {{{ $export MATHLIB="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread" $export MATHINCLUDE="-I/opt/intel/mkl/include" }}} |
Line 24: | Line 36: |
2. Set blas and lapack library. . For flaxibality reason, we ask users to set blas and lapack libraries. . $export MATHLIB="-LMathLibDir -llapackname -lblasname" |
However, you may choose to use Blas and Lapack from netlib. You may download lapack library from http://www.netlib.org/lapack/lapack-3.6.0.tgz. Do not forget also compile lapacke, which is a C interface for lapack library. |
Line 28: | Line 39: |
3. Configure BDF package. | Then, you need set "MATHLIB" and "MATHINCLUDE" {{{ $export MATHLIB="-L/Users/aaa/mathlib/lapack -llapack64 -lblas64" $export MATHINCLUDE="-I/Users/aaa/mathlib/lapack/lapacke/include" }}} 3. Configure BDF package. |
Line 30: | Line 47: |
After setting compiler and mathematic library. You can configure BDF by command configure in BDF root directory. . $configure |
After setting compiler and mathematic library. You can configure BDF by command configure in BDF root directory. {{{ $./configure }}} |
Line 33: | Line 52: |
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. |
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. }}} |
Line 38: | Line 62: |
4. Make . $make |
4. Compile BDF package. {{{ $make }}} |
Line 41: | Line 67: |
5. Some typical installation | == Compile parallel bdf == Some of BDF modules support parallel calculation. You can compiler BDF as parallel mode. At present, we support MPI and OpenMP. |
Line 43: | Line 70: |
* A 64bit machine with intel compiler and MKL library. . $export FC=ifort . $export CC=gcc . $export MATHILIB="-L/opt/intel -lmkl -lguide" . $./configure --enabale-i8=yes --enable-openmp=yes . $make |
1. MPI and OpenMP hybrid. {{{ $./configure --enable-parallel=yes }}} |
Line 51: | Line 75: |
* 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 |
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 CXX=g++ export MATHLIB="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread" export MATHINLCUDE="I/opt/intel/mkl/include" ./configure --enabale-i8=yes --enable-openmp=yes --enable-mkl=yes make }}} 2. A Mac laptop with gfortran, gcc and user compiled lapack and blas library {{{ $export FC=gfortran $export CC=gcc $export CXX=g++ $export MATHILIB="-L/Users/mike/mathlib -lblas -llapack" $export MATHINCLUDE="-I/Users/mike/mathlib/lapack-3.6.0/lapacke/include" $./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 compile bdf package as {{{ $export FC=ifort $export CC=icc $export CXX=icpc $export MATHLIB="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread" $export MATHINLCUDE="I/opt/intel/mkl/include" $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 --enable-mkl=yes $make }}} If you only want to evoke MPI, just use {{{ $./configure --enabale-i8=yes --enable-mpi=yes --enable-mkl=yes }}} |
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 $export CXX=g++
- 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. The external Blas and Lapack library is needed for compling BDF. Also C language Blas and Lapack are required.
- It is easer to use Intel MKL. You only need set "MATHLIB" and "MATHINCLUDE" as
$export MATHLIB="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread" $export MATHINCLUDE="-I/opt/intel/mkl/include"
However, you may choose to use Blas and Lapack from netlib. You may download lapack library from http://www.netlib.org/lapack/lapack-3.6.0.tgz. Do not forget also compile lapacke, which is a C interface for lapack library.
Then, you need set "MATHLIB" and "MATHINCLUDE"
$export MATHLIB="-L/Users/aaa/mathlib/lapack -llapack64 -lblas64" $export MATHINCLUDE="-I/Users/aaa/mathlib/lapack/lapacke/include"
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 CXX=g++ export MATHLIB="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread" export MATHINLCUDE="I/opt/intel/mkl/include" ./configure --enabale-i8=yes --enable-openmp=yes --enable-mkl=yes make
2. A Mac laptop with gfortran, gcc and user compiled lapack and blas library
$export FC=gfortran $export CC=gcc $export CXX=g++ $export MATHILIB="-L/Users/mike/mathlib -lblas -llapack" $export MATHINCLUDE="-I/Users/mike/mathlib/lapack-3.6.0/lapacke/include" $./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 compile bdf package as
$export FC=ifort $export CC=icc $export CXX=icpc $export MATHLIB="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread" $export MATHINLCUDE="I/opt/intel/mkl/include" $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 --enable-mkl=yes $make
- If you only want to evoke MPI, just use
$./configure --enabale-i8=yes --enable-mpi=yes --enable-mkl=yes