数値計算ライブラリ:openmpi
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
数値計算ライブラリ:openmpi [2019/10/13 19:51] – [概要] koudai | 数値計算ライブラリ:openmpi [2021/06/27 22:04] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 2: | Line 2: | ||
* 共有メモリを使う並列計算ならばOpenMPが便利ですが、ワークステーションやスーパーコンピュータとなってくると分散メモリなのでMPIが必須になってきます。 | * 共有メモリを使う並列計算ならばOpenMPが便利ですが、ワークステーションやスーパーコンピュータとなってくると分散メモリなのでMPIが必須になってきます。 | ||
- | | + | * 他のオープンソースのMPI実装としてMPICHがありますが、どちらも性能はそんなに変わらないようです。 |
- | | + | |
* OpenMPIとMPICH (Intel Parallel Studio XE に含まれる Intel MPI も同様) を同時に入れるとうまく動作しなくなるので、インストールはどちらか片方にしてください。 | * OpenMPIとMPICH (Intel Parallel Studio XE に含まれる Intel MPI も同様) を同時に入れるとうまく動作しなくなるので、インストールはどちらか片方にしてください。 | ||
+ | * aptでも入手することができます< | ||
+ | $ sudo apt install openmpi-bin libopenmpi-dev | ||
+ | </ | ||
====== インストール ====== | ====== インストール ====== | ||
Line 14: | Line 16: | ||
===== 準備 ===== | ===== 準備 ===== | ||
- | 事前にmake, build-essential, | + | 事前に[[数値計算ライブラリ: |
- | 入っていない場合は以下のようにして入手します。 | + | |
- | < | + | |
- | $ sudo apt install make build-essential gfortran | + | |
- | </ | + | |
===== 入手 ===== | ===== 入手 ===== | ||
Line 38: | Line 36: | ||
インストール前に、インストール先とコンパイラを指定します。 | インストール前に、インストール先とコンパイラを指定します。 | ||
- | (注意!下にも書きましたが、2017年以降のIntel C/ | ||
< | < | ||
- | $ ./configure --prefix=/ | + | $ ./configure --prefix=/ |
</ | </ | ||
- | 管理者権限を持っていない場合はprefix=/ | + | ビルドします。 |
< | < | ||
$ make all | $ make all | ||
- | $ sudo su | + | $ sudo make install |
- | # source / | + | |
- | # make install | + | |
</ | </ | ||
Line 54: | Line 49: | ||
~/ | ~/ | ||
< | < | ||
- | MPIROOT=/ | + | MPIROOT=/ |
PATH=$MPIROOT/ | PATH=$MPIROOT/ | ||
LD_LIBRARY_PATH=$MPIROOT/ | LD_LIBRARY_PATH=$MPIROOT/ | ||
Line 60: | Line 55: | ||
export MPIROOT PATH LD_LIBRARY_PATH MANPATH | export MPIROOT PATH LD_LIBRARY_PATH MANPATH | ||
</ | </ | ||
- | できたら、コンピュータを再起動するか | + | 編集が終わったら |
< | < | ||
$ source ~/.bashrc | $ source ~/.bashrc | ||
Line 94: | Line 89: | ||
* IntelのCPUだとハイパースレッディングにより論理コアが物理コアの2倍に見えますが、並列数を論理コア数にして計算すると実行速度が著しく低下することがあります。 | * IntelのCPUだとハイパースレッディングにより論理コアが物理コアの2倍に見えますが、並列数を論理コア数にして計算すると実行速度が著しく低下することがあります。 | ||
* 最近のOpenMPIは並列数を物理コア数よりも大きくするとエラーが出るようになりました。 | * 最近のOpenMPIは並列数を物理コア数よりも大きくするとエラーが出るようになりました。 | ||
- | |||
- | |||
- | |||
- | ==== ホストファイルの使用 ==== | ||
- | |||
- | hostfile でホスト名とコア数を列挙したファイル。 | ||
- | < | ||
- | $ echo " | ||
- | </ | ||
- | などで作成する。 | ||
- | ユーザ全体に同じホストを利用させたい場合は %%$MPIROOT/ | ||
- | |||
- | 実行時は | ||
- | < | ||
- | $ mpirun --hostfile / | ||
- | </ | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== Ubuntu 18.04のIntelコンパイラエラーが出る場合 ===== | ||
- | |||
- | Ubuntu18.04でIntel C/ | ||
- | < | ||
- | $ ./configure --prefix=/ | ||
- | |||
- | (中略) | ||
- | |||
- | ============================================================================ | ||
- | == Compiler and preprocessor tests | ||
- | ============================================================================ | ||
- | |||
- | *** C compiler and preprocessor | ||
- | checking for gcc... (cached) icc | ||
- | checking whether we are using the GNU C compiler... (cached) yes | ||
- | checking whether icc accepts -g... (cached) yes | ||
- | checking for icc option to accept ISO C89... (cached) none needed | ||
- | checking whether icc understands -c and -o together... (cached) yes | ||
- | checking for icc option to accept ISO C99... unsupported | ||
- | configure: WARNING: Open MPI requires a C99 compiler | ||
- | configure: error: Aborting. | ||
- | </ | ||
- | |||
- | |||
数値計算ライブラリ/openmpi.1570963895.txt.gz · Last modified: 2021/06/27 21:57 (external edit)