PETSc - shawfdong/hyades GitHub Wiki
PETSc (Portable, Extensible Toolkit for Scientific Computation) is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It supports MPI, shared memory pthreads, and GPUs through CUDA or OpenCL, as well as hybrid MPI-shared memory pthreads or MPI-GPU parallelism.
Download the latest PETSc release:
$ cd /scratch $ wget http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.5.2.tar.gz $ tar xvfz petsc-3.5.2.tar.gz $ cd petsc-3.5.2
Configure and build PETSc 3.5.2 with Intel MPI using Intel compilers[1][2]:
$ ./configure PETSC_ARCH=linux-impi-intel \ --prefix=/pfs/sw/parallel/impi_intel/petsc-3.5.2 \ --with-cc=mpiicc \ --with-cxx=mpiicpc \ --with-fc=mpiifort \ --with-blas-lapack-dir=/opt/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64 $ make PETSC_DIR=/scratch/petsc-3.5.2 PETSC_ARCH=linux-impi-intel all $ make PETSC_DIR=/scratch/petsc-3.5.2 PETSC_ARCH=linux-impi-intel install
PETSc is a sophisticated package and fully understanding its usage requires time. However, application programmers can easily begin to use PETSc from a high level and then gradually learn more details according to their needs. There are extensive online documentation and tutorials for PETSc at its official site.
PETSc 3.5.2 is installed at /pfs/sw/parallel/impi_intel/petsc-3.5.2 on Hyades. To facilitate the usage of PETSc, I've created a module PETSc to set up environment for the synonymous library[3].
To display information about the module:
$ module show PETSc
To load the module:
$ module load PETSc