Size: 3570
Comment:
|
Size: 4565
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 19: | Line 19: |
. 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: {{{ $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 27: | Line 29: |
. For flaxibality reason, we ask users to set blas and lapack libraries. {{{ $export MATHLIB="-LMathLibDir -llapackname -lblasname" }}} |
The external Blas and Lapack library is needed for compling BDF. In addition, 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" and "cblas", which is a C interface for lapack and blas library. Then, you need set "MATHLIB" and "MATHINCLUDE" {{{ $export MATHLIB="-L/Users/aaa/mathlib/lapack -llapack64 -lblas64" $export MATHINCLUDE="-I/Users/aaa/lapack-3.6.0/lapacke/include -I/Users/aaa/lapack-3.6.0/cblas/include" }}} |
Line 34: | 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 40: | Line 53: |
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. }}} |
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. --enable-mkl=yes[no] Compiler BDF withIntel MKL support. }}} |
Line 50: | Line 64: |
{{{ $make }}} |
{{{ $make }}} |
Line 58: | Line 72: |
{{{ $./configure --enable-parallel=yes }}} |
{{{ $./configure --enable-parallel=yes }}} |
Line 63: | Line 77: |
{{{ $./configure --enable-mpi=yes }}} |
{{{ $./configure --enable-mpi=yes }}} |
Line 68: | Line 82: |
{{{ $./configure --enable-openmp=yes }}} |
{{{ $./configure --enable-openmp=yes }}} |
Line 75: | Line 89: |
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 }}} |
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 --enable-i8=yes --enable-openmp=yes --enable-mkl=yes make }}} |
Line 84: | Line 100: |
1. A Mac laptop with gfortran, gcc and user compiled lapack and blas library {{{ |
2. A Mac laptop with gfortran, gcc and user compiled lapack and blas library {{{ |
Line 88: | Line 104: |
$export CXX=g++ | |
Line 89: | Line 106: |
$./configure --enabale-i8=yes --enable-openmp=yes | $export MATHINCLUDE="-I/Users/mike/lapack-3.6.0/lapacke/include -I/Users/mike/lapack-3.6.0/cblas/include" $./configure --enable-i8=yes --enable-openmp=yes |
Line 91: | Line 109: |
}}} | }}} |
Line 93: | Line 111: |
1. A Linux cluster with fort, icc, openmpi and intel MKL library. {{{ Check MPI flags by using command |
3. A Linux cluster with fort, icc, openmpi and intel MKL library. Check MPI flags by using command {{{ |
Line 98: | Line 116: |
You may get such output. |
}}} You may get such output. {{{ |
Line 102: | Line 121: |
}}} | |
Line 103: | Line 123: |
You can set BDF compiler and MPILIB as | You can compile bdf package as {{{ |
Line 107: | Line 127: |
$export CXX=icpc | |
Line 108: | Line 129: |
$export MATHINCLUDE="I/opt/intel/mkl/include" | |
Line 109: | Line 131: |
$./configure --enabale-i8=yes --enable-parallel=yes | $./configure --enable-i8=yes --enable-parallel=yes --enable-mkl=yes |
Line 111: | Line 133: |
}}} | |
Line 112: | Line 135: |
If you only want to evoke MPI, just use $./configure --enabale-i8=yes --enable-mpi=yes }}} |
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. In addition, 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" and "cblas", which is a C interface for lapack and blas library.
Then, you need set "MATHLIB" and "MATHINCLUDE"
$export MATHLIB="-L/Users/aaa/mathlib/lapack -llapack64 -lblas64" $export MATHINCLUDE="-I/Users/aaa/lapack-3.6.0/lapacke/include -I/Users/aaa/lapack-3.6.0/cblas/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. --enable-mkl=yes[no] Compiler BDF withIntel MKL 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 --enable-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/lapack-3.6.0/lapacke/include -I/Users/mike/lapack-3.6.0/cblas/include" $./configure --enable-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 MATHINCLUDE="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 --enable-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