セミナー資料「star-ccm+ クラウド活用ハンズオンセミナー with rescale」
TRANSCRIPT
STAR-CCM+ on RescaleDEMO & HANDS-ON長尾 太介 Jan 18-19, 2017
2
自己紹介
• 長尾 太介 (Daisuke Nagao)
• 職歴– 富士ゼロックス ( 粉体シミュレータの開発、スパコン環境の導入・管理 )– NVIDIA Japan: Cloud Service Provider 向けの BD– Rescale Japan: 2016 年 7 月、 Rescale 東京オフィスオープンと同時にソ
リューションアーキテクトとして Join
• コミュニティー– OpenCloudHPC ( 主催 )– JAWS-UG HPC 専門支部 , JAWS-UG AI ( コアメンバ )– JAWS-UG CLI ( いつもお世話になっておりますー )
サンフランシスコ ( 本社 ), 東京オフィス300%+ annual growth
SaaS タイプの Cloud HPC を提供 ( 設計者対象 )
36+ global data centers, 180+ simulation apps
Company
Technology
Customers
Investors
100+ Leading Global 2000 Enterprises
Peter ThielJeff Bezos Richard
Branson
3
Rescale - Company Overview
サンフランシスコ ( 本社 ), 東京オフィス300%+ annual growth
SaaS タイプの Cloud HPC を提供 ( 設計者対象 )
36+ global data centers, 180+ simulation apps
Rescale - Company Overview
100+ Leading Global 2000 Enterprises
Company
Technology
Customers
InvestorsPeter ThielJeff Bezos Richard
Branson
4
On-Premise 型
IaaS 型
SaaS 型
• 導入まで長いリードタイム• 維持・管理に多大な工数• システム変更が困難• 低い稼働率 or 多数のジョブ待
ち
• HPC 環境の構築と維持• アプリケーションのインストール• クラウドベンダロックされ最適な環境が
使えないケースあり (GPU, Infinibandなど )
APPSs
IaaS
Build
左記を解決する手段として , SaaS タイプが注目されている
5
なぜ SaaS Type Cloud HPC なのか ?
GUI
Softw
are
Hard
war
e
6
Rescale の特徴・メリット
GUI
Softw
are
Hard
war
e マルチクラウドを実現、インフラは完全に抽象化
9
Rescale の特徴・メリット (HW)
• アジリティー / スケーラビリティー• アプリケーションに応じて最適なインフラを選択 ( インフィニ
バンド / GPU 利用可能 )Private Cloud
GUI
Softw
are
Hard
war
e マルチクラウドを実現、インフラは完全に抽象化
180+ のアプリケーションがすでにインストール
9
Rescale の特徴・メリット (SW/HW)
• アプリケーションのインストール作業不要• 30 弱のアプリは従量課金で利用可能 (OSS 除く )• 高速に動かすためのノウハウが詰め込まれている
• アジリティー / スケーラビリティー• アプリケーションに応じて最適なインフラを選択 ( インフィニ
バンド / GPU 利用可能 )Private Cloud
GUI
Softw
are
Hard
war
e
設計者の視点で設計された、シンプルかつ効果的なUser Interface
マルチクラウドを実現、インフラは完全に抽象化
180+ のアプリケーションがすでにインストール
• パラメータスタディースタディー機能• ワークフローの保存・コピー・共有が簡単• VDI も統合化、計算結果をダウンロードする必要がない• API による操作が可能、 Deep Learning 用で Jupyter も利用
可能
• アプリケーションのインストール作業不要• 30 弱のアプリは従量課金で利用可能 (OSS 除く )• 高速に動かすためのノウハウが詰め込まれている
• アジリティー / スケーラビリティー• アプリケーションに応じて最適なインフラを選択 ( インフィニ
バンド / GPU 利用可能 )9
Rescale の特徴・メリット (GUI/SW/HW)
Private Cloud
GUI
≈≈≈≈
SWHW
≈
Browser Deep Learning
Rescale の 全体像
https://twitter.com/rescaleJapan
CAE/CFD/SIMULATION
Private Cloud
APIJupyter
Caffe
GUI
≈≈≈≈
SWHW
≈
Browser Deep Learning
Rescale の 全体像
https://twitter.com/rescaleJapan
CAE/CFD/SIMULATION
Private Cloud
APIJupyter
Caffe
ユーザさまはシステムの維持・管理の必要はありません
On-Premise, IaaS HPC の 課題を解決
12
基本操作は 3STEP: SaaS なので HW も SW も管理不要
STEP1Upload Files
(1)
ファイルを選択
STEP3
(3)
Select a core type
HW を選択(AWS, Azure, Softlayer など意識する必要なし )
STEP2
(2)
Setup a application (180+)
アプリケーションの選択
実行コマンドの入力
バージョンの選択
13
本日の DEMO/HANDS-ON の内容
• Rescale のパラメータスタディー機能を用い STAR-CCM+ を複数同時実行する。– ダクトファンモデルを用いる– プリ処理は実施済みとする
• Rescale の Remote Desktop 機能を使いクラウド上で計算結果を可視化する ( 時間がある人のみ )
14
狙い
• Rescale を使えば HW を意識する必要なくクラウド上で STAR-CCM+ を簡単に実行できことを体験する– HW の導入 / 維持 / 管理全て不要– STAR-CCM+ の操作に専念できる
• クラウドを使えばマシンの台数を気にすることなく、必要なとき必要台数分ボタン一つで調達できることを理解する– 一台を 100 回計算するより 100 台を使って 1 回で計算する ( 料金は同じ )– クラウドは POD (Power on-demand) ライセンスと相性が良い
15
パラメータスタディーを行う変数
羽の角度
軸の半径
回転速度
16
特性値 (評価する物理特性 )
トルク
Outlet の流量
17
ファイル説明
• sampleV1106.sim– STAR-CCM+ の sim ファイル。”入力” でアップロード
• parameterStudy.java– STAR-CCM+ の JavaMacro ファイル ( 本日は使いません )– 羽の角度、軸の半径、回転速度に変更される
• parameterStudy.java.tmp– 上記 JavaMacro を Rescale のパラメータスタディー用に一部編集したもの– “テンプレート” でアップロード
• post.sh– 標準出力に表示される Outlet の質量流量と回転体のトルクを抽出するスクリプト– “Post Processing” でアップロード
補足資料 https://goo.gl/RdHrLd
Resc
ale
の操作画
面Overview of Parameter-Study (DOE-JOB)
18
Input Output制御因子 変数名 値羽の角度 [deg] MY_ANGLE 10, 20, 30, 40, 50, 60, 70,
80
軸の半径 [m] MY_RADIUS 0.0050, 0.0075, 0.0100, 0.0125, 0.0150, 0.0175, 0.0200
回転速度 [rpm]
MY_ROTATION 800, 1000, 1200
特性値 変数名トルク [N ・ m] OF2_Torque
Outlet 面の流量 [kg/s]
OF1_MassFlowOutlet
System
(4) Macro ファイル をテンプレート化したparameterStudy.java.tmpアップロード
(1) 実験計計画法を選択( パラメータスイープ機能 )
(6) HW の選択 / コア数決定
(3) 総当たり : 全 168 ケースのパラメータテーブルを定義
(7) トルクと流量を取り出す、 post.sh を作成しアップロード
(5) SW の選択 / 設定
(2) Sim ファイルsampleV1106.sim をアップロード
19
パラメータスタディー機能の動作 & チャート機能
MY_ANGLE304050
パラメータリスト
result1
result2
result3
#/bin/shVAL=$(grep “accuracy” ./log | awk ‘{print $2}’)printf "%s\t%s\n" ”ACCURACY" "${VAL}"
入力 (Input) 出力 (Output)
流量
羽の角度 軸の半径
Rescale は 3Dグラフを自動生成します
${MY_ANGLE}
run130
run240
run350
Rescale JOB 実行Solver 実行中
JOB の準備 計算の確認 (browser)
20
本日の前提と注意点
Pre 処理 Solver 実行 可視化
メッシュ作成は Macroファイルに従って、 batch-Job の中で行われる
Hands-on 1 Hands-on 2 ( 時間のある方 )Pre 処理は実施済みとする
parameterStudy.java は使いませんparameterStudy.java.tmp を使用します
シェルスクリプトは改行に、キャリッジリターン (CR) がないことを確認する。その他のファイルもアプリケーションとの相性で改行コードに注意する
Remote Desktop 用インスタンスの消し忘れに注意
21
DEMO
22
PERFORMANCE
23
ベンチマークモデル / 使用環境
• モデル– 艦船– X=1 Sampled iterations.– Size is about 25M cells.
• 環境RescaleOnyx
学術系スパコン(on-premise)
CPUXeon E5-2666 v3
(Haswell)Xeon E5-2680 v4
(Broadwell)コア数 / node 18 (9 x 2) 28 (14 x 2)
Mem 60GB/node 128GB / nodeStorage 64GB/node ?
Inter Connect 10GEther Infiniband (100G/bps)
24
ベンチマーク結果STAR-CCM+ on Rescale は、 Infiniband のシステムと変わらないパフォーマンスが出ている
0 50 100 150 200 2500
20
40
60
80
100
120
On-Premise_x000d_( 学術系スパコン )Rescale(Onyx)
コア数
相対速度
Rescale (Onyx の 18 コアでの計算速度を 18 とし相対比較した )
25
HOW RESCALE WORKS
Submit Job
Upload Input Files
Calc-Result
API or Kick the submit node.
Start the remote-desktop
Input File
Run Instance for Desktop
Calc-Result
Start desktop-service
Operation from desktop
クラウド
BackendClient
Submit Job
Visualization w/ Remote DeskTop
Object Storage(Cloud)
安価・高信頼容量を気にしない
14
Private Cloud
27
Hands-on
補足資料は下記ですhttps://goo.gl/RdHrLd
28
LOGIN TO RESCALE
29
https://platform.rescale.jp/
30
AFTER LOGIN
31
ジョブを選択します
32
ジョブ名の決定 と実験計画法 ( パラメータスタディー機能 ) の選択
33
2. ジョブの種類から実験計画方を選択します
1. 適当なジョブ名を入力します
34
変更をクリックします
35
入力ファイルのアップロード
36
1. 入力をクリックします( おそらくすでにこの画面にいるので、その場合はクリックしなくても OK)
2. “ ファイルをアップロード” をクリックし、” sampleV1106.sim” をアップロードします。
37
アップロードが進んでいるのを確認します
38
サイズが 5.9MB であることを確認します
39
並列設定
40
並列設定をクリックします
41
1. 自分で変数を指定するをクリックします
2. 組み合わせをクリックします
42
画面の通り入力し、”追加”ボタンをクリックしてください
名前 : MY_ANGLE最小値 : 10 40最大値 : 80刻み幅 : 10
43
画面の通り入力し、”追加”ボタンをクリックしてください
名前 : MY_RADIUS最小値 : 0.0050最大値 : 0.0200 0.015刻み幅 : 0.0025
44
画面の通り入力し、”追加”ボタンをクリックしてください
名前 : MY_ROTATION最小値 : 800最大値 : 1200 1000刻み幅 : 200
453 つのパラメータスイープさせる変数が、問題なく設定されていることを確認します
46
テンプレートのアップロード
47
テンプレートをクリックします
48
1. “ ファイルをアップロード” をクリックし “ parameterStudy.java.tmp” をアップロードします
2. アップロードが進んでいることを確認します
49
サイズが 1.9KB であることを確認します。
50
画面の通り入力します
./parameterStudy.java
補足資料 https://goo.gl/RdHrLd
51
ソフトウェアの選択と実行コマンドの入力
52
ソフトウェアをクリックします
53
1. STAR と入力し、検索をかけます
2. “STAR-CCM+” をクリックします
54
2. バージョン 11.06 010 (Mixed Precision) を選択します
1. STAR-CCM+ が選ばれていることを確認します
55
画面のように入力します。
starccm+ -power -rsh ssh -np $RESCALE_CORES_PER_SLOT -machinefile $HOME/machinefile -batch parameterStudy.java sampleV1106.sim
補足資料 https://goo.gl/RdHrLd
56
1. “ ライセンスを自分で用意”を選びます
2. 画面の通り入力します
3. PoD Key を入力します( ハンズオンでは指定のキーを入力してくださ )
補足資料 https://goo.gl/RdHrLd
57
ハードウェアの選択
58
ハードウェアの選択を選びます
59
今回は、コアタイプとして ” Nickel” を選びます
60
1 システムあたりのコア数として “ 8 “ を入力しますスロット数として “ 2” を入力します。
One-System あたりのコア数( イメージとしては複数ノード入った、 1 ラックあたりのコア数を必要分入力 )
左記の Cluster が、何システムあるか
61
1 システムあたりスペック
右のトータル料金を見つつ “スロット数” を、 4 に増やしていただいても OKです。本来は Case 数に応じてここを大きくします。 Houry ベースの課金のため、短い計算の場合は 1 スロットあたり、多ケース入るように調整すると無駄なく計算できます。
2. 全スロット含めたトータルの HW 料金 [¥/h]
62
強制的に終了させる時間を入力します。ここでは 3 を入力します。
63
ポスト処理スクリプトのアップロード
64
ポストプロセッシングをクリックします
65
ファイルアップロードをクリックし、” post.sh” をアップロードします
66
サイズが 386bytes であることを確認します。
67
ポストプロセッシングコマンドへ画面のように入力します。
dos2unix ./post.sh ./post.sh
シェルスクリプトの場合、改行コードにCR があるとエラーになる (Windows で保存した場合 )そのため dos2unix を入れている補足資料 https://goo.gl/RdHrLd
68
次へをクリックします
69
計算の実行
70
1. 内容で良いか確認します
2. 実行をクリックします
参考 ) このボタンでも OK
71
自動的に”ステータス”のタブに遷移したことを確認します
72
この状態が数分続きます
73
Server(s) Started になっていることを確認します公開鍵が設定されていれば、サーバへの ssh ログイン方法が出力されます
74
計算ログ /標準出力の確認
75
1. 適当な run 番号 をクリックします
2. “process_output.log” を選択します。
3. 標準出力の内容が表示されます
もし、ログアウト後や、違う画面に遷移後であれば、以下の操作でこの画面を表示してください。1. 画面左上の”ジョブ”をクリック2. JOB の一覧で実行中のジョブの”ジョブ名”をクリック3. 画面右側 “ステータス” のタブをクリック
76
1. “ 結果” のタブをクリックします
2. 画面のように計算の状況が確認できます
77
結果確認
78
ログイン後、該当する JOB をクリックします
79
“ 並列設定”で定義したパラメータスタディー用変数
ポストプロセッシング “ post.sh” で抽出した値
変数名をクリックすると大きい順、小さい順にソーティングされます
80
仮に run 番号をクリックします。
81
process_output.log を開きます
Browser をフリーズさせないため容量の大きいファイルを開くことはできません。( ダウンロードは可能 )
82
確認後閉じます
83
全ての解析に戻ります( 必ず全ての解析に戻ること。全ての解析からチャートのタブに移る必要があります )
84
チャートのタブをクリックします。
85
表面図をクリックします
86
1. 画面のように、チェックをつけます
2. 図のようなグラフが表示されていることを確認します
実際のハンズオンの図と異なります。(Overview of Parameter-Study ページにおける、 Input パラメータ内 2重取り消し線上の値も利用 )
87
REMOTE DESKTOP で計算結果を表示する
88
ログイン後、”デスクトップ” をクリックします
89
カスタムデスクトップをクリックします
90
Windows を選択します。
91
STAR-CCM を選択します
92
バージョン 11.06 010 を選択します
93
該当するジョブを選択します(データがアタッチされます)
94上記のようになっていることを確認し “起動” クリックします
95
内容を確認し、起動をクリックします
96
サーバが起動後、ソフトウェアがインストールされ、計算結果がコピーされています
サーバの起動状態が出力されます
97
しばらく待ちます
98
2. “ しばらくお待ちください” の表示がなくなっていることを確認します
1. “Server(s) Started” が表示されていることを確認します
3. “接続” をクリックします
99
パスワード生成をクリックし、メモしておきます
100
リモートデスクトップファイルをダウンロードをクリックします
101
パスワードは英字キーボード入力になっていることを注意して、先ほどメモしたパスワードを入力します
102
計算結果が保存されていることを確認します
103
フォルダーを移動し、 run1 から run168 まであることを確認します
104
STAR-CCM を起動します
105
このアイコンをクリックします
106
POD の設定を行います
Browser をクリックします
107
先ほど確認した、計算結果の中から適当なデータを選択します。ここでは例として run100 のsampleV1106@00350 を選びました
108
Open All Scenes を 選択します
109
110
REMOTE DESKTOP の終了
111
112
1. チェックを入れます
2. 終了ボタンを押します
113
強制終了ボタンを押します
114
2. 停止中になっていることを確認します
1. デスクトップをクリックします