... | ... | @@ -19,7 +19,7 @@ sudo make install/fast |
|
|
cd ../..
|
|
|
```
|
|
|
|
|
|
If you prefer to build a dynamic Gmsh library instead, replace ```-DENABLE_BUILD_LIB=1``` with ```-DENABLE_BUILD_SHARED=1```.
|
|
|
If you prefer to build a dynamic Gmsh library instead, replace `-DENABLE_BUILD_LIB=1` with `-DENABLE_BUILD_SHARED=1`. If you don't have root access, add `-DCMAKE_INSTALL_PREFIX=/path/to/install`.
|
|
|
|
|
|
## Sequential (non-MPI) GetDP version in real arithmetic
|
|
|
|
... | ... | @@ -36,7 +36,7 @@ make |
|
|
cd ..
|
|
|
```
|
|
|
|
|
|
If your BLAS/LAPACK libraries are not installed in standard locations, you will have to specify their location by hand, e.g. by adding ```--with-blas-lib=/path/to/libblas --with-lapack-lib=/path/to/liblapack```.
|
|
|
If your BLAS/LAPACK libraries are not installed in standard locations, you will have to specify their location by hand, e.g. by adding ```--with-blas-lib=/path/to/libblas --with-lapack-lib=/path/to/liblapack```. As a last recourse (but this will severely degrade performance), you can use generic, non-optimized BLAS/LAPACK libraries by using the option `--download-fblaslapack=1`.
|
|
|
|
|
|
If you also wish to solve eigenvalue problems, you will want to also install SLEPc, an eigensolver based on PETSc. Download and uncompress the SLEPc [source code](http://slepc.upv.es/download/), then (here for SLEPc 3.7.1):
|
|
|
|
... | ... | @@ -60,10 +60,47 @@ make |
|
|
cd ../..
|
|
|
```
|
|
|
|
|
|
Setting `-DENABLE_BLAS_LAPACK=0` will force GetDP to use the same BLAS/LAPACK libraries as the ones used by PETSc.
|
|
|
Setting `-DENABLE_BLAS_LAPACK=0` will force GetDP to use the same BLAS/LAPACK libraries as the ones used by PETSc. If you installed some of the dependencies (e.g. the Gmsh library) in non-standard locations, just add the option `-DCMAKE_PREFIX_PATH=/path/to/some_code;/path/to/some_other_code`.
|
|
|
|
|
|
## Sequential (non-MPI) GetDP version in complex arithmetic
|
|
|
|
|
|
Follow the same steps as above, but change `--with-scalar-type=real` with `--with-scalar-type=complex` when configuring PETSc.
|
|
|
Follow the same steps as in the previous section, but change `--with-scalar-type=real` with `--with-scalar-type=complex` when configuring PETSc.
|
|
|
|
|
|
## MPI GetDP version in complex arithmetic |
|
|
## MPI GetDP version
|
|
|
|
|
|
For MPI (distributed memory capable) GetDP versions you need to compile the MPI version of PETSc. As for the sequential version, first download and uncompressed the PETSc source code from [the official site](http://www.mcs.anl.gov/petsc/petsc-as/download/), then (here for PETSc 3.7.4):
|
|
|
|
|
|
```bash
|
|
|
cd petsc-3.7.4
|
|
|
export PETSC_DIR=$PWD
|
|
|
export PETSC_ARCH=mpi_mumps_real
|
|
|
# Note: remove option --with-scalar-type=complex to build in real arithmetic
|
|
|
./configure --with-debugging=0 --with-clanguage=cxx --with-shared-libraries=0 --with-x=0 --download-mumps=1 --download-metis=1 --download-parmetis=1 --download-scalapack=1 --download-blacs=1 --with-scalar-type=complex
|
|
|
make
|
|
|
cd ..
|
|
|
```
|
|
|
|
|
|
If you also wish to solve eigenvalue problems, download and uncompress the SLEPc [source code](http://slepc.upv.es/download/), then (here for SLEPc 3.7.1):
|
|
|
|
|
|
```bash
|
|
|
cd slepc-3.7.1
|
|
|
export SLEPC_DIR=$PWD
|
|
|
./configure
|
|
|
make
|
|
|
cd ..
|
|
|
```
|
|
|
|
|
|
Then download and build GetDP:
|
|
|
|
|
|
```bash
|
|
|
git clone http://gitlab.onelab.info/getdp/getdp
|
|
|
cd getdp
|
|
|
mkdir bin
|
|
|
cd bin
|
|
|
cmake -DENABLE_MPI=1 -DENABLE_BLAS_LAPACK=0 ..
|
|
|
# Notes :
|
|
|
# * use option -DCMAKE_PREFIX_PATH=non-standard-install-path if you have libraries installed in non-standard locations
|
|
|
# * use options -DPETSC_DIR=... -DPETSC_ARCH=... if the corresponding environment variables are not set properly
|
|
|
make
|
|
|
cd ../..
|
|
|
``` |