PETSc 的安装与配置

Portable, Extensible Toolkit Scientific Computations.

PETSc 的安装

首先跟着官网的下载教程走, 如果有连接 GitLab 的能力, 可以直接 clone 最新的版本, 即

1
2
git clone -b release https://gitlab.com/petsc/petsc.git petsc
git pull

如果没有条件, 可以直接下载压缩包并解压1

PTESc 的配置

配置

首先安装好 "C Compiler (gcc)", "Fortran", "make", "Python3", 然后进行阅读, 其他配置可以参考官网 以及命令行帮助 ./configure --help.

通常我们需要两个版本 debug (输出更多的报错信息) 与 opt (不带 debug 的版本的, 性能更好)

首先编辑 ~/.bashrc~/.zshrc:

1
2
3
4
5
6
7
vim ~/.zshrc
# 编辑 ~/.zshrc
export $PETSC_DIR=where/you/downloaded/or/cloned/petsc
export $PETSC_ARCH=arch-linux-c-debug
# export $PETSC_ARCH=arch-linux-c-opt
# 退出 vim
source ~/.zshrc

之后只需要更改 $PETSC_ARCH 的值即可切换不同的版本2.

  • 如果本地已经有了 MPI 相关的程序, 如 OpenMPIMPICH, 以及有 BLAS/LAPACK 程序, 那么直接在 $PETSC_DIR 目录下运行
1
./configure

即可. 运行后可以发现在 $PETSC_DIR 的目录下多了一个名为 $PETSC_ARCH 的文件夹, 这就是以默认配置生成库的文件夹. 然后跟随终端提示

1
2
make PETSC_DIR=/some/dir PETSC_ARCH=arch-linux-c-debug all
make PETSC_DIR=/some/dir PETSC_ARCH=arch-linux-c-debug check
  • 如果本地没有 MPI 可以选择添加选项 --download-mpich (官网推荐) 或 --download-openmpi; 如果没有 BLAS/LAPACK, 则添加选项 --download-fblaslapack, 即
1
2
# 啥都没有
./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack

然后跟着命令提示完整接下来的 check.

注意: 如果本地有 MPI, 并且没有使用 --with-mpi=0, 则不需要添加 --with-cc/cxx/fc 这三个选项, MPI 会自动使用 mpicc, mpicxx, mpif90.

然后将 ~/.zshrc~/.bashrc 中的 $PETSC_ARCH 中的值修改为 opt 的版本, 并 source, 随后进行配置, 其余的配置与上文完全一致, 只需要在 ./configure 的选项中添加 --with-debugging=0 即可, 随后依然按照命令行提示完成接下来的配置.

最后, 可以在 ~/.zshrc~/.bashrc 文件中添加

1
export C_INCLUDE_PATH=$PETSC_DIR/include:$PETSC_DIR/$PETSC_ARCH/include:$C_INCLUDE_PATH

来将 PETSc 中的头文件路径添加到 include path 中.

更新

按照官网的说明, 更新了源码之后需要使用

1
make lib

来更新库文件.