Comments
Description
Transcript
高速演算システムSX
Akita University 高速演算システムSX-Siの紹介 総合情報処理センター正木忠良 1.システム概要 1.1SX-Biシステム構成 SX-8iシステムはベクトル計算機SX-8il台とそのアプリケーションサーバ1台で構成されて おります。SX-8iシステムでは,アプリケーションサーバ上でユーザが作成したFORTRANプ ログラム,C/C++プログラムをベクトル計算機上で実行させることが可能です。 機器名称 ベクトル計算機SX-8i アプリケーションサーバ 用 途 ベクトル命令により高速化可能なプログラ ムの実行 プログラムのコンパイル,デバッグおよび SX-8iへのジヨブ投入 1.2八一ドウェア構成 SX-8iシステムのハードウエア構成は以下の通りです。 機 能 仕 様 製品名 SX-8i CPU性能(最大ベクトル性能) 16GFLOPS 搭載CPU数 1 共有メモリ容量 16GB 内蔵ディスク容量 30OGB 1.s八一ドウェア構成 SX-8iシステムのハードウエア構成は以下の通りです。 機 能 オペレーティングシステム バッチ処理 FORTRANコンパイラ C / C ++ コ ン パ イ ラ 科学技術計算ライブラリ 2 2 品 名 SUPER−UX NQSIl FORTRAN90/SX C++/SX ASL Akita University 1.4利用方法 SX−8iへ直接ログインすることは出来ません。アプリケーションサーバ(quintet・ipcakita‐ u、ac、jp)上でファイル操作,プログラムのコンパイルを行い,NQSIIを使用してSX-8iへジョ ブ投入を行ないます。アプリケーションサーバへはsshを利用してログインしてください。な お,SX-8iシステムを利用できるユーザは教職員ユーザと申請書を提出した学生ユーザのみと なります。 アプリケーションサーバ上でのコンパイルの方法については「2.プログラム開発環境」,ジョ ブの投入方法については「3.バッチ処理環境」をご参考ください。各ユーザのホームディレク トリはアプリケーションサーバおよびSX-8iシステムで共有されているため,いずれのシステ ムからも同じファイルパスでアクセスすることができます。 2.プログラム開発環境 2.1コンパイル環境 プログラムのコンパイルはアプリケーションサーバ上でクロスコンパイ ラを利用して行ない ます。 アプリケーションサーバ上で利用できるコマンド グラム言語 FORTRAN C C++ コマンド マニュアル参照 sxf90 mansxf90 SXCC mansxcc SXC++ mansxc++ コンパイル方法 FORTRANの場合 sxfgO(コンパイルオプション)(ソースファイル) 例.ソースファイルsample.fをコンパイルし,実行ファイルsample、exeを生成する Cの場合 sxcc(コンパイルオプション)(ソースファイル) 例.ソースファイルsample.cをコンパイルし,実行ファイルsample、exeを生成する o g s x c e x e 2 3 Akita University C++の場合 sxc+十(コンパイルオプション)(ソースファィル) 例.ソースファイルsamplecppをコンパイルし,実行ファイルsampleexeを生成する [ho9e@quintet‐]$sxc++−osample・exesampleocpp 2.2ライブラリ環境 SX-8iシステムでは,科学技術計算ライブラリとしてASL(AdvancedScientificLibrary)が 利用できます。複雑で大規模な科学技術計算プログラムにおいて,高速な計算が可能な数学ラ イブラリは必須ライブラリの一つといえます。科学技術計算ライブラリASLはSX-8iシステム に適合した高速なFORTRANサブルーチンライブラリとして開発されており,SX-8iシステム のハードウェア性能を十分発揮できるように設計されています。(SX-8iシステムではIMSLは 提供されませんのでご注意ください)ライブラリのリンク方法は以下の通りです。 32bit整数型に対応したASLを使用する場合 sxf90(コンパイルオプション)(ソースファイル)‐lasl 64bit整数型に対応したASLを使用する場合 sxf90(コンパイルオプション)(ソースフアイル)‐│asl64 2.3開発環境 プログラムの最適化,高速化チューニングのための開発環境として,プログラム実行解析機 能,簡易性能解析機能が利用できます。 2.3.1プログラム解析機能 実行時に環境変数PROGINFを設定することでFORTRAN,C/C++プログラム実行時の 実行時間,実行命令数などのプログラムの実行に関する情報が表示されます。プログラム実 行終了後に標準エラー出力に表示されます。また,環境変数FILEINFを指定することによ りプログラム全体のファイル入出力情報を表示することもできます。 実行解析情報の表示 壷胆 一一一一巨 2 4 環境変数 設定値 FORTRAN FPROGlNF YESまたはDETAIL C / C l . 1 . CPROGlNF YESまたはDETAll Akita University ファイル入出力情報の表示 壷四 一一一一国 環境変数 設定値 FORTRAN FFIlEINF YESまたはDE「AlL C/C+十 CFlLEINF YES 2.3.2簡易性能解析機能 プログラムの関数ごとの プログラムコンパイル時にオプションーftraceを指定することで,ブ こ,解析コマンドにより, CPU時間やベクトル化に関する詳細な性能情報を取得できます。また, 詳細な解析リストを表示することができます。 ファイル入出力情報の表示 壷胆 一一一一目 FORTRAN C/C+十 環境変数 sxftrace sxftrace十.I‐ 解析コマンドの使用例 [hoge@quintetwork]$sxftrace++ * 米一一一一一一 FLOWTRACEANALYSlSLlST 淵 Execution:ThuOct2511:00:562007 TotaICPU:0:00,08''609 PR0G.UNITFREQUENCYEXCLUSIVEAVER・TlMEMOPSMFLOPSV"OPAVER。VECTORI-CACHEO-CACHEBANK TIME[sec](%)[msec] RATIOV、LENTlMEMISSMlSSCONF input-data 24.693(54.5)2346.477503.70.90.000.00.0000.02780曇02370.0007 printdata 12.315(26.9)2314.980416.513.60.000.00.0000.01450国01090.0003 maIn 11.602(18.6)1601.6253037.61408.69a01250.91,5830軍00020.00020重8184 一 total = ー 48.610(100.0)2152’390951.6266.258.19250.91.5830・04250.03470.8193 2.4日本語環境 SX-8iシステムの言語環境は英語が既定値となっておりますので, SX-81システムの言詔環境は英語が既定値となっておりますので,ジョブの実行後に出力され るPROGINFやエラーメッセージなどは英語表記となります。これは,プログラムのコンパイ ルやバッチジョブの投入などをおこなうアプリケーションサーバの日本語文字コード(UTF-8) とSX-8iシステムの日本語文字コード(EUC-JP)が異なるためです。 2 5 Akita University ただし,ジョブスクリプトの中で以下のようにLANG環境変数をjapanと 設 定 す る こ と で 出 力ファイルを日本語表記とすることが可能です。 sh形式のジョブスクリプトでの記述例 #1/bin/sh cd/home/…/ho9e/work LANG=japan exportLANG CPROGlNF=yes exportCPROGlNF CFlLElNF=yes exportCFlLElNF ./a・outdata>data・out csh形式のジヨブスクリプトでの記述例 #1/bin/sh cd/home/…/ho9e/work setenvLANGjapan setenvFPROGlNFdetail - setenvFFlLEINFdetail ./a、outdata>data・out 日本語で表記された出力ファイルを,アプリケーションサーバ上で正しく表示させるには, iconvコマンドやnkfコマンドを使用してください。参照する頻度が高い場合は,文字コードを 変更したファイルを保存しておくと作業が楽になるかもしれません。 iconvコマンドの例 2 6 Akita University プログラム解析機能の表示例 800, シスフー:= 亜幽明脇慨r HⅧⅢⅢ Z、齢HmⅢⅢ 鋤設一夕.:.」毒遡 醐側m0m■■■ gベクノレ員 ベク 里_垂GI, 0Ⅲ00Ⅲ 幽醐 3.バッチ処理環境(NQSlI利用方法) 旧システム(SX-6i)システムからSX-8iシステムへの更新にあたり, バ ッ チ 処 理 関 連 コ マ ン ドが変更となりますのでご注意ください。 31キュー構成 SX-8iシステムのバッチキユー構成は以下の通りです。実行するジョブの特‘性(CPU時間/ メモリ規模)に応じて適したキューを利用してください。 キュー名 CPU時間制限(秒) メモリ容量(MB) 同時実行数 a 3600 3200 4 b 10800 6400 2 C 43200 12800 1 ・CPU時間制限 1つのジョブで使用できる最大のCPU時間です。本制限時間を超過して実行を継続しよう 2フ Akita University としたジョブはシステムにより強制的に終了となります。 ・メモリ容量 1つのジョブで使用できる最大メモリ容量です。本制限メモリ容量を超過してメモリを使 用しようとしたジョブはシステムにより強制的に終了となります。 ・同時実行数 各キューの最大同時実行ジョブ数です。本制限同時実行数を超えてキューに投入されたジ ョブは実行待ち状態(QUE状態)となります。本制限値はユーザごとの制限値ではなくシス テム全体の制限値ですのでご注意ください。 32ジョブ投入方式 シェルスクリプト形式で記述したジョブスクリプトファイルをアプリケーションサーバから SX-8iシステムへ投入する際にはqsubコマンドを使用します。 ジョブ投入コマンド qsub-q(投入先キュー名)(その他オプション)(ジョブスクリプト名) その他,主に使用するオプションとしては以下のものが上げられます。 オプション 機 能 一○〈ファイル名) 投入するバツチジョブの標準出力用結果ファイルを指定します。 -e(ファイル名) 投入するバツチジョブの標準エラー出力用結果ファイルを指定します。 -me-M〈メールアドレス) バッチジョブが終了したときに,指定したメールアドレスにメールが 送られます。安易に使用するとメールシステムの不具合の原因にもなり ますので,注意して使用してください。 qsubコマンドを実行し正常に投入されると,“リクエストID(数字.quintet)”を含む投入メッ セージが出力されます。 ジョブ投入例 [ho9e@quintet‐]$qsub−qa−me−Mhoge@gmailocomtestosh Request2100・quintetsubmittedtoqueuega。 上記の例ではaキューに対-してジョブスクリプトtest・shを投入し,ジョブ終了時に hoge@gmaiLcomまでメールを送るようにしています。ここでは「2100.quintet」が“リクエス トID”となります。バッチ処理では“リクエストID”によってジョブが管理されるため,以後の 情報の参照やジョブの削除についてもこの“リクエストID”を使用いたします。 2 8 Akita University 3.3情報参照方法 投入したジョブの状態等の情報参照には,qstatコマンドを使用します。qstatコマンドはオ プションの指定により各キユーの状態や自分のリクエストの状態を参照することができます。 コマンドオプションの詳細や出力情報についてはマニユアルを参照してください。manコマン ドによりコマンドマニュアルの参照もできます。 ジョブ状態表示コマンド qstat(オプション) 主なオプションとしては下記のものがあります。 qstatで指定可能なオプシヨン 機 能 オプション I︺ リクェスト情報参照(旧システムのqstatrに対応〉 キュー1情報参照(旧システムのqstatqに対応) Q−e リクエスト情報参照の例 [hoge@quintet∼]$qstat RequestlDReqNameUserNameQueuePriSTTSMemoryCPU ElapseRHMJobs 17YYY1 2100・quintettestoshhogeaORUN−20.21M7.08 キュー情報参照の例 [hoge@quintet ]$qstat−Q−e [EXECUTlONQUEUE]BatchServerHost:quintet QueueName SCHJSVsENASTSPRlTOTARRWAlQUEPRRRUNPOREXT HLDHOLRSTSUSMiGSTGCHK − − ー ー 一 一 一 一 一 一 ー − − 000 ■ 000 ー 000 ー 000 一 000 一 000 一 000 ー 000 ー 000 一 201 一 000 一 00Ⅱ = 000 1ENA ACT 一 000 1ENA ACT 一 001 02 02 0 2 abc 000 一 1ENA ACT − ー ー ー ー − ー ー ヨ <TOTAL> 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 ー ー ー ー − ー ー − ー − − − − − − − − − − − − − 一 一 一 一 29 Akita University 3.4ジョブの削除方法 投入済みのリクエストを削除するには,qdelコマンドを利用します。 ジョブ削除コマンド qdel(オプション) ジョブ削除の例 35実行結果 ジョブ投入時に‐oや‐eオプションを使用していない場合,ジョブからの標準出力,標準エ ラー出力はジョブを投入した際のカレントディレクトリにファイルとして格納されます。 出力ファイル名 種 別 機 能 標準出力 “ ジョブスクリプト名”.○”リクエストIDの数字部分 ” 標準エラー出力 “ ジヨブスクリプト名,,.e”リクエストIDの数字部分 ” その他,コンパイルオプションの詳細やベクトル化の技法について詳しく知りたい方は,総 合‘情報処理センター2階でマニュアル「FORTRAN/SXプログラミングの手引き」および 「C++/SXプログラミングの手引き」を貸し出ししておりますのでご利用下さい。 3 ○