SR11000

ysd@KLab > SR8000/SR11000

SR11000でのOpenMP

そもそも使うためにはパーソナルコース1では無理、というオチがありますが。

並列数の変更

3つの方法があります。
環境変数を設定する方法
setenv OMP_NUM_THREADS n
プログラムで設定する方法。
#pragma omp parallel num_threads(n)
もしくは
omp_set_num_threads(n);

NQSの紹介

SR11000では、NQSを利用することができます。 システムとしては、キューに様々なユーザがジョブを投げて順に処理をしてくれることになります。 メリットとしては完全に単独で実行されるので理論上最高速で動きます。 デメリットとしてはノードが空いていない限り使えない(ので、場合によってはジョブを投げてから結果が返ってくるまで大分時間がかかる)ということと、 インタラクティブな使い方(例えばデータ学習させるときに、状況を表示して人間がそれに該当する教師データを与える等)ができないことがあります。

使い方

以下のようなことを書いたファイル(ジョブファイル)を作ります。各パラメータがどういう意味かは基盤センターがサポートするべき情報。

#!/bin/csh 使用シェル
#@$-q S1 投げるキューの名前
#@$-N 4 使用するノード数
#@$-J SS ジョブタイプ
#@$-o OUT 標準出力の出力先ファイル
#@$-e ERR 標準エラーの出力先ファイル
#@$-lT 00:10:00 制限時間
mpirun -n 4 -np 32 hoge これ以降は普通にコマンド列

次に、そのジョブファイルをジョブキューへ投げます。とりあえずこれで完了。

% qsub foo.job foo.jobは↑で作ったジョブファイル

SR8000関連

もはや必要ない情報なので、別ページに分離しました。