User Tools

Site Tools


数値計算ライブラリ:openmpi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
数値計算ライブラリ:openmpi [2020/03/11 15:41]
koudai [準備]
数値計算ライブラリ:openmpi [2021/06/27 22:04] (current)
Line 2: Line 2:
  
   * 共有メモリを使う並列計算ならばOpenMPが便利ですが、ワークステーションやスーパーコンピュータとなってくると分散メモリなのでMPIが必須になってきます。   * 共有メモリを使う並列計算ならばOpenMPが便利ですが、ワークステーションやスーパーコンピュータとなってくると分散メモリなのでMPIが必須になってきます。
-  * Intel Compilerとフリーで配布されているOpenMPIを組み合わせてMPI環境を作る方法を紹介します。 +  * 他のオープンソのMPI実装としてMPICHがありますが、どちらも性能はそんなに変わらないようです。
-  * 他にもフリーのMPI実装としてMPICHがありますが、どちらも性能はそんなに変わらないようです。+
   * OpenMPIとMPICH (Intel Parallel Studio XE に含まれる Intel MPI も同様) を同時に入れるとうまく動作しなくなるので、インストールはどちらか片方にしてください。   * OpenMPIとMPICH (Intel Parallel Studio XE に含まれる Intel MPI も同様) を同時に入れるとうまく動作しなくなるので、インストールはどちらか片方にしてください。
 +  * aptでも入手することができます<code>
 +$ sudo apt install openmpi-bin libopenmpi-dev
 +</code>
  
 ====== インストール ====== ====== インストール ======
Line 14: Line 16:
 ===== 準備 ===== ===== 準備 =====
  
-事前にmake, build-essential, gfortranのインストールが必要です。 +事前に[[数値計算ライブラリ:GCC]]のインストールを済ませください。
-入っていない場合は以下のようにして入手します +
-<code> +
-$ sudo apt install build-essential gfortran +
-</code>+
  
 ===== 入手 ===== ===== 入手 =====
Line 39: Line 37:
 インストール前に、インストール先とコンパイラを指定します。 インストール前に、インストール先とコンパイラを指定します。
 <code> <code>
-$ ./configure --prefix=/usr/local/openmpi CC=gcc CXX=g++ FC=gfortran+$ ./configure --prefix=/usr/local/openmpi-4.0.2 CC=gcc CXX=g++ FC=gfortran
 </code> </code>
-管理者権限を持っていない場合は prefix=/home/username/openmpi などとすればよいでしょう。 そしてコンパイルします。+します。
 <code> <code>
 $ make all $ make all
Line 51: Line 49:
 ~/.bashrcを開いて、ファイルの最後に次の文を付け加えます。 ~/.bashrcを開いて、ファイルの最後に次の文を付け加えます。
 <file> <file>
-MPIROOT=/usr/local/openmpi+MPIROOT=/usr/local/openmpi-4.0.2
 PATH=$MPIROOT/bin:$PATH PATH=$MPIROOT/bin:$PATH
 LD_LIBRARY_PATH=$MPIROOT/lib:$LD_LIBRARY_PATH LD_LIBRARY_PATH=$MPIROOT/lib:$LD_LIBRARY_PATH
数値計算ライブラリ/openmpi.1583908881.txt.gz · Last modified: 2021/06/27 21:57 (external edit)