Ubuntu 20.04 LTSにOpen MPIをインストールする

Ubuntu 20.04 LTSにOpen MPIをインストールする サーバー

「UbuntuにOpen MPIをインストールしたい」

Ubuntuであれば、aptコマンドで一撃です。
ただし、aptコマンドでのインストールはちゃんと理解して実行しましょう。

そうじゃないと、古過ぎるバージョンをインストールすることもありえます。
この記事では、そうならないための内容を解説しています。

本記事の内容

  • Open MPIとは?
  • OS標準のOpen MPI
  • Open MPIのインストール
  • Open MPIの動作確認

それでは、上記に沿って解説していきます。

Open MPIとは?

Open MPI公式
https://www.open-mpi.org/

「Open MPIは、Message Passing Interfaceライブラリのプロジェクトである」

Open MPIは、このように説明されています。
これを理解するには、MPIについての理解が必要となります。

MPIとは、Message Passing Interfaceの略称です。
並列コンピューティング利用するための標準化された規格のことを言います。

並列コンピューティング利用とは、簡単に言うと並列処理のことです。
複数のマシン、複数のプロセスで並列に処理を行います。

そして、MPI自体はライブラリやソフトウェアではありません。
あくまで規格に過ぎません。

その規格を満たしたライブラリが、Open MPIということです。
名前の通り、オープンソースとして開発されています。

基本的には、Linux・macOS向けです。
Windowsであれば、Microsoft MPI(MS-MPI)を利用しましょう。
MS-MPIについては、次の記事で解説しています。

以上、Open MPIについて説明しました。
次は、OS標準のOpen MPIについて確認します。

OS標準のOpen MPI

Ubuntuには、OS標準のパッケージが存在しています。
Apacheのような人気ソフトウェアであれば、ほぼ確実にOS標準が存在します。

Open MPIに関しても、OS標準のパッケージが存在しています。
では、OS標準のOpenMPIを確認してみましょう。

$ sudo apt info openmpi-bin
Package: openmpi-bin
Version: 4.0.3-0ubuntu1
Priority: optional
Section: universe/net
Source: openmpi
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Alastair McKinstry <mckinstry@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 370 kB
Depends: libc6 (>= 2.8), libevent-2.1-7 (>= 2.1.8-stable), libopenmpi3 (>= 4.0.3), openmpi-common (>= 4.0.3-0ubuntu1), openssh-client | ssh-client
Recommends: libopenmpi-dev
Suggests: gfortran | fortran-compiler
Conflicts: openmpi-bin
Breaks: lam4-dev (<< 7.1.4-4), libmpich-dev (<< 3.3~b1-5), libopenmpi-dev (<< 3.0.1~rc2-2), mpich (<< 3.3~b1-5)
Replaces: libopenmpi-dev (<< 3.0.1~rc2-2)
Homepage: https://www.open-mpi.org/
Task: ubuntustudio-video
Download-Size: 67.4 kB
APT-Sources: http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages
Description: high performance message passing library -- binaries
 Open MPI is a project combining technologies and resources from several other
 projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best
 MPI library available. A completely new MPI-3.1 compliant implementation, Open
 MPI offers advantages for system and software vendors, application developers
 and computer science researchers.
 .
 Features:
  * Full MPI-3.1 standards conformance
  * Thread safety and concurrency
  * Dynamic process spawning
  * High performance on all platforms
  * Reliable and fast job management
  * Network and process fault tolerance
  * Support network heterogeneity
  * Single library supports all networks
  * Run-time instrumentation
  * Many job schedulers supported
  * Internationalized error messages
  * Component-based design, documented APIs
 .
 This package contains the Open MPI utility programs.

Open MPI 4.0.3は、2020年3月にリリースされています。
そして、最新バージョンの4.1.1は2021年4月のリリースです。

4.0系は、4.1系の一つ前のシリーズになります。
もちろん、最新の4.1系を使うのが理想です。

でも、今回はaptで簡単にインストールすることを優先します。
なお、Open MPI 4.0.3はUbuntu 20.04 LTSにおけるOS標準のOpen MPIとなります。

Ubuntu 21.04の場合は、次の記事をご覧ください。

OS標準のソフトウェアのバージョンは、それぞれのOS毎に異なります。
その対応関係は、以下となります。

Ubuntu Open MPI
18.04 LTS2.1.1
20.04 LTS4.0.3
20.104.0.3
21.044.1.0

ちなみに、Open MPIはUbuntu 18.04 LTSからOS標準になったようです。

以上、OS標準のOpen MPIについての説明でした。
次は、Open MPIのインストールを行います。

Open MPIのインストール

まずは、パッケージリストの更新です。
次のコマンドは、おまじないのようなモノと考えましょう。

$ sudo apt-get update

では、OS標準のOpen MPIをインストールします。

$ sudo apt-get -y install openmpi-bin

インストールには、それほど時間はかかりません。
もしかしたら、依存関係でエラーが出るかもしれません。

その場合は、エラー内容を見て対応してください。
aptで適切にインストールをしていれば、それほど問題はないと思います。
ましてや、今回はOS標準のパッケージをインストールしているわけですから。

以上、Open MPIのインストールの説明でした。
最後に、Open MPIの動作確認を行います。

Open MPIの動作確認

とりあえずは、「mpiexec」コマンドが動くことを確認しましょう。

$ mpiexec --version 
mpiexec (OpenRTE) 4.0.3

上記コマンドは、バージョンの確認を行います。
そして、「mpiexec」コマンドの使い方は以下。

$ mpiexec --help 
mpiexec (OpenRTE) 4.0.3 
Usage: mpiexec [OPTION]...  [PROGRAM]... 
Start the given program using Open RTE 
-c|-np|--np <arg0>       Number of processes to run 
   -gmca|--gmca <arg0> <arg1> 
                         Pass global MCA parameters that are applicable to 
                         all contexts (arg0 is the parameter name; arg1 is 
                         the parameter value) 
-h|--help <arg0>         This help message 
   -mca|--mca <arg0> <arg1> 
                         Pass context-specific MCA parameters; they are 
                         considered global if --gmca is not used and only 
                         one context is specified (arg0 is the parameter 
                         name; arg1 is the parameter value) 
   -n|--n <arg0>         Number of processes to run 
-q|--quiet               Suppress helpful messages 
-v|--verbose             Be verbose 
-V|--version             Print version and exit 
For additional mpirun arguments, run 'mpirun --help <category>' 
The following categories exist: general (Defaults to this option), debug, 
    output, input, mapping, ranking, binding, devel (arguments useful to OMPI 
    Developers), compatibility (arguments supported for backwards compatibility), 
    launch (arguments to modify launch options), and dvm (Distributed Virtual 
    Machine arguments). 
Report bugs to http://www.open-mpi.org/community/help/

ここまで確認できれば、Open MPIの動作確認としては問題ないでしょう。

あとは、実際にPythonやCで開発したプログラムを用いた検証となります。
その場合は、複数プロセスによる並列処理の検証からでしょうね。

さらには、複数台マシンでの並列処理の検証ということになります。
こうなってくると、検証用の環境を用意するだけでも一苦労です。
それらは、順を追ってやっていきます。

以上、Open MPIの動作確認の説明でした。

タイトルとURLをコピーしました