第25章 HPC 環境での Podman の使用
Podman を Open MPI (Message Passing Interface) と共に使用して、HPC (High Performance Computing) 環境でコンテナーを実行できます。
25.1. Podman と MPI の使用 リンクのコピーリンクがクリップボードにコピーされました!
この例は、Open MPI から取得した ring.c プログラムを基にしています。この例では、全プロセスで値はリングのように渡されます。メッセージがランク 0 を渡すと必ず、値は 1 つ下がります。各プロセスが 0 メッセージを受信すると、次のプロセスに渡して終了します。0 を最初に渡すと、すべてのプロセスが 0 メッセージを取得し、通常通りに終了できます。
前提条件
-
container-toolsメタパッケージがインストールされている。
手順
Open MPI をインストールします。
dnf install openmpi
# dnf install openmpiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 環境モジュールをアクティベートするには、以下を入力します。
. /etc/profile.d/modules.sh
$ . /etc/profile.d/modules.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow mpi/openmpi-x86_64モジュールを読み込みます。module load mpi/openmpi-x86_64
$ module load mpi/openmpi-x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて、
mpi/openmpi-x86_64モジュールを自動的に読み込むには、以下の行を.bashrcファイルに追加します。echo "module load mpi/openmpi-x86_64" >> .bashrc
$ echo "module load mpi/openmpi-x86_64" >> .bashrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow mpirunとpodmanを統合するには、以下の定義でコンテナーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーをビルドします。
podman build --tag=mpi-ring .
$ podman build --tag=mpi-ring .Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーを起動します。このコマンドは、CPU が 4 つあるシステムではコンテナーを 4 つ起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、
mpirunは 4 つの Podman コンテナーを開始し、コンテナーごとにringバイナリーのインスタンスを 1 台実行します。4 つプロセスはすべて、MPI 経由で相互に通信しています。