センター入門講習会～高性能演算サーバ PRIMERGY CX400（tatara）～

2016年6月6日

この資料は以下のWebページからダウンロードできます.
https://www.cc.kyushu-u.ac.jp/scp/users/lecture/1

並列プログラミング入門講習会のご案内 スーパーコンピュータの性能を引き出すには・・・

 並列化が不可欠！
 並列プログラミング入門講習会を6/14,15に開催
 自動並列・OpenMP
 MPI

6/14（火）6/15（水） 受講特典 お試しアカウントを提供

 応募方法 URLのページにて案内
https://www.cc.kyushu-u.ac.jp/scp/users/news/2016/375.html

2本講習会のスケジュール
 九州大学情報基盤研究開発センターのシステム
 高性能演算サーバで利用可能なソフトウエア
 高性能演算サーバへの接続
 高性能演算サーバにおけるプログラムのコンパイル、実行3

九州大学情報基盤研究開発センターのシステム
 「全国共同利用」施設
 システムは九州大学にあるが、利用対象者は全国の研究者
 利用方法 基本的には、個別に申請、支払い
 計算機利用法などの情報：

https://www.cc.kyushu-u.ac.jp/scp/4

ラインナップ 本講習会の対象
計算機名

Fujitsu FX10 Fujitsu
CX400

HITACHI
HA8000HITACHI
SR16000

ノード数

1,152

1,476

965

1

総CPUコア数

18,432

23,61623,160

256

総理論性能

272TF

966TF

712TF

8.2TF

総主記憶容量（ノード当たり）

36TB(32GB)

185TB(128GB)

241TB(256GB)

16TB

NVIDIA Tesla
Intel Xeon Phi
K20m, K20Xm 5110P

アクセラレータ
ディスク容量

230TB

4PB

3.5PB

550TB

運用予定期間2012.72017.9

2012.92017.9

2013.122017.9

2013.122017.9

理論演算性能
 高性能演算サーバの理論演算性能

966 Tera FLOPS

 理論演算性能？
 計算機が持つ演算装置全てを同時に使用できた場合の、理論的なピーク性能
 FLOPS?

 FLoating point Operations Per Second の略
 1秒間に何回の実数計算を行えるか。

FLOPS ＝プロセッサの周波数 x 同時実行可能演算数 x プロセッサ数例） 4演算同時実行可能な 1GHzのプロセッサ 1,000個によるシステム⇒ 1GHz x 4 x 1,000 = 4,000GFLOPS = 4 Tera FLOPS
G: Giga(=109)
T: Tera(= 1012),
P: Peta(= 1015 ),E: Exa(= 1018)6理論演算性能と実際の性能の違い
 理論演算性能：

全ての演算器が休むことなく働き続けることが前提
 実際のプログラムの性能：

様々な要因で演算器が休止
 メモリからのデータ到着待ち
 他のプロセスの計算完了待ち
 プロセス間の負荷の不均衡

 通信の完了待ち
 ファイル入出力待ち

理論演算性能による比較は、ほとんど意味が無い

7

実際のプログラムの性能？
 プログラムによって傾向が変わる。

例えば。。。
 仕事を複数のプロセッサに分担させるのが難しい計算：

とても高速なプロセッサ 1個による計算機が有利

 たくさんのプロセッサに分担させることができる計算：低速なプロセッサを多数搭載した計算機が有利

どのプログラムを使って比較するか？
8

Top500 List
 最も有名な、スーパーコンピュータ性能比較リスト

http://www.top500.org◦

稼働中のスーパーコンピュータの上位500台を掲載。

 LINPACKベンチマークプログラムの性能で順位付け◦◦

連立一次方程式の解を求める計算
比較的、理論性能に近い性能が出る
キャッシュヒット率が高い、通信が少ない、負荷が均等

 他の計算機との比較や傾向の分析などが容易◦◦

1993年からほとんど同じ条件で更新を継続。
世界中のほぼ全てのスーパーコンピュータが登録。

スーパーコンピュータ開発競争に利用
9最新情報： 2015年11月 来月、更新予定
 1位

2位
3位
4位

Tianhe-2(China)
Titan (USA)
Sequoia (USA)K Computer(Japan)

 国別合計：

1位 USA
2位 China3位 Japan
4位 Germany
5位 France

33.9 PFLOPS
17.6 PFLOPS
17.1 PFLOPS
10.5 PFLOPS

41.3% (172.6 PFLOPS)
21.2% ( 88.7 PFLOPS)
9.2% ( 38.4 PFLOPS)
7.1% ( 29.9 PFLOPS)
2.9% ( 12.3 PFLOPS) 以下，UK, Saudi Arabia, Switzerland, Korea,Italy, ...

10

QUARTETTO(= CX400 + HA8000)
Quadruple Technologies Intel Ivy Bridge, Intel Sandy Bridge, NVIDIA Kepler, Intel Xeon Phi
Quadruple Technics

Kyushu University, Hitachi Ltd., Fujitsu Ltd., NVIDIA Co.

Total Peak Performance

1.5 PFLOPS

Total Memory

431 TiB

HPLPerformance

1.018PFLOPS

Top500 Rank

#77 (Nov. 2015)11

アクセラレータ 特定の計算を、通常の CPUより低い電力で高速に処理できる装置
 通常、計算機の拡張スロットに増設して使用
 特に消費電力当たり性能の高さから、導入事例増加

 アクセラレータの違い
 NVIDIA Tesla
 GPUと共通の構造で一般の計算を行う "GPGPU"計算 CUDA等の専用言語でのプログラミングが必要

 Intel Xeon Phi
 低速で低消費電力の CPUを多数並べて並列計算

12 従来の並列プログラミングインタフェース（OpenMP等）を使用可能

本講習会のスケジュール
 九州大学情報基盤研究開発センターのシステム
 高性能演算サーバで利用可能なソフトウエア
 高性能演算サーバへの接続
 高性能演算サーバにおけるプログラムのコンパイル、実行

13

高性能演算サーバで利用可能なアプリケーション

高性能アプリケーションサーバでも利用可能なもの

ソフトウェア名Gaussian機能o

非経験的分子軌道計算プログラム

CHARMM

生体高分子システムモデリングパッケージ

Molpro

非経験的分子軌道計算ソフトウェア

GAMESSo非経験的分子軌道法／密度汎関数理論計算プログラム

MSC.Marc

非線形構造解析プログラム

MSC Nastran, Patran

汎用構造解析有限要素法プログラム

ANSYS CFX, Fluent, ICEM, CFD,WorkBench

汎用有限体積法熱流体解析ソフトウェア

VASP

o

固体電子状態計算・バンド計算プログラム

SCIGRESS

古典分子動力学ソフトウェア

MATLAB

数値計算ソフトウェア

AMBER

o

IDL
WRF

モデリング／分子力学／動力学計算シミュレーションプログラム

データ解析・可視化プログラミング言語oメソスケール数値気候予測モデル

14

高性能演算サーバで利用可能な
ライブラリ
高性能アプリケーションサーバでも利用可能なもの

ライブラリ名機能

SSL II

Fortran用汎用数値計算ライブラリ

C-SSL II

C, C++用汎用数値計算ライブラリ

LAPACK, BLASo

線形計算ライブラリ

ScaLAPACKo

並列版線形計算ライブラリ

FFTW

o

高速フーリエ変換ライブラリ

NAG

数値計算ライブラリ

PETSc

o

偏微分方程式用数値計算ライブラリ

HDF5o

階層型データフォーマットライブラリ

15

高性能演算サーバで利用可能な
プログラミング環境
高性能アプリケーションサーバでも利用可能なもの

プログラミング環境名機能Technical Computing Suite

富士通製Fortran,C,C++コンパイラ

Intel Composer XE 2013
PGI Fortrano Intel製Fortran,C,C++コンパイラ
PGI製Fortranコンパイラ

Unified Parallel Co 分散メモリ型並列C言語

Coarray Fortrano 分散メモリ型並列Fortran

OpenMPo 共有メモリ型並列プログラミングモデル

MPIライブラリo 分散メモリ型並列プログラミング用通信ライブラリ

CUDA

GPU向けC/C++言語開発環境

CUDA Fortran

GPU向けFortran開発環境

OpenACC

アクセラレータ向けの共通プログラミングインタフェース
16

本講習会のスケジュール
 九州大学情報基盤研究開発センターのシステム
 高性能演算サーバで利用可能なソフトウエア
 高性能演算サーバへの接続
 高性能演算サーバにおけるプログラムのコンパイル、実行

17

高性能演算サーバへのアクセス

ユーザ
ログイン、ファイル転送

フロントエンドサーバ


ログイン、ファイル転送、鍵登録、マニュアル参照

フロントエンドサーバ
tatara.cc.kyushu-u.ac.jp

ジョブ投入

ポータルサーバ

直接ログインして操作
ブラウザから操作バックエンドサーバ


フロントエンドからジョブ投入

ポータルサーバ
https://tatara-portal.cc.kyushu-u.ac.jp/
cgi-bin/hpcportal/index.cgi

ジョブ投入

バックエンドサーバ
ホームディレクトリ
18

高性能演算サーバの利用
ポータルサーバ経由
 ブラウザから以下にアクセス

https://tatara-portal.cc.kyushu-u.ac.jp/cgi-bin/hpcportal/index.cgi

 高性能演算サーバのユーザ名とパスワードを入力 ファイル操作、編集、コンパイル、ジョブ投入、各種マニュアル参照、等が可能
 詳細は、「HPC Portal」のマニュアルを参照
19

高性能演算サーバの利用
フロントエンドサーバ経由
 まず、自分の公開鍵をポータルサーバで登録 以下のページを参照
https://www.cc.kyushu-u.ac.jp/scp/system/general/CX/how_to_use/01_login.html

 ターミナルソフトで tatara.cc.kyushu-u.ac.jpにログイン ログイン後は通常の Linuxサーバと同様の操作

20

実習 １
ログインまでの流れ 以下のページに従い、PuTTYでログインしてください
https://www.cc.kyushu-u.ac.jp/scp/system/general/CX/how_to_use/01_login.html

 鍵の作成 鍵のアップロード

 SSHでログイン

21

本講習会のスケジュール
 九州大学情報基盤研究開発センターのシステム
 高性能演算サーバで利用可能なソフトウエア
 高性能演算サーバへの接続
 高性能演算サーバにおけるプログラムのコンパイル、実行

22

プログラム実行の４形態
 逐次
 従来の実行。１CPUコアを利用。

 スレッド並列
 共有メモリでの並列実行。

計算ノード内での実行。
 MPI（プロセス並列）

 分散メモリでの並列実行。

主に複数ノードで利用。
 ハイブリッド並列
 複数のスレッド並列をさらに並列に実行。

主に複数ノードで利用。
23

主なコンパイルコマンド一覧
言語

逐次

スレッド並列MPI

ハイブリッド並列

Cfcc

fcc -Kparallel
fcc -Kopenmp

mpifccmpifcc -Kparallel
mpifcc -Kopenmp

C++

FCC

FCC -Kparallel
FCC -Kopenmp

mpiFCC

mpiFCC -Kparallel
mpiFCC -Kopenmp

Fortranfrt

frt -Kparallel
frt -Kopenmp

mpifrtmpifrt -Kparallel
mpifrt -Kopenmp

実際にコンパイルする際は、-Kfastオプションを付与することを推奨します。
C言語のスレッド並列(自動並列)プログラムのコンパイル例$ fcc –Kfast –Kparallel sample.c(-Kオプションは以下のようにカンマ区切りで並べることも可能)$ fcc –Kfast,parallel sample.c24基本コマンド （逐次処理）
 コンパイルコンパイルコマンド オプション ソースプログラム例)
tatara$ frt example.f90

実行ファイル a.out を作成tatara$ frt –o example example.f90
作成する実行ファイルの名前を example に変更

25

コンパイル時の主なオプション
Fortran-c

オブジェクトファイルの作成までを行う-o ファイル名 作成するファイル名を変更
-Free

自由形式

-Fixed

固定形式-Kfast最適化(推奨オプション)-Kparallel

自動並列化-Kopenmp

OpenMPによる並列化-Haefosux

コンパイル時及び実行時に引数の整合性、添え字式、部分列式の値、未定義変数の参照、配列式の形状適合等を検査

26

コンパイル時のオプション
C, C++-c

オブジェクトファイルの作成まで-o ファイル名

作成するファイル名を変更-Kfast最適化(推奨オプション)-Kparallel

自動並列化-Kopenmp

OpenMPによる並列化-Xg

GNU Cの言語仕様に基づいてコンパイル
C99規格と同時に指定する場合、 -noansi も追加

27

数値計算ライブラリ
 数値計算ライブラリとは？
 科学技術計算でよく用いられる計算（連立一次方程式の求解，固有値計算，FFT等）を集めたもの
 C言語やFortranのプログラムから手続き呼び出しの形で利用できる
 一般に高速なアルゴリズムを採用し，さらに計算機に合わせたチューニングが適用されている

手軽に高速なプログラムを作成可能
28

高性能演算サーバで利用可能な数値計算ライブラリ





BLAS


ベクトル演算や行列演算ライブラリ

線形代数ライブラリ

線形代数メッセージパッシング並列ライブラリ

LAPACK

ScaLAPACKSSL II, C-SSL II, SSL II/MPI


線形計算、固有値固有ベクトル、非線形計算、極値問題、補間・近似、変換、数値微積分、微分方程式、特殊関数、疑似乱数 等のサブルーチン

利用法： 以下のページを参照

https://www.cc.kyushu-u.ac.jp/scp/system/general/CX/how_to_use/05_software.html

29

高性能演算サーバで利用可能なメモリ 1ノード当たり 113GB
 物理的な搭載メモリ量：128GB
 差分（15GB） = システムが使用する領域

30

高性能演算サーバでのプログラムの実行
 フロントエンドサーバ上で直接実行 制限： 16コア、メモリ 2GB、計算時間 1時間

 バックエンドサーバへジョブとして投入

フロントエンドサーバ
tatara.cc.kyushu-u.ac.jp

ジョブ投入

ポータルサーバ
https://tatara-portal.cc.kyushu-u.ac.jp/
cgi-bin/hpcportal/index.cgi

ジョブ投入

バックエンドサーバ
ホームディレクトリ

31

バッチシステムの仕組み
 処理してほしい内容を記述したファイルを投入


ジョブとして受付

 資源の空き状況に応じて順に処理される


要求内容や空き状況によっては先を越されることもリソースグループ（待ち行列）
ジョブの使用資源量（CPU,メモリ）で選択

ジョブ

計算機

小規模ジョブ用

中規模ジョブ用

大規模ジョブ用32

バッチシステムの必要性
 対話的な利用の限界:

負荷が計算機で同時に処理可能な量を超えると,資源が空くまではコマンドの実行不可
 次にいつ資源が空くか不明
→ ジョブ実行要求を交通整理する仕組みが必要：バッチシステム
要求された処理内容をジョブとして登録
 資源の空き状況に応じて自動的に実行開始33

バッチ処理に用いるコマンド
 バッチジョブの投入

pjsub

 バッチジョブの状況確認

pjstat バッチジョブのキャンセル

pjdel
34

ジョブの投入pjsub
 利用法：

pjsub オプション ジョブスクリプトファイル名


オプション：
使用する資源等に関する指定

ジョブスクリプトファイル:バッチシステムに依頼する処理の内容を記述したファイル

いつも同じ指定をするのであれば、ジョブスクリプトファイルの中に記述しても良い。（pjsubコマンドでの指定が優先）

詳細は後述例） test.sh という名前のジョブスクリプトファイルを投入

tatara$ pjsub test.sh[INFO] PJM 0000 pjsub Job 1234 submitted.

ジョブ ID35

pjsubコマンドの主なオプション
オプション

説明-o filename

標準出力ファイル名(デフォルトの出力先： ジョブスクリプトファイル名.oジョブID)-e filename

標準エラー出力ファイル名(デフォルトの出力先： ジョブスクリプトファイル名.eジョブID)-j

標準エラー出力と標準出力を同じファイルに書き出す-L rscgrp=name

リソースグループ name にジョブを投入-L elapse=h:m:s

ジョブの最大実行時間を h時間m分s秒に制限(h, mは省略可)-L vnode=limit

使用する仮想ノード数の最大値--mpi proc=procs

MPIのプロセス数-s-S

ジョブの所要時間や使用メモリ量等の詳細情報を書き出す-S はノード毎の情報も合わせて出力(デフォルトの出力先： ジョブスクリプトファイル名.iジョブID)--no-stging

ステージング機能を使わない
36投入可能なリソースグループ
 一般利用者として利用
リソースグルー
プ名

ノード数

コア数

メモリサイズ

計算時間 備 考

cx-dbg32

16×32

113GB×32

1時間

デバッグ専用

cx-single

116

113GB×1

1週間

シングルノードジョブ専用

cx-small

1616×16

113GB×16

2日間16ノードまで利用可能

cx-middle

6416×64

113GB×64

1日間

64ノードまで利用可能

cx-large

128

16×128113GB×128

12時間

128ノードまで利用可能

cx-g-dbg

1616×16

113GB×16

1時間

Tesla K20m デバッグ専用

cx-g-single

116

113GB

1週間

Tesla K20m 1ノード

cx-g-small

16

16×16

113GB×16

2日間

Tesla K20m 16ノードまで

cx-gx-small

16

16×16

113GB×16

2日間

37
Tesla K20Xm 16ノードまで

ジョブの最大実行時間と「バックフィルスケジューリング」
 ジョブの最大実行時間
 デフォルト値： リソースグループ毎の最大実行可能時間
 （ジョブが完了する範囲で）出来るだけ短くすると、前のジョブを追い越して実行する可能性が上がる：「バックフィルスケジューリング」の効果

 バックフィルスケジューリング： 前のジョブが資源不足で待たされている場合、そのジョブの開始時刻を遅らせないで実行できるなら後ろのジョブを先に実行する。
時間

追い越し
ジョブＣ

ジョブＢ
ジョブＡ
38

ジョブＢの開始予定時刻

ノード数とプロセス数とスレッド数
 プロセス数 x スレッド数 ≦ ノード数 * 16
 デフォルト値：

ノード数 = 1，プロセス数 = ノード数，スレッド数 = 16
 プロセス数: MPIで並列実行する際に指定 ノード内で複数プロセス実行可能

 スレッド数: 1プロセスで実行するスレッドの数
 最大 16スレッド

例） 4ノードで 8プロセス（8スレッド/プロセス）を実行する場合

39

ステージングバックエンドサーバのローカルディスクを使用
事前に入力ファイルをホームからコピー（ステージイン） 終了後に出力ファイルをホームにコピー（ステージアウト）
 コピーするファイルは --stgin, --stgoutオプションで指定（詳細は、ユーザガイドの「ジョブ運用ソフトウェアエンドユーザ向けガイド」を参照）
ステージングの効果
ステージインとステージアウトの時間が必要
 同じファイルに対して何度も入出力を繰り返す場合に有効

ジョブ投入

ステージイン
ホームディレクトリ
入力ファイル

プログラム

プログラム

ローカルディスク

ローカルディスク

バックエンドサーバ

出力ファイル

ステージアウト40

ジョブの状況
pjstat 現在投入されているジョブの情報を表示
$

表示内容：

pjstatACCEPT QUEUED STGIN READY RUNING RUNOUT STGOUTHOLD ERROR
TOTAL
0000
100001s0
000
10000
1
JOB_ID1032

JOB_NAME
test

MD ST USERNM RUN k70043a

ジョブID

ジョブスクリプト
ファイル名

状態 ユーザID

START_DATE
10/19 11:44:17

ELAPSE_LIM NODE_REQUIRE
0000:10:00 8

実行開始日時

制限時間

オプションを指定しなければ，自分が投入したジョブのみ表示
 --all オプション: 実行中の全ジョブを表示
41

ジョブのキャンセル
pjdel
 利用法：pjdel ジョブID
 pjstatで表示されるジョブIDを指定
 例）12345 というジョブIDのジョブをキャンセル

tatara$ pjdel 12345

42ジョブスクリプトファイルの構成
 ジョブのオプション＋ 通常のシェルスクリプト#!/bin/sh
ジョブのオプション
実行コマンド 注意：

実行開始時のカレントディレクトリはジョブ投入時のカレントディレクトリ
43

ジョブスクリプトファイルの例(逐次処理)#!/bin/sh

オプションは、pjsubコマンドに指定しても、ジョブスクリプトに記述しても良い#PJM -L "vnode=1"#PJM -L "vnode-core=1"#PJM -L "rscgrp=cx-lecture"#PJM -L "elapse=10:00"#PJM --no-stging#PJM -j#PJM -X./a.out
44ジョブスクリプトファイルの例(自動並列によるスレッド並列処理)#!/bin/sh#PJM -L "vnode=1"#PJM -L "vnode-core=16"#PJM -L "rscgrp=cx-lecture"#PJM -L "elapse=10:00"#PJM --no-stging#PJM -j#PJM -X
export PARALLEL=16./a.out

自動並列の場合、スレッド数を環境変数 PARALLELで指定
45

ジョブスクリプトファイルの例(OpenMPによるスレッド並列処理)#!/bin/sh#PJM -L "vnode=1"#PJM -L "vnode-core=16"#PJM -L "rscgrp=cx-lecture"#PJM -L "elapse=10:00"#PJM --no-stging#PJM -j#PJM -X
export OMP_NUM_THREADS=16
OpenMPの場合、スレッド数を./a.out

環境変数 OMP_NUM_THREADSで指定
46ジョブスクリプトファイルの例(MPI並列処理)#!/bin/sh

プロセス数（最大値＝ノード数 * コア数(16)）
最大値より少なければ、各ノードにプロセス数 / ノード数を割り当て.

#PJM -L "vnode=64"#PJM -L "vnode-core=1"#PJM -L "rscgrp=cx-lecture"#PJM -L "elapse=10:00"#PJM --no-stging#PJM -j#PJM -X
mpiexec -n 64 ./a.out

47

ジョブスクリプトファイルの例(ハイブリッド並列処理(MPI+自動並列))#!/bin/sh
プロセス数#PJM -L "vnode=16"#PJM -L "vnode-core=4"#PJM -L "rscgrp=cx-lecture"#PJM -L "elapse=10:00"#PJM --no-stging#PJM -j#PJM -X

スレッド数

export PARALLEL=4
mpiexec -n 16 ./a.out
48

ジョブスクリプトファイルの例(ハイブリッド並列処理(MPI+OpenMP))#!/bin/sh
プロセス数#PJM -L "vnode=16"#PJM -L "vnode-core=4"#PJM -L "rscgrp=cx-lecture"#PJM -L "elapse=10:00"#PJM --no-stging#PJM -j#PJM -X

スレッド数

export OMP_NUM_THREADS=4
mpiexec -n 16 ./a.out
49

実習 ２
高性能演算サーバにおけるプログラムの実行
 高性能演算サーバにPuTTYでログイン サンプルプログラムとデータファイルをコピー
 /home/test

配下のファイルをホームディレクトリにコピー

 サンプルプログラム test-mpi.c をコンパイル 作成された実行ファイルをジョブとして投入

50

直接ログインする場合の手順
 PuTTY でログイン 以下の通り実行

ピリオド[k70043a@tatara01 ~]$ cp /home/test/* .
実習用ファイルのコピー[k70043a@tatara01 ~]$ ls
内容の確認[k70043a@tatara01 ~]$ cat test-mpi.c[k70043a@tatara01 ~]$ cat test.sh[k70043a@tatara01 ~]$ cat test.dat[k70043a@tatara01 ~]$ mpifcc -Kfast test-mpi.c -o test-mpi コンパイル[k70043a@tatara01 ~]$ pjsub test.sh
ジョブの投入[INFO] PJM 0000 pjsub Job 80608 submitted.
番号を確認
ジョブの確認[k70043a@tatara01 ~]$ pjstat[k70043a@tatara01 ~]$ cat test.sh.oジョブ番号
結果の確認

51

Intel コンパイラの利用法 準備 以下を実行$ source /home/etc/intel.sh MPIを用いる場合、さらに、ホームディレクトリに .mpd.confという名前のファイルを作成
 ファイルの内容： 以下の一行のみ

 文字列には、任意の文字列を記述
secretword=文字列
 その後、 .mpd.conf のアクセス権を以下により変更$ chmod 600 ~/.mpd.conf

52

Intel コンパイラの利用法
 コンパイルコマンド
非MPI
MPI

言語

コマンド

自動並列

OpenMP

Fortranifort-parallel-openmp

C/C++

icc

Fortranmpiifort

C/C++

mpiicc ジョブスクリプト
 多少書き換えが必要
 MPI+OpenMPのスクリプト例
 詳細は webページ#!/bin/bash#PJM -L "rscgrp=cx-lecture"#PJM -L "vnode=4"#PJM -L "vnode-core=16"#PJM -P "vn-policy=abs-unpack"#PJM -L "elapse=10:00"#PJM -j#PJM -X#PJM --no-stging
source /home/etc/intel.shexport I_MPI_PERHOST=4
export I_MPI_FABRICS=shm:ofa
export I_MPI_PIN_DOMAIN=omp
export I_MPI_PIN_CELL=core
export OMP_NUM_THREADS=4
export KMP_STACKSIZE=8m
export KMP_AFFINITY=compact
mpdboot -n 4 -f ${PJM_O_NODEINF} -r /bin/pjrsh
53
mpiexec -n 16 ./a.out
mpdallexitマニュアル、問い合わせ窓口
 ポータルサーバにログイン後、以下のマニュアルを閲覧可能
 HPCポータルの操作方法 プログラミング言語, ライブラリ
 C/C++, Fortran, MPI, SSL II, XP Fortran, BLAS等
 プログラミング支援ツール、デバッガ、プロファイラ

 アプリケーション
 IDL, Nastran, Patran ユーザガイド
 ジョブ運用ソフトウェア利用法 メールによる問い合わせ窓口：

request@iii.kyushu-u.ac.jp

54