姫野ベンチマークを使ってOpenMPIの性能を測定する

モチベーション

昨日のこの投稿の通り、複数ノード上で動作しているDockerコンテナでOpenMPIを使ったプログラムを動かせるようになった。OpenMPIによってどのぐらい性能が向上するのかを調べたくなったので、ベンチマークすることにした。 実は、今回も少し苦労した点があり、その部分が他の方の参考になれば嬉しい。

[続きを読む]

OpenMPIを実装したDockerコンテナを複数ノードで実行する

モチベーション

以前このポストで述べたように、Athena++をマルチノードで動かすことをゴールに進めている。その前段階として、OpenMPIを設定したDockerコンテナを複数ノードで実行させることを試みた。自分としては、少し苦労した点もあり、他の方にも参考になるかもしれないので、今回実施したことをまとめ投稿する。

[続きを読む]

CNN訓練コードをHorovodで使えるように変更する

はじめに

Horovod in Dockerを試すで、自分の環境(オンプレミス)で、Docker環境下でHorovodを使えるようになった。次にやるべきことは、一台のサーバで動作する学習コードをHorovodを使った分散学習に適用するように変更することだ!手始めに比較的簡単なCNNコードをHorovodを使って分散学習できるように変更したので、以下記事にまとめる。

[続きを読む]

Horovod in Dockerを試す

モチベーション

一年ぐらい前から分散学習(Distributed Training)に興味を持っていた。そのため複数のTITAN-Vが使えるマシンを用意し、Horovodという分散学習フレームワークを試していた。この度ようやく分散学習サンプルを動かすことが出来たので、ここに投稿する。

[続きを読む]

NVIDIA Modulusを試す 〜 PINNsことはじめ

はじめに

1ヶ月以上前に、受講した「AIサロゲートモデルでシミュレーションを高速化する方法とは?」セミナーで、NVIDIA Modulusに興味を持ったので、書籍を買って勉強を始めた。 Modulusを今後勉強する前提として、自分の環境にModulusをインストールしたので、「PINNsことはじめ」としてインストール回りのことをまとめた。

[続きを読む]

rinna 3.6bをdockerから使う

モチベーション

日本語に大規模言語モデル(LLM)を試してみたくて、5月にリリースされたrinnaを使ってみた。インストールの手間を省くため、dockerコンテナ環境下でrinnaを実行した。

その際にハマったこともあったので以下にまとめる。

[続きを読む]

プライベートなdockerレジストリを構築

モチベーション

以前の投稿でユーザモードでdockerコンテナを起動する方法をまとめた。

複数のPC(WorkStation、以下WS)を使う場合、複数WS間でコンテナを共有する仕組みをどう実現するかを考える必要がある。singularityの場合には、sifファイルをNFSサーバに格納し、それを他のWSから使えば良かった。

dockerの場合には、自宅のネットワーク内にプライベートなレジストリを立てて、運用すれば良いと考え、レジストリ・サーバを構築することにした。

[続きを読む]

Rootless Dockerを構築

モチベーション

これまで、dockerではなくsingularityコンテナを使っていた。dockerの利用を避けていたのは、コンテナ起動にroot権限が必要となるから。自宅での運用なので気にすることはないのだけど。

きっかけは忘れてのだけど、dockerに通常のユーザモードで実行できるrootlessモードというのがあることを知ったので、今回試してみることにする。

[続きを読む]