PETSc のインストール

Ubuntu なら

sudo apt install petsc-dev

でインストールできると書いてあるものの依存関係エラーでインストールできなかったのでソースからインストールすることになった.

PETSc 3.24.0

  • ダウンロード,展開
    PETSc - Download から圧縮ファイルをダウンロードして展開した.
    wget https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-3.24.0.tar.gz
    tar zxvf petsc-3.24.0.tar.gz
    cd petsc-3.24.0
  • コンパイル,インストール
    Configuring PETScをよく読む.
    openblas や lapack は適切な場所にあるか LD_LIBRARY_PATH にあれば勝手に探してきてくれるっぽいので特に指定しなくて大丈夫.
    事前に環境変数として定義したCC, FCなどは無視され,configure のオプションで --with-cc=gcc などと指定しない場合は優先順位をつけて PATH から見つかったものを選んでくると書いてある.
    If no compilers are specified - configure will automatically look for available MPI or regular compilers in the user’s $PATH in the following order:
     1. mpicc/mpicxx/mpif90
     2. gcc/g++/gfortran
     3. cc/CC etc..
    PATH に mpicc, mpicxx, mpif90 が入っていてこれで問題なければ configure のオプションは --prefix くらいで良い?
    ./configure --prefix=$HOME/local/src/petsc
    configure が成功したら,次にこうやって make しろみたいな指示が出るので,それに従う.
    make PETSC_DIR=$HOME/local/src/petsc-3.24.0 PETSC_ARCH=arch-linux-c-debug all
    make PETSC_DIR=$HOME/local/src/petsc-3.24.0 PETSC_ARCH=arch-linux-c-debug install
    prefix に指定した場所に include, lib, share のフォルダが生成されていたのでおそらくこれで大丈夫.


  • コンパイルその2
    公式docに書いてあるとおりデフォルトでは debug モードでコンパイルするので,おそらく実行速度は遅い.
    最適化モードにするには,PETSC_ARCH を定義して,FOPTFLAGS などで最適化オプションを指定して configure する.
    ./configure PETSC_DIR=$(pwd) PETSC_ARCH=arch-linux-c-opt --with-debugging=0 COPTFLAGS='-O3 -march=native -mtune=native' CXXOPTFLAGS='-O3 -march=native -mtune=native' FOPTFLAGS='-O3 -march=native -mtune=native' --with-shared-libraries=1
    prefix を使うと実行時にうまくいかない? \$PETSC_DIR/\${PETSC_ARCH} に全部入っているので prefix を指定しなくてもよいかも.

Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2026-02-13 (Fri) 20:33:10 (58d)