Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rescale で Singularity を使ってみよう! / 2018-01-10 Sin...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shinnosuke Furuya
January 10, 2018
Technology
0
42
Rescale で Singularity を使ってみよう! / 2018-01-10 Singularity
2018/01/10 第一回 Singularity 勉強会
Shinnosuke Furuya
January 10, 2018
Tweet
Share
More Decks by Shinnosuke Furuya
See All by Shinnosuke Furuya
計算力学シミュレーションを支える NVIDIA の最新情報 / 2023-10-26 CMD2023
sfuruyaz
0
440
これからの計算工学に NVIDIA GPU がもたらすものとは -NVIDIA HPC SDK と NVIDIA Modulus の紹介- / 2023-06-01 JSCES
sfuruyaz
0
540
GPU コンピューティングを活用した物性研究 / 2023-04-04 ISSP
sfuruyaz
0
380
GPU で加速される計算力学シミュレーション / 2022-11-16 CMD2022
sfuruyaz
0
640
材料シミュレーションが加速する! GPU コンピューティングの最新情報 / 2022-10-27 SCSK
sfuruyaz
0
69
GTC 2022 Re:Cap / 2022-04-20 JAWS-UG-HPC
sfuruyaz
0
850
GPU で加速される様々なアプリケーション / 2021-11-25 GPU2021
sfuruyaz
0
220
物性シミュレーションのための GPU コンピューティング / 2021-11-24 ISSP
sfuruyaz
0
89
計算力学シミュレーションに GPU は役立つのか? / 2021-09-21 CMD2021
sfuruyaz
0
210
Other Decks in Technology
See All in Technology
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
170
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.3k
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
360
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
150
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
750
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
150
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
270
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
930
Cosmos World Foundation Model Platform for Physical AI
takmin
0
880
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.4k
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
230
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
66
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Music & Morning Musume
bryan
47
7.1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Fireside Chat
paigeccino
41
3.8k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
How STYLIGHT went responsive
nonsquared
100
6k
Transcript
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc. Rescale で Singularity を使ってみよう! 株式会社アルゴグラフィックス / 古家 真之介 第一回 Singularity 勉強会 / 2018.01.10
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Quick Overview of Containers 2 物理マシン 物理マシン 物理マシン ホストOS ホストOS ホストOS ハイパーバイザ Dockerエンジン ゲストOS ライブラリ ミドルウェア アプリ ライブラリ ミドルウェア アプリ ゲストOS ライブラリ ミドルウェア アプリ ライブラリ ミドルウェア アプリ ライブラリ ミドルウェア アプリ ライブラリ ミドルウェア アプリ 物理基盤 仮想化基盤 コンテナ 仮想化と似ているが、コンパクト&シンプル
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
What is Singularity? ▍Docker のようなコンテナ HPC 用途に特化 ▍Lawrence Berkley National Laboratory で作られた http://singularity.lbl.gov ▍GPU / Infiniband / MPI に対応 これらは HPC 用途では必須 ▍Job Scheduler にも対応 SLURM / Torque / SGE など ▍実行時に root 権限不要 システム管理者的にハードルが低い ▍コンテナ管理がラク コンテナが一つのファイルに全て入っているため、他のホストで実 行する際はこれをコピーするだけ 3
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
What is Singularity? ▍主なコマンド コンテナ作成時に設定したコマンドを実行 ▶ singularity run xxx.img ▶ ./xxx.img 任意のコマンドを実行 ▶ singularity exec xxx.img /path/to/command コンテナ内でシェルを起動 ▶ singularity shell xxx.img ▍詳細は以下の論文で。。。 Kurtzer GM, Sochat V, Bauer MW (2017) Singularity: Scientific containers for mobility of compute. PLoS ONE 12(5): e0177459. https://doi.org/10.1371/journal.pone.0177459 4
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Presentations of Singularity ▍2016年の Intel HPC Developer Conference ▍2017年の ISC で開催された Linux Container Workshop 5
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Singularity on Rescale ▍Rescale で Singularity をサポート (ちょい古い 2.3系だが) Bring Your Own Singularity Container Bring Your Own Singularity Container (MPI) 6
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Singularity on Rescale - Let’s try! ▍Rescale の「Bring Your Own Singularity Container (MPI)」を 使って、複数ノードにまたがる MPI ジョブを実行してみる Bring Your Own (MPI) Software との大きな違いは、OSやラ イブラリ等を選ぶ自由度がある ▶ CentOS6 / CentOS7 / Ubuntu16.04 / SLES12 などなど ▍今回は分子動力学法のアプリ LAMMPS で試してみる 他のアプリでも基本的な手順は一緒 ▍(お金が無いので) 今回は Nickel を 2ノード (32コア) で動作確認 2ノードで実行できるのであれば、3ノード以上も大丈夫かと。。。 7
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Build Container Image ▍適当な環境で作成 RHEL 7.4 / GCC 4.8.5 / glibc 2.17 / OpenMPI 1.6.4 Singularity 2.4.2 ▍コンテナ内の環境は以下 CentOS 6.9 / GCC 4.4.7 / glibc 2.12 / OpenMPI 1.6.4 LAMMPS 23Oct2017 ▍コンテナ作成用のファイルを準備 (Dockerfile に相当するもの) 8 Bootstrap: docker ← Docker のイメージを利用 From: centos:6.9 ← CentOS 6.9 %runscript /usr/local/bin/lmp_g++_openmpi ← “singularity run” した時に実行されるコマンド %environment export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ← 実行時の環境変数 %post yum -y update ← OS のパッケージをいくつか追加 yum -y install gcc gcc-gfortran gcc-c++ make wget git
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Build Container Image ▍イメージファイル作成 9 $ singularity img.create -s 768 lammps-23Oct2017.img ← 768MBのイメージファイル作成 $ sudo singularity build -w lammps-23Oct2017.img singularity-lammps ← singularity-lammps (さっき作ったファイル) の内容に従い イメージの中身作成 ※バージョン2.4よりも古いSingularityで実行する場合、 -w を付けて読み書き可能な(古い)形式でビルドする mkdir /tmp/build cd /tmp/build ← ここから OpenMPI の build wget https://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.4.tar.gz tar xvfz openmpi-1.6.4.tar.gz cd openmpi-1.6.4 ./configure --prefix=/usr/local make make install cd /tmp/build ← ここから LAMMPS の build git clone https://github.com/lammps/lammps.git cd lammps git checkout -b patch_23Oct2017 cd src/ make g++_openmpi cp lmp_g++_openmpi /usr/local/bin/ cd / ← 後処理とゴミ掃除 mkdir /enc rm -rf /tmp/build yum clean all
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Run My-LAMMPS on Rescale ▍入力ファイル コンテナのイメージファイル (lammps-23Oct2017.img) と LAMMPS のインプットファイル (in.lj) を選択 10
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Run My-LAMMPS on Rescale ▍ソフトウェア Bring Your Own Singularity Container (MPI) を選択 バージョンは OpenMPI 1.6.4 を選択 コマンドは適切なものに変更 ▶ mpirun ... singularity run lammps-23Oct2017.img < in.lj 11
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Run My-LAMMPS on Rescale ▍ハードウェア 適切なものを選択 (今回は Nickel 32コア; 2ノード) 12
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Run My-LAMMPS on Rescale ▍ジョブ実行 13
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Run My-LAMMPS on Rescale ▍ジョブ終了 14
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Run My-LAMMPS on Rescale ▍結果の確認 15
COPYRIGHT ARGO GRAPHICS INC. ALL RIGHTS RESERVED. ARGO GRAPHICS Inc.
Summary ▍Singularity について概要を説明 HPC 用途に特化したコンテナ GPU / Infiniband / MPI / Job Scheduler 等に対応 コンテナは一つのファイルに全て入っている ▍Rescale は Bring Your Own Singularity Container でサポート シリアル版は GPU 対応 (CUDA 8.0) MPI 版は Intel MPI 5.0.3 と OpenMPI 1.6.4 に対応 ▍LAMMPS が実行できるコンテナを作成し、Rescale で実行 Nickel 2ノードで問題なく実行できた 16