サブロウ丸

Sabrou-mal サブロウ丸

主にプログラミングと数学

MPI

OpenMPIのコンパイル

MPI

本項ではOpenMPIの依存関係を含めてビルドを行う方法を OpenMPIの依存関係のグラフ Makefile 事前設定 依存関係のビルド libevent hwloc OpenPMIX PRRTE 通信ライブラリのビルド UCXのビルド UCCのビルド OpenMPI のビルド そのほか 事後処理 関連 参考 Open…

Nsight SystemsのMPIプログラムプロファイルがなかなか終了しない

MPI

nsys (NVIDIA Nsight Systems) Nsight Systems | NVIDIA Developer でMPIプログラムのプロファイルを取得する際に、MPIプログラムが終了したにも関わらずプロファイルの作成が終了しない場合。例えば下記の表示で止まっているときは、 The target applicatio…

Docker Swarmを活用したマルチサーバ、マルチコンテナ環境でのMPIプログラム実行

本稿では複数サーバー複数コンテナ環境でOpenmpi を実行する手順について紹介します。本稿ではコンテナ接続のネットワークとしてとしてDocker Swarmによるオーバーレイネットワークを利用します。 構築する環境 Docker Swarm: コンテナ間の通信確立 swarmの…

集団通信の可視化方法について

故きを温ねて新しきを知る Fast Multi-GPU collectives with NCCL NCCL: Collective Operations Collective communication: theory, practice, and experience A Generalization of the Allreduce Operation TACCL: Guiding Collective Algorithm Synthesis …

クラスタコンピュータで MPI + Pythonを実行する

本稿ではクラスタコンピュータでMPIを用いてPythonを並列実行するまでの手順を紹介します。 1ノードでの実行の場合 クラスタでの実行の場合 sshログインの整備 python環境の整備 実行コマンド おまけ open-mpiのオプションについて mpi4pyのインストールに失…

MPI_Datatypeのサイズを取得する

MPI

MPI_Datatypeのデータサイズは実行環境に依存しますが、その環境のデータサイズどうなのか? というのを調べる関数が用意されています。 MPI_Type_size(MPI_Datatype datatype, int * size); でsize変数にデータサイズが格納されます。(参考: MPI_Type_size(…

書籍: スパコンプログラミング入門

スパコンプログラミング入門 並列処理とMPIの学習 [ 片桐孝洋 ]価格:3520円(税込、送料無料) (2022/6/19時点)楽天で購入 スパコンプログラミング入門 並列処理とMPIの学習 発売日: 2013年03月13日頃 著者/編集: 片桐孝洋 出版社: 東京大学出版会 発行…

Pytorchでの分散処理にMPI backendを使用する

python.distributedは、Point-to-Point通信や集団通信といった分散処理のAPIを提供しています。これにより、細かな処理をカスタマイズすることが可能です。 通信のbackendとしては、pytorch 1.13時点では、MPI、GLOO、NCCLが選択できます。各backendで利用で…