Singularity — CAE用語解説
Singularity
先生、スパコンでCAEの計算を走らせるとき、「Singularity使って」って言われたんですけど、Dockerとは違うんですか?
あー、確かにスパコンでsudo打てないですもんね。でもコンテナを使うメリットって何ですか? 普通にソルバーをインストールすればよくないですか?
スパコンにインストールされてるライブラリのバージョンと、自分のソルバーが要求するバージョンが合わないことが結構あるんだ。例えばOpenFOAMのv2312を使いたいのに、スパコンのgccが古くてビルドできない、みたいなケース。Singularityなら自分の環境をまるごとイメージに固めて持ち込めるから、そういう問題が起きない。
なるほど! 環境の再現性が保てるってことですね。実際どうやって使うんですか?
まずローカルPCやビルドサーバーで.sifファイル(Singularity Image Format)を作って、それをスパコンに転送する。あとはジョブスクリプトでsingularity exec myimage.sif mpirun -np 128 solverみたいに呼び出すだけだ。InfiniBandやGPUのパススルーにも対応してるよ。
MPI並列もコンテナ越しにちゃんと動くんですか? パフォーマンス落ちたりしません?
Singularityはホストのカーネルを直接使うから、Dockerのようなオーバーヘッドがほとんどない。MPIのバインドモードでホスト側のMPIと連携させれば、ネイティブとほぼ同等の性能が出るよ。実際、富岳でもApptainerが使われてるケースがあるくらいだ。
富岳でも使われてるんですか! それは信頼できますね。Dockerfileから変換もできるんですか?
singularity build myimage.sif docker://myimage:latestでDockerイメージからSingularityイメージを直接作れるよ。研究室でDockerで開発→スパコンではSingularityで実行、というワークフローが今のHPC×CAEの定番になりつつあるね。
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
Singularityの実務で感じる課題を教えてください
Project NovaSolverは、CAEエンジニアが日々直面する課題——セットアップの煩雑さ、計算コスト、結果の解釈——の解決を目指しています。あなたの実務経験が、より良いツール開発の原動力になります。
お問い合わせ(準備中)関連トピック
なった
詳しく
報告