PETSc 的安装与配置
Portable, Extensible Toolkit Scientific Computations.
PETSc 的安装
首先跟着官网的下载教程走, 如果有连接 GitLab 的能力, 可以直接 clone 最新的版本, 即
1 | git clone -b release https://gitlab.com/petsc/petsc.git petsc |
如果没有条件, 可以直接下载压缩包并解压固定版本
固定版本. 旧的版本只推荐用来运行旧程序, 建议永远使用最新的版本. ↩
PTESc 的配置
配置
首先安装好 “C Compiler (gcc)”, “Fortran”, “make”, “Python3”, 然后进行阅读, 其他配置可以参考官网 以及命令行帮助 ./configure --help.
通常我们需要两个版本 debug (输出更多的报错信息) 与 opt (不带 debug 的版本的, 性能更好)
首先编辑 ~/.bashrc 或 ~/.zshrc:
1 | vim ~/.zshrc |
之后只需要更改 $PETSC_ARCH 的值即可切换不同的版本petscarch.
petscarch. $PETSC_ARCH 可以自行定义名称, 但是不要含空格. ↩
- 如果本地已经有了 MPI 相关的程序, 如
OpenMPI或MPICH, 以及有 BLAS/LAPACK 程序, 那么直接在$PETSC_DIR目录下运行
1 | ./configure |
即可. 运行后可以发现在 $PETSC_DIR 的目录下多了一个名为 $PETSC_ARCH 的文件夹, 这就是以默认配置生成库的文件夹. 然后跟随终端提示
1 | make PETSC_DIR=/some/dir PETSC_ARCH=arch-linux-c-debug all |
- 如果本地没有 MPI 可以选择添加选项
--download-mpich(官网推荐) 或--download-openmpi; 如果没有 BLAS/LAPACK, 则添加选项--download-fblaslapack, 即
1 | # 啥都没有 |
然后跟着命令提示完整接下来的 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 |
来更新库文件.