Weitere ähnliche Inhalte
Mehr von Osamu Masutani (20)
Kürzlich hochgeladen (10)
Windows HPC Server 講習会 第1回 導入編 2/2
- 12. ここまででできること
exe 、 bat にできれば、なんでもいい。
C/C++/.NET/Java/Ruby/Python …
Matlab もコンパイルすれば
問題を分割する
ファイル処理なら、ファイル単位で分割すればよい
タスクが独立な処理ならこの方法で良い
注意点
共有フォルダをうまく利用して結果を集約させる
別にDBにアクセスしてもいい
なるべくローカルフォルダは利用しない(汚すので)
Copyright 2011 Denso IT Laboratory, Inc.
All rights reserved
- 13. 3.Matlab から HPC
Matlab で並列計算と言えば
Parallel Computing Toolbox
http://
www.mathworks.co.jp/products/parallel-computing/index.h
中々のお値段: Toolbox 17 万、 Server 102 万以上
お手軽版として HPC Server を利用
単純なバッチ処理分割なら十分
Copyright 2011 Denso IT Laboratory, Inc.
All rights reserved
- 14. 3.Matlab から HPC
いくつか利用法がある
3-1 Parallel Computing Toolbox を使う
[ こんな時 ] PCT を持ってるよ。でもサーバは無いよ
ccsscheduler というコマンドを利用
ジョブの発行
ジョブファイルのやり取り
クラスタスペックの取得
など
Copyright 2011 Denso IT Laboratory, Inc.
All rights reserved
- 15. 3.Matlab から HPC
3-2 コンパイルする
Matlab Compiler でコンパイルして、 exe にしてし
まう
[ こんな時 ] すでにコンパイルしている、その方が速
い
以降の使い方はバッチ処理と同じ
ノードに Matlab ライセンス不要
事前に MCR を配置する必要がある?
Copyright 2011 Denso IT Laboratory, Inc.
All rights reserved
- 16. 3.Matlab から HPC
3-3 Matlab インタプリタをそのまま利用
[ こんな時 ] コンパイルが面倒、試行錯誤したい
ノードに Matlab ライセンスが必要
アクセスユーザに注意が必要
バッチファイルと matlab のコマンドラインモードを
利用する
いくつかの方式について、 run helper を作成済み
cobPublicDocumentshpcrunhelpers
Copyright 2011 Denso IT Laboratory, Inc.
All rights reserved
- 17. 3.Matlab から HPC
3-3-1 logfile run helper を利用
コンソールの log を利用
結果ログを出すだけで良いとき
コマンドとログ出力ファイル名を引数として渡すだけ
コマンドが終了するまで待つ
スプラッシュなし
第一引数を実行
start /w matlab -wait -nodesktop -nosplash -minimize -r %1 -logfile %2
コマンドが終了するまで待つ
GUIなし
コンソールウィンドウ最小化
ログファイル出力先
Copyright 2011 Denso IT Laboratory, Inc.
All rights reserved
- 18. 3.Matlab から HPC
3-3-1 logfile run helper を利用
cobPublicDocumentshpcrunhelpersmatlabmatlablogfile
Job 指定方法
普通のバッチコマンドと同じ
リソースをライセンスのあるマシンに
限定
run helper バッチファイル:すべてのノードから参照できる場所
cobPublicDocumentshpcrunhelpersmatlabmatlablogfilematlabtask.bat
"disp(magic(*));exit;" cobPublicDocumentshpcappstestmat_result*.log
ログの出力先
コマンド
(
( * でパラメータスイープ)* でパラメータスイープ)
Copyright 2011 Denso IT Laboratory, Inc.
All rights reserved
- 19. 3.Matlab から HPC
3-3-2 command sweep run helper を利用
cobPublicDocumentshpcrunhelpersmatlabmatlabcommandsweep
コマンドがログを出すことにする
-logfile の出力からゴミを除去するのが面倒なとき
Usage(Bat 中に記載 )
%1 Matlab コマンド名 ※コマンドの引数を書かないでください。
%2 スィープパラメータ 通常はタスクプロパティの "*" を入れれば良いでしょう。
%3 コマンドの第二引数 通常はコマンドの出力先を入れれば良いでしょう。
%4 ログファイル出力先 一応デバッグのためログファイルも指定できます。
matlabcommandsweep mycommand *
cobPublicDocumentshpcappshogehogematout*
cobPublicDocumentshpcappshogehogematlog*.txt
Copyright 2011 Denso IT Laboratory, Inc.
All rights reserved
- 21. 3.Matlab から HPC
3-3-3 “command sweep multi” run helper を利用
各マシンの Matlab インストールユーザで実行
ブリッジするバッチファイルをローカルに配布
一度だけ認証すると、以降認証いらず
matlabcommandsweepx
matlabcommandsweepx
Run_matlab_by_validuser
Run_matlab_by_validuser
各マシンのライセンスユーザで一度実行しておく
Copyright 2011 Denso IT Laboratory, Inc.
All rights reserved