... | @@ -31,12 +31,12 @@ cd ../.. |
... | @@ -31,12 +31,12 @@ cd ../.. |
|
|
|
|
|
PETSc is the standard linear algebra toolkit used by GetDP (GetDP can also use linear solvers from Sparskit -- see the configuration options for more information).
|
|
PETSc is the standard linear algebra toolkit used by GetDP (GetDP can also use linear solvers from Sparskit -- see the configuration options for more information).
|
|
|
|
|
|
To compile a sequential real arithmetic PETSc library (here for PETSc 3.10.2):
|
|
To compile a sequential real arithmetic PETSc library (here for PETSc 3.16.0):
|
|
|
|
|
|
```bash
|
|
```bash
|
|
curl -L -O http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.10.2.tar.gz
|
|
curl -L -O https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.16.0.tar.gz
|
|
tar zxvf petsc-3.10.2.tar.gz
|
|
tar zxvf petsc-3.16.0.tar.gz
|
|
cd petsc-3.10.2
|
|
cd petsc-3.16.0
|
|
export PETSC_DIR=$PWD
|
|
export PETSC_DIR=$PWD
|
|
export PETSC_ARCH=real_mumps_seq
|
|
export PETSC_ARCH=real_mumps_seq
|
|
./configure --with-clanguage=cxx --with-debugging=0 --with-mpi=0 --with-mpiuni-fortran-binding=0 --download-mumps=yes --with-mumps-serial --with-shared-libraries=0 --with-x=0 --with-ssl=0 --with-scalar-type=real
|
|
./configure --with-clanguage=cxx --with-debugging=0 --with-mpi=0 --with-mpiuni-fortran-binding=0 --download-mumps=yes --with-mumps-serial --with-shared-libraries=0 --with-x=0 --with-ssl=0 --with-scalar-type=real
|
... | @@ -48,12 +48,12 @@ make |
... | @@ -48,12 +48,12 @@ make |
|
cd ..
|
|
cd ..
|
|
```
|
|
```
|
|
|
|
|
|
If you also wish to solve eigenvalue problems, you will want to install SLEPc, an eigensolver based on PETSc (here for SLEPc 3.10.1):
|
|
If you also wish to solve eigenvalue problems, you will want to install SLEPc, an eigensolver based on PETSc (here for SLEPc 3.16.0):
|
|
|
|
|
|
```bash
|
|
```bash
|
|
curl -L -O https://slepc.upv.es/download/distrib/slepc-3.10.1.tar.gz
|
|
curl -L -O https://slepc.upv.es/download/distrib/slepc-3.16.0.tar.gz
|
|
tar zxvf slepc-3.10.1.tar.gz
|
|
tar zxvf slepc-3.16.0.tar.gz
|
|
cd slepc-3.10.1
|
|
cd slepc-3.16.0
|
|
export SLEPC_DIR=$PWD
|
|
export SLEPC_DIR=$PWD
|
|
./configure
|
|
./configure
|
|
make
|
|
make
|
... | @@ -78,32 +78,31 @@ cd ../.. |
... | @@ -78,32 +78,31 @@ cd ../.. |
|
|
|
|
|
## Shared memory GetDP in complex arithmetic
|
|
## Shared memory GetDP in complex arithmetic
|
|
|
|
|
|
Follow the same steps as in the previous section, 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` (and change `PETSC_ARCH`) when configuring PETSc.
|
|
|
|
|
|
## Distributed memory GetDP with MPI support for running on computer clusters
|
|
## Distributed memory GetDP with MPI support for running on computer clusters
|
|
|
|
|
|
For MPI (distributed memory capable) GetDP versions you need to compile the MPI version of PETSc (here for PETSc 3.10.2):
|
|
For MPI (distributed memory capable) GetDP versions you need to compile the MPI version of PETSc (here for PETSc 3.16.0):
|
|
|
|
|
|
```bash
|
|
```bash
|
|
curl -L -O http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.10.2.tar.gz
|
|
curl -L -O http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.16.0.tar.gz
|
|
tar zxvf petsc-3.10.2.tar.gz
|
|
tar zxvf petsc-3.16.0.tar.gz
|
|
cd petsc-3.10.2
|
|
cd petsc-3.16.0
|
|
export PETSC_DIR=$PWD
|
|
export PETSC_DIR=$PWD
|
|
export PETSC_ARCH=complex_mumps_mpi
|
|
export PETSC_ARCH=complex_mumps_mpi
|
|
./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
|
|
./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
|
|
# Notes:
|
|
# Notes:
|
|
# * remove option --with-scalar-type=complex to build in real arithmetic
|
|
|
|
# * if the BLAS/LAPACK libraries are not installed in standard locations, you will have to specify their location by hand with options --with-blas-lib=/path/to/libblas and --with-lapack-lib=/path/to/liblapack
|
|
# * if the BLAS/LAPACK libraries are not installed in standard locations, you will have to specify their location by hand with options --with-blas-lib=/path/to/libblas and --with-lapack-lib=/path/to/liblapack
|
|
make
|
|
make
|
|
cd ..
|
|
cd ..
|
|
```
|
|
```
|
|
|
|
|
|
If you also wish to solve eigenvalue problems, compile SLEPc (here for SLEPc 3.10.1):
|
|
If you also wish to solve eigenvalue problems, compile SLEPc (here for SLEPc 3.16.0):
|
|
|
|
|
|
```bash
|
|
```bash
|
|
curl -L -O https://slepc.upv.es/download/distrib/slepc-3.10.1.tar.gz
|
|
curl -L -O https://slepc.upv.es/download/distrib/slepc-3.16.0.tar.gz
|
|
tar zxvf slepc-3.10.1.tar.gz
|
|
tar zxvf slepc-3.16.0.tar.gz
|
|
cd slepc-3.10.1
|
|
cd slepc-3.16.0
|
|
export SLEPC_DIR=$PWD
|
|
export SLEPC_DIR=$PWD
|
|
./configure
|
|
./configure
|
|
make
|
|
make
|
... | | ... | |