「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 LTS | 2.1.1 |
20.04 LTS | 4.0.3 |
20.10 | 4.0.3 |
21.04 | 4.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の動作確認の説明でした。