• 検索結果がありません。

海洋科学研究用電子計算機システム

N/A
N/A
Protected

Academic year: 2021

シェア "海洋科学研究用電子計算機システム"

Copied!
19
0
0

読み込み中.... (全文を見る)

全文

(1)

東京大学 大気海洋研究所

「海洋科学研究用電子計算機システム」

利用の手引き

平成 24 年 5 月 17 日版

株式会社アルゴグラフィックス

(2)

目次

1

本システムについて ... 3

1.1 システムの概要 ... 3 1.2 ソフトウェア構成 ... 4

2

システムの基本利用方法 ... 5

2.1 システムへのログイン方法 ... 5 2.2 各自利用可能なディスクエリアについて... 5

3

コンパイラ等の利用 ... 7

3.1 Fortran Compiler ... 7 3.2 C/C++ Compiler ... 9 3.3 並列プログラムのコンパイル方法 ... 10 3.4 ESSL ... 12 3.5 LoadLeveler ... 13

4

オンラインマニュアルについて ... 19

(3)

1 本システムについて

1.1 システムの概要

本システムは IBM の Power7 プロセッサを搭載した IBM Power750 サーバを中心とした並列計算機システムで す。Power750 サーバは 1 台あたり Power7 CPU (3.6GHz)を 32 コア、メモリを 256GB 搭載したサーバ 5 台で構 成されており、1 台は対話型処理を行うフロントエンドサーバ、残り 4 台はバッチ処理を行うバックエンドサ ーバとして運用致しております。Power750 の各ノード間接続、ならびに基幹スイッチには高速な 10G イーサネ ットで接続されております。また、共有データ領域として、約 100TB 容量(RAID6 フォーマット)のディスクア レイ装置を装備し、スケーラブルファイルシステムの GPFS によりディスク共有を行っております。 その他、利用者用の端末として、ワークステーション(Linux)と PC(Windows)が用意されております。また印 刷装置 XEROX 社製レーザープリンタと EPSON 社製のプロッタが用意されております。 図、システム全体概要図 1、フロントエンドサーバ (IBM Power 750×1 台) 【CPU】 Power7/3.6GHz 8core x 4 =32core

【Memory】 256GB 【HDD】 146GB/15000rpm x 4 /RAID1 【Adapter】 1000Base-T x 4,10GbE x 1, 8Gbps FC x 2 2、バックエンドサーバ (IBM Power 750×4 台) 【CPU】 Power7/3.6GHz 8core x 4 =32core

【Memory】 256GB 【HDD】146GB/15000rpm x 4 /RAID1 【Adapter】 1000Base-T x 4,10GbE x 1, 8Gbps FC x 2(1 台のみ) 3、管理用端末 (IBM Power 710×1 台)

【CPU】 Power7/3.0GHz 4core

【Memory】 46GB 【HDD】 146GB/15000rpm x 2 /RAID1 【Adapter】 1000Base-T x 4 4、ストレージシステム (IBM DS5020+EXP520) 【HDD】 2TB x 52 本 → 実効約 104TB (RAID6:Parityx2,Sparex1,Datax13/Box x 4 =2TB x 52 = 104TB) 5、利用者用 WS (DELL PowerEdge T610)

【CPU】 Intel Xeon X5670 2.93GHz 12MB Cache 【Memory】 24GB 【HDD】1TB/7,200rpm SATA 2.5” 【Other】 1000BaseT、キーボード/マウス/ディスプレイ 6、利用者用 PC (DELL OptiPlex390)

【CPU】 Intel Core i5-2400 3.1GHz 6MB Cache

【Memory】 4GB 【HDD】 500GB/7,200rpm SATA 3.5” 【Other】 1000BaseT、キーボード/マウス/ディスプレイ <各機器のスペック>

(4)

1.2 ソフトウェア構成

本システムに搭載している OS ならびにソフトウェアはそれぞれ下記のようになります。

<A.フロントエンド/バックエンドサーバ (IBM Power 750>

ソフトウェア名 バージョン 内容 オペレーティングシステム AIX7 7.1 コンパイラ XL Fortran 13.1 Fortran コンパイラ XL C/C++ 11.1 C/C++コンパイラ ライブラリ/ツール ESSL 5.1 数値演算ライブラリ PESSL 3.3 数値演算ライブラリ(並列版) PE 5.2 MPI ライブラリ・実行環境 その他 LoadeLeveler 4.1 バッチシステム GPFS 4.5 クラスタファイルシステム <B.利用者用ワークステーション (DELL PowerEdge T610> ソフトウェア名 バージョン 内容 オペレーティングシステム RedHat Enterprise Linux Server x86_64 6.1 アプリケーション MATLAB 7.14 数値計算ソフトウェア <C.利用者用ワークステーション (DELL OptiPlex390> ソフトウェア名 バージョン 内容 オペレーティングシステム Windows7 professional 64bit 7 (sp1) アプリケーション Microsoft Office Professional 2010 オフィス統合環境

Adobe Creative Suite 5.5 グラフィック・デザイン ソフト ウェア

(5)

2 システムの基本利用方法

2.1 システムへのログイン方法

下記のサーバにログインが可能です。  フロントエンドサーバ p750a.aori.u-tokyo.ac.jp  利用者用ワークステーション pe610.aori.u-tokyo.ac.jp ※それぞれのシステムには希望のあったユーザのみ登録されます 各マシンへは ssh でのアクセスが可能です。所内からはパスワード認証によるアクセスが可能ですが、 所外からは、よりセキュアな ssh の公開鍵認証を用いたアクセスしか行えないよう制限されております。 例えば所内の端末からコマンドラインからフロントエンドサーバにログインするには、次のようにコマン ド入力致します。 % ssh 自分のユーザ ID@p750a.aori.u-tokyo.ac.jp

xxx@p750a.aori.u-tokyo.ac.jp's password: mypassword ←パスワードを入力 ※バックエンドサーバはバッチ処理専用である為、ログインして利用することはできません。

2.2 各自利用可能なディスクエリアについて

各ユーザは、ホームディレクトリならびに一時保管用ディレクトリが利用可能です。ディスクエリアは フロントエンドサーバ、利用者用ワークステーションでそれぞれ独立しており、利用可能な容量がそれぞ れ異なります。各自ホームディレクトリに保存できるディスク容量は下記のコマンドで確認を行います。 A)フロントエンドサーバ $ mmlsquota

Block Limits | File Limits

Filesystem type KB quota limit in_doubt grace | files quota limit in_doubt grace Remarks gpfs02 USR 74688 524288000 629145600 0 none | 815 0 0 0 none 現在の使用量↑ ↑利用可能な容量 ↑一定期間まで許容される容量

B)利用者用ワークステーション $ quota

Disk quotas for user argo (uid 75):

Filesystem blocks quota limit grace files quota limit grace /dev/mapper/VolGroup00-LogVol05

44 5000000 6000000 11 0 0 現在の使用量↑ ↑利用可能な容量 一定期間まで許容される容量

(6)

ホームディレクトリ以外に計算処理の一時保管用として/data1 ファイルシステムが用意されています。 各自自由に利用することが可能ですが、消去条件に従って定期的にファイルが消去されますので、あくま でも一時的な利用にとどめ、利用後必要なデータはホームディレクトリへ退避するようにしてください。 <一次保管用ディレクトリ> システム 領域名 容量 消去条件 フロントエンドサーバ /data1 20TB 利用者用ワークステーション /data1 100GB 毎週火曜日午前3時に強制消去

(7)

3 コンパイラ等の利用

3.1 Fortran Compiler

XL Fortran V.13.1 for AIX コンパイラは、Fortran77、90、95の各標準規格に完全準拠し、本システム が搭載するPowerPCプロセッサファミリーのアーキテクチャーに併せた最適化機能を有したコンパイラです。 またSMP環境での並列処理を可能にする為、POSIX ptheradsライブラリやOpenMP2.0 Fortran APIをサポート しており、自動並列化機能もサポートされています。

3.1.1 プログラムのコンパイルと実行例

次のようなサンプルプログラム”test.f”をコンパイルするには次のようにします。

① ソースファイル”test.f”の作成 program testf

write(*,*)”Hello World , XL Fortran !” end

② コンパイル&リンク % xlf -o testf test.f

** testf === End of Compilation 1 ===

1501-510 Compilation successful for file test.f.

*コマンド部分”xlf”をf77,f90,f95にすることで、コンパイラを選択することが可能です。

③ 実行 % ./testf

Hello World , XL Fortran !

3.1.2 大きな配列を使用する場合 コンパイラのデフォルトのデータ領域の最大は256MBに定義されています。256MBを超える大きな配 列を使用するプログラムをコンパイルする場合は、"-bmaxdata"オプションを以下の様に指定してコ ンパイル、リンクして実行してください。(最大2GBまで定義可能) $ xlf -bmaxdata:512000000 largeprog.f (総計512,000,000バイトの配列、変数を使用したプログラムをコンパイル、リンク) 3.1.3 64 ビット・モードでのコンパイル及びリンク AIX 5Lは、64ビット・モードをサポートしています。Fortranコンパイラもこれに伴い64ビット・ モードのサポートがされています。2GBを超えるような大規模な配列を操作する場合等は、次の様に 64ビット・モードでコンパイルしてご利用ください。(デフォルトは32ビット・モード) $ xlf -q64 testprog.f

(8)

3.1.4 CPU のアーキテクチャに依存したコードの生成

本システムにはPOWER7と呼ばれるアーキテクチャのCPUが搭載されています。このCPUに依存した命 令コードにより最適化させたモジュールを生成することが可能です。但し、異なるCPUタイプのマシン では実行できない場合があります。

$ xlf -qarch=pwr7 -qtune=pwr7 testprof.f (POWER5プロセッサ向けのコードを作成する場合) 3.1.5 最適化コードの生成 コンパイル時に次のようなオプションを付加することにより、最適化することが可能です。 [一般的な最適化オプション(Optimize Level)] -O3 メモリとコンパイル時間を使用して追加の最適化を行います。 -O4 -O3と次のオプションを含めて最適化を行います。 -qarch=auto,-qtune=auto,-qcache=auto -O5 -O4と次のオプションを含めて最適化を行います。 -qipa=level=2 [特定の最適化オプション] -qhot このオプションで指定する引数により配列やループなどの高位変換で 最適化を行います。 -qtune 特定のハードウェア・アーキテクチャにあわせて最適化を行います。 -qturn=pwr7 -qarch 特定のハードウェア・アーキテクチャにあわせて最適化を行います。 -qarch=pwr7 -qips このオプションで指定する引数により、プロシージャー間分析(IPA)を行い、 -O?の最適化を増大させます。 それぞれのオプションを付加することにより、コンパイル時間は増大します。また全てのオプショ ンがそれぞれのユーザプログラムに有効ではありませんので、最適化オプションを付加しないほうが 速い場合があります。また一部の最適化オプションによってプログラムの意味や実行結果が変わって しまう場合があります。その場合は"-qstrict"オプションを付加することにより回避させることが可 能です。 この他の最適化オプション等や詳細につきましては、XL Fortran Compiler マニュアルをご参考く ださい。 3.1.6 XL Fortran V13.1 コンパイラ呼び出しコマンド(参考) 呼び出しコマンド名主機能 xlf FORTRAN77 f77 FORTRAN77 スレッド・セーフFORTRAN77、 OSデフォルト POSIX pthreads API xlf90 Fortran90 スレッド・セーフFortrn90 OSデフォルト POSIX pthreads API xlf95 Fortran95 スレッド・セーフFortrn95 OSデフォルト POSIX pthreads API スレッド・セーフFORTRAN77 ドラフト7 POSIX pthreads API スレッド・セーフFortrn90 ドラフト7 POSIX pthreads API スレッド・セーフFortrn95 ドラフト7 POSIX pthreads API xlf90_r7 xlf95_r7 xlf_r xlf90_r xlf95_r xlf_r7

(9)

3.2 C/C++ Compiler

IBM XL C/C++ for AIX V.11.1 コンパイラは 2003 年改訂国際 C++標準 ISO/IEC(C++言語) 14882:2003 および ISO/IEC9899:1999(C 言語)に準拠し、C99 標準に対する拡張をサポートしたコンパイラで、32 ビッ トと 64 ビットの両方のアーキテクチャと最適化テクノロジーがサポートされます。また SMP 環境での並 列化標準規格である OpenMP2.0 をサポートし、自動並列化機能もサポートされます。 3.2.1 プログラムのコンパイルと実行例 次のようなサンプルプログラム”test.c”をコンパイルするには次のようにします。  ソースファイル”test.c”の内容 #include<stdio.h> void main() {

puts(“Hello World, Visual Age C++ Professional!”); }

 コンパイル&リンク % xlc –o testc test.c

 実行 % ./testc

Hello World, Visual Age C++ Professional !

3.2.2 XL C/C++ v.11.1 コンパイラ呼び出しコマンド(参考) 呼び出しコマンド名 主機能 xlc C Compiler (標準言語ansi) cc C Compiler(拡張言語版) c89 ANSI標準に一致 xlc128 xlc long,double 128bit拡張版(標準64bit) cc128 cc long,double 128bit拡張版(標準64bit) スレッドセーフ xlc Compiler Posix threaded xlc Compiler スレッドセーフ cc Compiler Posix threaded cc Compiler

xlc_r4 DCE threaded xlf Compiler

cc_r4 DCE threaded cc Compiler

xlc_r7 Posix thread Standard Draft 7準拠 xlc Compiler cc_r7 Posix thread Standard Draft 7準拠 cc Compiler xlc_r

cc_r

3.2.3 その他

最適化オプション等は、XL Fortran Compiler と同様です。詳細につきましては、IBM XL C/++ Compiler マニュアルをご参考ください。

(10)

3.3 並列プログラムのコンパイル方法

3.3.1 SMP 並列プログラムのコンパイルと実行例 3.3.1.1 コンパイル "testprog.f"というFORTRANプログラムをSMP並列モジュールとしてコンパイルする場合、 以下のようにコンパイルします。 $ xlf_r -qsmp testprog.f 上記のように SMP 並列モジュールの生成は、~_r コンパイルコマンドに "-qsmp"オプションを 付加して行います。(FORTRAN/C/C++共通です) "-qsmp"関連のオプションとして、以下のようなオプションと動作の違いがあります。

-qsmp :自動並列化を行い、OpenMP の指示行(PARALLEL DO)が指定されている DO ループを強制的に並列化します。

コンパイルとリンクを別に行う場合、-qsmp はリンク時に必要です。

-qsmp=noauto :自動並列化は行わず、OpenMP の指示行(PARALLEL DO)が指定されている DO ループのみを強制的に並列化することを指示します。 -qnosmp :並列化を一切行いません。 注意 -qsmp オプションは-qhot というプログラムの意味を変えてしまう可能性のある最適化オプショ ンが暗黙指定されます。これは -qstrict オプションを付加することで抑止することができます。 3.3.1.2 環境変数と実行例 <並列数の指定> "a.out"実行モジュールを2CPU(2スレッド)で実行するには以下のように "OMP_NUM_THREADS"環境変数にスレッド数を指定して実行します。 ("OMP_NUM_THREADS"を指定しない場合は搭載されている CPU 数が自動定義されます) % setenv OMP_NUM_THREADS 2 (csh 環境の場合) % ./a.out (なお、上記 "% setenv OMP_NUM_THREADS 2" と同じく環境変数で

"% setenv XLSMPOPTS parthds=2" としても、起動スレッド数の指定ができます)

<高速化>

以下の環境変数を指定すると、並列化された部分でスレッドを起動する時間が 速くなり、パフォーマンスが向上することがあります。

% setenv XLSMPOPTS profilefreq=0:spins=0:yields=0 % setenv YIELDLOOPTIME 500

(11)

3.3.2 MPI 並列プログラムのコンパイル 3.3.2.1 コンパイル

本システムには MPI ライブラリならびにその実行環境として、IBM Parallel Environment (PE) V5.2 が導入されています。並列プログラムをコンパイルする場合には、次のようなコンパイラ呼び出し コマンド(mp~コマンド)を利用します。 ・mpcc ……… C Compiler の場合 ・mpxlf ……… XL Fortran Compiler の場合 これらのコンパイラ呼び出しコマンドはスクリプトであり、このスクリプトにより並列プログラム に必要なライブラリ等が呼び込まれます。内部ではそれぞれのコンパイラ呼び出しコマンドを実行 しています。 3.3.2.2 実行例、その他 <実行例> 単純にプログラムを並列実行する為には以下のように poe コマンドを利用します。

$ poe <program name> -procs <tasks> -hostfile <host.list> <options>

ここでは予め host.list というファイルに実行するタスク(プロセス)を起動するホスト名 を、並列する数 列挙しておき、-hostfile オプションでこのファイルを指定するようにしま す。例えば多重度を 2 として”hostname”コマンドを変列実行するには、次のようにします。

$ poe hostname -procs 2 -hostfile host.list -labelio yes

“-procs”オプションにより多重度の指定、”-hostfile”オプションで先に作成した 「host.list」ファイルの指定、”-labelio”オプションによりタスク番号を出力させています。 またこれらのオプションは、環境変数”MP_PROCS”,”MP_LABELIO”,などにより、予め指定し ておくことが可能です。 ※MPI 並列プログラムをロードレベラ上で実行する際は、上記のような poe コマンドは必要 ありません (起動するタスク数や実行するホストなどバッチシステム側で管理する為です) 実際の MPI プログラムの実行に関しては、次章「バッチシステム(ロードレベラ)使用方法」 の部分を参照下さい。 <高速化> 共有メモリ環境下においては、以下の環境変数を指定すると各プロセス間の通信でネット ワークインタフェースを介さずメモリ内で直接コピーを行うようになり、パフォーマンス が向上します。

% setenv MP_SHARED_MEMORY yes

その他、PE の詳しい利用方法につきましては、AIX Parallel Environment マニュアルをご参 考ください。

(12)

3.4 ESSL

ESSL(Engineering and Scientific Subroutine Library V5.1)は IBMにて提供している数値演算用のサブ ルーチンライブラリです。高速なアルゴリズムを用い、かつ CPUである POWER アーキテクチャの性能を 引き出すようチューニングがされていますで、このサブルーチンを利用するだけでプログラムが高速化で きます。また、PESSLではMPIによる並列処理機能もサポートしており、それぞれFORTRAN、C、C++から利 用することができます。 □ ESSL リンク例 ESSL を利用する場合以下のようにコンパイルします。 % xlf -lessl testprog.f SMP 対応の ESSL を利用する場合以下のようにコンパイルします。 % xlf_r -qsmp -lesslsmp testprog.f ※ESSL に付属する、SMP 対応の ESSL サブルーチンは、呼び出し形式が通常(シングル プロセッサ用)と同じである為、上記のようにリンクのオプションを変更するだけで 並列に実行できます。

ESSL の詳細な情報は「ESSL V5.1 Guide and Reference」を参照下さい。

□ PESSL(並列版 ESSL)リンク例

PESSL を利用する場合、以下のようにコンパイルします。 % mpxlf -lessl -lpessl -lblacs testprog.f ※上記は BLACS ライブラリをリンクする場合の例です

PESSL で提供されるサブルーチンや詳細な情報は「PESSL V3.3 Guide and Reference」 を参照下さい。

(13)

3.5 LoadLeveler

並列計算サーバに導入されているLoad Leveler v4.1は、単一あるいは複数のマシンに投入された ジョブのスケジューリングと管理を行います。投入されたジョブを受け取り、ジョブを実行するため の用件を確認し、そのシステムがジョブの実行に最適かを決定しジョブの実行とチェックポイントの サポートに十分なリソースを持ったシステムで実行します。 ジョブ投入する方法は、llsubmit コマンドコマンドを用います。次のようなパラメータをロード レベラ JCF(Job Command File)ファイルに指定、またはキー入力します。

・ジョブクラスの指定 ・mail の返信を行うか否かの指定。 ・実行プログラムを指定 本計算機に設定されているバッチジョブクラスは、次の 5 種類となります。 クラス名 CPU時間 利用メモリ 最大CPU数(多重度) 最大同時実行数 実行ノード P32 24 hour unlimited 32 3 バックエンドサーバ P16 24 hour unlimited 16 6 バックエンドサーバ P8 24 hour unlimited 8 6 バックエンドサーバ P4 24 hour unlimited 4 8 バックエンドサーバ SS 24 hour unlimited 1 16 バックエンドサーバ バッチジョブクラスは利用状況により変更されることがあります。現在設定されているバッチジョブ クラスは"llclass"コマンドで確認することができます。

(14)

3.5.1 基本利用方法 ロードレベラを利用場合、例えば Fortran のプログラムを実行して結果をメール通知するには、次 のような JCF を作成して、llsubmit コマンドにより、ジョブを投入します。 ① ファイル名"test.jcf"を下記のように作成します。 #!/bin/csh ・・・・・・・・・・・・ スクリプトが csh 構文であることの宣言 # @ class = SS ・・・・・・・・・・ クラスの指定 # @ output = OUTFILE ・・・・・・・・ 標準出力ファイル名(任意) # @ error = ERRFILE ・・・・・・・・・ エラー出力ファイル名(任意) # @ notify_user = ユーザ名 ・・・・・ メール転送先(例: username@hostname) # @ notification = complete ・・・・・ 処理終了後にメールを受け取る # @ environment = COPY_ALL ・・・・・・ ユーザ環境の引継ぎ(必須) # @ queue ・・・・・・・・・・・・・・ 実行(必須) date ・・・・・・・・・・・・・・・・ 実行ステートメント f77 -o sampleprog.exe sampleprog.f sampleprog.exe

echo "Program Finished"

② llsubmit コマンドで①で作成した"test.jcf"をジョブに投入します。 $llsubmit test.jcf

llsubmit: The job "p750a.156" has been submitted.

③ 投入されたジョブの確認は llq コマンドで行います。 $ llq

Id Owner Submitted ST PRI Class Running On --- --- --- -- --- --- --- p750a.151.0 argo 1/29 16:53 R 50 P16 p750e p750a.153.0 argo 1/29 16:54 R 50 P4 p750b p750a.156.0 argo 1/29 16:54 R 50 SS p750b p750a.157.0 argo 1/29 16:54 R 50 P8 p750c p750a.155.0 argo 1/29 16:54 I 50 P8

5 job step(s) in queue, 1 waiting, 0 pending, 4 running, 0 held, 0 preempted ここでステータス(ST)が、"R"になっていれば、そのジョブは実行中です。ST が"I"の場合は、 実行待ちです。"Running On"は、そのジョブが実行されているノード名(マシン)です。

④ ジョブをキャンセルする場合は llcancel コマンドで行います。

$ llcancel p750a.156.0 …… キャンセルするジョブの ID を指定します。 llcancel: Cancel command has been sent to the central manager.

(15)

⑤ マシンの状態を確認する場合は llstatus コマンドを実行します。 $ llstatus

Name Schedd InQ Act Startd Run LdAvg Idle Arch OpSys p710 Avail 0 0 None 0 0.03 6846 R6000 AIX71 p750a Avail 0 0 None 0 0.00 197 R6000 AIX71 p750b Avail 0 0 Idle 0 0.00 9173 R6000 AIX71 p750c Avail 0 0 Idle 0 0.12 9999 R6000 AIX71 p750d Avail 0 0 Idle 0 0.01 9999 R6000 AIX71 p750e Avail 0 0 Idle 0 0.02 9999 R6000 AIX71

R6000/AIX71 6 machines 0 jobs 0 running tasks Total Machines 6 machines 0 jobs 0 running tasks

The Central Manager is defined on p710

The BACKFILL scheduler is in use

All machines on the machine_list are present.

主な表示項目の意味は以下の通りです。

・Schedd スケジュールデーモンの稼動 ... Avail:稼動中、Down:停止中 ・Startd ジョブスケジュール状況 ... Busy:実行中(最大実行中)、Down:停止、

Idle:ジョブ待ち、Running:実行中(余裕有り)

3.5.2 ロードレベラの主なコマンド  llcancel <options> <joblist>

ロードレベラのキューから 1 つまたは複数のジョブを取り消します。一つのジョブ を取り消すには、llq コマンドなどで得られるジョブ順序番号名を指定します。 (オプション) -? 簡易ヘルプメッセージ表示 -H 詳細ヘルプメッセージ表示 -u <userid> 指定ユーザのジョブすべてをキャンセル (例) llcancel p750a.366.0

 llclass <option> <class name>

利用可能なジョブクラスを表示します。単に llq コマンドを実行すると利用可能な クラスと、クラスの利用状況が確認します。 (オプション) -? 簡易ヘルプメッセージ表示 -H 詳細ヘルプメッセージ表示 -l 指定したクラスの詳細を表示 (例) llclass

(16)

 llq <option> <job nomber/name> ディスパッチされたジョブに関する情報を表示します。単に llq コマンドを実行す ると、現在キューイング及び実行しているジョブ情報を表示します。 (オプション) -? 簡易ヘルプメッセージ表示 -H 詳細ヘルプメッセージ表示 -l 指定されたジョブの詳細を表示 (例) llq

 llstatus <option> <host>

ロードレベラ・クラスタ内のマシン状況に関する情報を表示します。 (オプション)

-? 簡易ヘルプメッセージ表示

-H 詳細ヘルプメッセージ表示

(例) llstatus

 llsubmit <option> <JCF file name>

JCF のジョブ用件に基づいてディスパッチされるジョブを、ロードレベラにサブミ ットします。 (オプション) -? 簡易ヘルプメッセージ表示 -H 詳細ヘルプメッセージ表示 (例) llstatus

(17)

3.5.3 JCF の例 3.5.3.1 SMP 並列ジョブを実行する場合 SMP 並列ジョブを実行する場合には、下記の例のように「# @ resources = ConsumableCPUs(NN)」 ならびに「# @ parallel_threads = NN」の"NN"部分に並列数(使用する CPU 数)を、指定クラス で許されている最大値までの範囲内で指定します。(※OpenMP の環境変数「OMP_NUM_THREADS」 によるスレッド数の指定は行わないでください) なお、ここで実行させるプログラムは SMP 用に コンパイルされたプログラムを指定する必要があります。 #!/bin/ksh # @ class = P4 # @ resources = ConsumableCPUs(4) # @ parallel_threads = 4 # @ error = sample2.$(Host).$(Cluster).$(Process).err # @ output = sample2.$(Host).$(Cluster).$(Process).out # @ queue ./smpprog.exe 3.5.3.2 MPI 並列ジョブを実行する場合 MPI 並列ジョブを実行するには、totak_task という値で多重度を指定する必要があります。多 重度は、指定クラスで許されている最大値までの範囲で任意に指定することが可能です。ここで 実行するコマンドは MPI で並列化されたプログラムである必要があります。

下記例の「# @ rset = rset_mcm_affinity」と「export MEMORY_AFFINITY=MCM」の行はチュー ニングのオプションです。 #!/bin/ksh # @ class = P4 # @ job_type = parallel # @ total_tasks = 4 # @ rset = rset_mcm_affinity # @ error = sample3.$(Host).$(Cluster).$(Process).err # @ output = sample3.$(Host).$(Cluster).$(Process).out # @ queue export MEMORY_AFFINITY=MCM ./mpiprog.exe

(18)

3.5.3.3 SMP と MPI のハイブリッド並列ジョブを実行する場合

MPI の各タスクが OpenMP で並列化されたプログラムを実行するには、前述の SMP と MPI で指 定したキーワードを併せて指定します。

下記例のように SMP 並列ジョブ指定である「# @ resources = ConsumableCPUs(NN)」ならびに 「# @ parallel_threads = NN」の"NN"部分に OpenMP の並列数(スレッド数)を、「# @ totak_task = NN」の部分に MPI の並列数(タスク数)をそれぞれ指定します。ここで SMP(OpenMP)と MPI それ ぞれの並列数を掛け合わせた値が指定クラスで許されている最大値までの範囲内になるよう指 定してください。 #!/bin/ksh # @ class = P32 # @ job_type = parallel # @ resources = ConsumableCPUs(8) # @ parallel_threads = 8 # @ total_tasks = 4 # @ rset = rset_mcm_affinity # @ error = sample4.$(Host).$(Cluster).$(Process).err # @ output = sample4.$(Host).$(Cluster).$(Process).out # @ queue export MEMORY_AFFINITY=MCM ./smp-mpiprog.exe

※上記は OpenMP でプロセスあたり 8 スレッド並列、MPI で 4 並列の計 32CPU 並列ジョブ の場合の例です。

(19)

4 オンラインマニュアルについて

コンパイラやロードレベラなど、より詳しい情報は IBM より発行されている各種マニュアルに詳細の記 述があります。各種マニュアルは PDF または HTML 形式で用意されており、学内から下記の URL へアクセス してマニュアルを入手してください。 <並列計算機オンラインマニュアル> http://whale.aori.u-tokyo.ac.jp/manual/

参照

関連したドキュメント

同研究グループは以前に、電位依存性カリウムチャネル Kv4.2 をコードする KCND2 遺伝子の 分断変異 10) を、側頭葉てんかんの患者から同定し報告しています

Q7 建設工事の場合は、都内の各工事現場の実績をまとめて 1

経済学研究科は、経済学の高等教育機関として研究者を

(1) コ ンテナ 貨物の 荷渡地に つい て、都市コード(国連LOCO DEの5桁コード。以下同じ。 ) を入力する。なお、仮陸揚貨物

解析結果を図 4.3-1 に示す。SAFER コード,MAAP

具体的な取組の 状況とその効果 に対する評価.

経験からモジュール化には、ポンプの選択が鍵を握ると考えて、フレキシブルに組合せ が可能なポンプの構想を図 4.15

この場合,波浪変形計算モデルと流れ場計算モデルの2つを用いて,図 2-38