Oakforest-PACS利用の手引き!1

お試しアカウント付き
並列プログラミング講習会
Oakforest-PACS利用の手引き
東京大学情報基盤センター

Oakforest-PACS利用の手引き!2

Oakforest-PACS (OFP)への公開鍵の登録• Webブラウザで登録用ページにアクセスする

https://ofp-www.jcahpc.jp/• ユーザ名とパスワードを聞かれるので、センターから発行されたユーザ名とパスワードを入れる。
• 注意：記載されたパスワードそのままではNG！

!3

Oakforest-PACS利用の手引き

ポータル画面（ログイン前）

センターから配られた利用者番号を入力するとパスワード

Oakforest-PACS利用の手引き!4

パスワード変更• 最初のログイン時にパスワード変更を求められるので、新しいパスワードを入力してください。

Oakforest-PACS利用の手引き

!5

鍵の登録
1. 左側メニューの「SSH公開鍵登録」をクリックする
2. 「公開鍵を追加」をクリックし、画面に公開鍵をコピーアンドペーストする
3. 「作成」ボタンを押すOakforest-PACS利用の手引き

ポータル画面

ここをクリック!6Oakforest-PACS利用の手引き!7

ポータル画面（公開鍵登録）~/.ssh/id_rsa.pub“RSA”であることを確認

指定後クリックOakforest-PACS利用の手引き!8

ポータル画面（公開鍵登録：別のやり方）

公開鍵をペースト
cat ~/.ssh/id_rsa.pub

ペースト後クリック

Oakforest-PACS利用の手引き

Oakforest-PACSへログイン• ターミナルから、以下を入力する$ ssh txxxxx@ofp.jcahpc.jp「txxxxx」は利用者番号• 接続するかと尋ねられるので、• 鍵の設定時に入れた自分が決めたパスフレーズを入力する• 成功すると、ログインができるyesを入力する!9

Oakforest-PACS利用の手引き!10

Oakforest-PACSのデータをPCに取り込む• ターミナルでscpコマンドを使う• $ scp txxxxx@ofp.jcahpc.jp:~/a.f90 ./「txxxxx」は利用者番号• OFP上のホームディレクトリにある a.f90 をPCのカレントディレク

トリに取ってくる• ディレクトリごと取ってくる場合は -r を指定する• $ scp -r txxxxx@ofp.jcahpc.jp:~/SAMP ./• OFP上のホームディレクトリにあるSAMPフォルダを、その中身ごと、PCのカレントディレクトリに取ってくるOakforest-PACS利用の手引き!11

PCのファイルをOakforest-PACSに置く• 同様にターミナルでscpコマンドを使う• $ scp ./a.f90 txxxxx@ofp.jcahpc.jp:「txxxxx」は利用者番号• PCのカレントディレクトリにある a.f90 を、OFP上のホームディレクトリに置く• ディレクトリごと置くには、 -r を指定する• $ scp -r ./SAMP txxxxx@ofp.jcahpc.jp:• PCのカレントディレクトリにあるSAMPフォルダを、その中身ごと、OFP上のホームディレクトリに置く

Oakforest-PACS利用の手引き!12

Oakforest-PACSにおける注意• /home ファイルシステムは容量が小さく、ログインに必要なファイルだけを置くための場所です。
• /home に置いたファイルは計算ノードから参照できません。ジョブの実行もできません。

• 転送が終わったら、/workファイルシステムに移動(mv)してください。
• または、直接 /workファイルシステムを指定して転送してください。

• ホームディレクトリ: /home/txxxxx• cd コマンドで移動できます。

• Workディレクトリ: /work/gt00/txxxxx

Oakforest-PACS利用の手引き!13

Oakforest-PACSスーパーコンピュータシス
テムでのジョブ実行形態• 以下の２通りがあります• インタラクティブジョブ実行• ＰＣでの実行のように、コマンドを入力して実行する方法• スパコン環境では、あまり一般的でない• デバック用、大規模実行はできない• OFPでは、以下に限定• １ノード（68コア）：2時間まで• 16ノード（1,088コア）：10分まで※講習会アカウントではバッチジョブ実行のみ、最大16ノード15分まで• バッチジョブ実行• バッチジョブシステムに処理を依頼して実行する方法• 実行させたい処理をファイル（ジョブスクリプト）で指示する• スパコン環境で一般的• 大規模実行用• OFPでは、最大2048ノード（139,264コア）(24時間)

Oakforest-PACS利用の手引き!14

Oakforest-PACSスーパーコンピュータシステ
ムでのジョブ実行形態(2)• 2つの異なるメモリモードを用意• Flatモード• MCDRAMとDDR4メモリを個別にアクセス可能• Cacheモード• MCDRAMはDDR4メモリのキャッシュとして働く• 各ジョブキューには、-flat, -cache をそれぞれ用意Oakforest-PACS利用の手引き!15

インタラクティブ実行のやり方• コマンドラインで以下を入力• 1ノード実行用• $ pjsub --interact –g gt00 –L rg=interactive-{flat,cache},elapse=01:00※コマンドは改行せず1行で入力すること• 16ノード実行用• $ pjsub --interact –g gt00 –L rg=interactive-{flat,cache},node=16,elapse=01:00※インタラクティブ用のノードがすべて使われている場合、資源が空くまで、ログインできません。
※講習会アカウントでは使えません。

Oakforest-PACS利用の手引き!16

コンパイラの種類とインタラクティブ実行およびバッチ実行• OFPでは、コンパイラはバッチ実行、インタラクティブ実行で共通に使えます。
• 例） Intelコンパイラ• Cコンパイラ: icc, mpiicc (Intel MPIを使う場合）• Fortran90コンパイラ: ifort, mpiifort (Intel MPIを使う場合）• KNL向け最適化： -xMIC-AVX512• ログインノードやプレポスト用ノードで実行する可能性もある場合:-axMIC-AVX512

Oakforest-PACS利用の手引き!17

バッチ処理とは• スパコン環境では、通常は、インタラクティブ実行（コマンドラインで実行すること）はできません。
• ジョブはバッチ処理で実行します。

バッチキュージョブの依頼

バッチ処理システムがジョブを取り出す

実行
ユーザ

スパコン

Oakforest-PACS利用の手引き!18

バッチキューの設定のしかた• OFPでのバッチ処理は、富士通のバッチシステムで管理されています。
• 以下、主要コマンドを説明します。
• ジョブの投入：pjsub <ジョブスクリプトファイル名>• 自分が投入したジョブの状況確認：pjstat• 投入ジョブの削除：pjdel <ジョブID>• バッチキューの状態を見る：pjstat --rsc• バッチキューの詳細構成を見る：pjstat --rsc -x• 投げられているジョブ数を見る：pjstat --rsc -b• 過去の投入履歴を見る：pjstat -H• 同時に投入できる数／実行できる数を見る：pjstat --limitOakforest-PACS利用の手引き

ジョブスクリプトの例#!/bin/bash#PJM -L rscgrp=lecture-flat#PJM -L node=2#PJM --mpi proc=4#PJM --omp thread=16#PJM -L elapse=0:01:00#PJM -g gt00

!19

※実行させたい処理によって各項目の内容は異なります

リソースグループ名：lecture-flat
利用ノード数
MPIプロセス数
プロセスあたりのスレッド数
実行時間制限：１分

mpiexec.hydra –n ${PJM_MPI_PROC} ./a.out
プログラムを実行

利用グループ名：gt00

Oakforest-PACS利用の手引き!20

本お試し講習会でのキュー・グループ名• 本演習中のキュー名：• tutorial-flat または tutorial-cache• 最大15分まで• 最大ノード数は16ノード(1088コア) まで• 本演習時間以外（24時間）のキュー名：• lecture-flat または lecture-cache• 利用条件は演習中のキュー名と同様• グループ名：gt00

!21

Oakforest-PACS利用の手引き

pjstat --rsc の実行画面例

使えるキュー名(リソースグループ)$ pjstat --rsc
RSCGRPSTATUS
regular-cache|---- small-cache[ENABLE,START]`---- medium-cache[ENABLE,START]
regular-flat|---- small-flat[ENABLE,START]`---- medium-flat[ENABLE,START]interactive-cache|---- interactive_n1-cache [ENABLE,START]`---- interactive_n16-cache [ENABLE,START]interactive-flat|---- interactive_n1-flat[ENABLE,START]`---- interactive_n16-flat [ENABLE,START]
debug-cache[ENABLE,START]
debug-flat[ENABLE,START]
prepost[ENABLE,START]

現在使えるかNODE
3846
3846
3846
3846
100
100
100
100
234
234
12

ノードの利用可能数

Oakforest-PACS利用の手引き!22

pjstat --rsc -x の実行画面例$ pjstat --rsc -x
RSCGRPSTATUS
regular-cache|---- small-cache[ENABLE,START]`---- medium-cache[ENABLE,START]
regular-flat|---- small-flat[ENABLE,START]`---- medium-flat[ENABLE,START]interactive-cache|---- interactive_n1-cache [ENABLE,START]`---- interactive_n16-cache [ENABLE,START]interactive-flat|---- interactive_n1-flat [ENABLE,START]`---- interactive_n16-flat [ENABLE,START]
debug-cache[ENABLE,START]
debug-flat[ENABLE,START]
prepost[ENABLE,START]

使えるキュー名(リソースグループ)

現在
使えるかMIN_NODE MAX_NODE MAX_ELAPSE REMAIN_ELAPSE MEM(GB) PROJECT
1129

128
512

48:00:00
48:00:00

48:00:00
48:00:00

82 pz0105
82 pz0105

1
129

128
512

48:00:00
48:00:00

48:00:00
48:00:00

96 pz0105
96 pz0105

1
2

1
16

02:00:00
00:10:00

02:00:00
00:10:00

82 pz0105
82 pz0105

12
1
1
1

1
16
128
128
1

02:00:00
00:10:00
00:30:00
00:30:00
06:00:00

02:00:00
00:10:00
00:30:00
00:30:00
06:00:00

96 pz0105
96 pz0105
82 pz0105
96 pz0105
222 pz0105

ノードの実行情報

課金情報（財布）
実習では１つのみ!23

Oakforest-PACS利用の手引き

pjstat --rsc -b の実行画面例$ pjstat --rsc –b
RSCGRPSTATUS
regular-cache|---- small-cache[ENABLE,START]`---- medium-cache[ENABLE,START]
regular-flat|---- small-flat[ENABLE,START]`---- medium-flat[ENABLE,START]interactive-cache|---- interactive_n1-cache [ENABLE,START]`---- interactive_n16-cache [ENABLE,START]interactive-flat|---- interactive_n1-flat [ENABLE,START]`---- interactive_n16-flat [ENABLE,START]
debug-cache[ENABLE,START]
debug-flat[ENABLE,START]
prepost[ENABLE,START]

使える
キュー名
(リソースグループ)

現在
使えるか

TOTAL RUNNING QUEUED HOLD OTHER

NODE

45
140
1

5000003846
3846

150
7120
330
400003846
3846

0000000000100
100

107001040000
3000000000000100
10023423412

ジョブ 実行しての総数 いるジョブの数待たされているジョブの数

ノードの利用可能数