汎用コンピュータシステムの利用法
システム管理掛システム運用掛スーパーコンピューティング研究部
１ はじめに新汎用コンピュータシステムの運用を、2002 年 1 月 4 日より開始します。新汎用コンピュータシステムは汎用サーバ TX7/AzusA、並列サーバ TX7/AzusA、入出力サーバ EWS4800/410AD およびファイルサーバ NX7000/L2000 から構成されています。
２ システム構成
新汎用コンピュータシステムの構成は図１に示すとおりです。汎用サーバは、最新の 64bit プロセッサ ItaniumTM(IA-64)を搭載しており、１つの CPU は 3.2GFLOPS演算性能を有していますので、スーパーコンピュータでの高速化が困難なプログラムや並列処理が不可能なプログラムの高速な実行が可能です。また、各種アプリケーシ
ョン、フリーソフトウェアの利用が可能です。オペレーティングシステムは Linux を採用しています。
並列サーバは、汎用サーバと同じ、最新の 64bit プロセッサ ItaniumTM を 16 個搭載したシステムで 1 つのノードを構成し、全体で６ノードあります。１つのノードの並列演算性能は、LINPACK PARALLEL（64 ビット浮動小数演算）で 32GFLOPSであり、ベクトル処理に不向きなプログラムを並列処理することによって高速な実行が可能となります。ノードあたりのメモリは 16GB（４ノード）または 32GB（２ノード）であり、大規模メモリを必要とするプログラムの実行が可能です。ジョブは汎用サーバから投入し、並列サーバは効率的な運用のためにバッチ処理専用の運用を行います。
並列サーバ
TX7/AzusA
16CPU,16GB×４
16CPU,32GB×２

ファールサーバ
磁気ディスク 3TB

入出力サーバ

汎用サーバ
TX7/AzusA
16CPU,32GB

スーパーコンピュータ
SX-4/128H

1000BASE-SXswitch

画像処理サーバ

ルータ

TAINS

図 1 システムの構成

ONYX2

既設のスーパーコンピュータ
システム

ファイルサーバは汎用サーバ、並列サーバおよびスーパーコンピュータ等が共通に使用するファイル装置で、3TB の容量を持ちます。また、各サーバおよびスーパーコ
ンピュータは、1000BASE-SX switch を介して相互に接続されており、さらに学内ネットワーク TAINS と接続されています。
３ ログイン名とパスワード
センターに利用登録した時点で図 1 に示すすべてのサーバが利用可能となります。
また、各サーバの間では、NIS(Network Information Service)による利用者管理を行っていますので、ログイン名とパスワードは全サーバで共通です。ログイン名としては利用者番号を用います。パスワードは初期パスワードが設定されていますのでyppasswd コマンドで速やかに変更してください。また、パスワードは機密保護のためときどき変更してください。利用登録時のログインシェルとして csh を設定していますので、tcsh に変更する場合は ypchsh コマンドをご利用ください。
４ ファイルシステム
ファイルはファイルサーバの「/uhome/利用者番号」の下に作成されます。 スーパーコンピュータ、汎用サーバ、並列サーバ、入出力サーバおよび画像処理サーバから共通に利用できます。
５ ログイン
表 1 に示すホストにログインしてください（ホームディレクトリは「/uhome/利用者番号」です）。接続するには telnet コマンド、SSH（Secure Shell）を用います。
利用者番号（ログイン名）、パスワードを順次入力します。利用者番号の先頭の英字は小文字です。
表１ ログインするホスト名 称
ホスト名
備考
汎用サーバでの会話型処理
gen.cc.tohoku.ac.jp
汎用サーバ 汎用サーバへのジョブ投入
並列サーバへのジョブ投入
アプリケーションの利用
各種フリーソフトの利用
スーパーコンピュータ super へのジョブ投入
アプリケーションの利用
gen3.cc.tohoku.ac.jp
汎用サーバ 各種フリーソフトの利用
平成 14 年 1 月 3 日までのメール読み出し[例] 汎用サーバ gen へのログイン% telnet gen.cc.tohoku.ac.jp
login ： 利用者番号
passwd ： パスワード%

６ プログラム言語
プログラム言語として表 2 に示すものが利用できます。ここで、Fortran95、C、C++は汎用サーバと並列サーバに共通であり、並列サーバ用のプログラムも汎用サー
バ gen でコンパイルします。各コマンドのオプションについては、オプション –help（例えば f95 –help、 cc –help）で知ることができます。
表 2 プログラム言語とコマンド
言 語
備考コマンドFortran95
f95
ISO/IEC 1539:1995 Fortran 準拠（OpenMP）
MPI/Fortranmpif95
MPI 対応 Fortran95
ccC 言語ISO/IEC 9899:1990 C 準拠（OpenMP）
c++
C++言語
ISO/IEC 14882:1998 C++準拠（OpenMP）
MPI/C
mpicc
MPI 対応 C
MPI/C++
mpic++ MPI 対応 C++
f95 コマンドの使用法
Fortran プログラムをコンパイルするための f95 コマンドについて述べます。
［形式］ f95 options prog.f
options ：主なオプションはつぎのとおりです。
-cコンパイルのみ行う（リンクはしない）。
-o
実行可能形式のオブジェクトファイルの名前を指定する。省略時は a.out になる。
-O0
最適化を無効にする。
-O/-O1
一般的な最適化を行う（既定値）。
-O2 -O1 に同じ。
-O3 高度の最適化（プリフェッチ、スカラリプレスメント、ループ変換）を行う。
-w90
非標準 Fortran 機能に関する警告メッセージを抑止する。
-r8
精度の自動拡張を行う（倍精度化）-openmp OpenMP を使用する。
-help オプションの種類と説明を表示する。
７ ファイルの利用（１）Fortran での入出力ファイルの割当て[1] setenv(csh/tcsh の場合)で割り当てる。xx は入出力文の装置番号を 2 桁で指定する(0〜9 の時は上位に 0 を補い、05 のように 2 桁で指定する)。
setenv ftnxx ファイル名[2] 装置番号 0,5,6 はリダイレクションで割り当てることもできる。
a. out < infile
装置番号 5 のデータを infile から入力する
a. out > outfile
装置番号 6 のデータを outfile に出力する
a. out >& outfile
装置番号 0 と 6 のデータを outfile に出力する

（２）C 言語でのバイナリファイルの取扱い
C 言語ではバイナリファイルの格納形式(Little endian)が、いままでの汎用コンピュータやスーパーコンピュータの格納形式(Big endian)と異なります。このため、これらのシステムで作成したバイナリファイルをそのまま入力することはできません。C 言語でバイナリファイルを利用されている方は、システム管理掛までご相談ください。
８ 数値計算ライブラリ
Fortran の数値計算ライブラリとして IMSL と ASL が利用できます（表３）。コンパ
イル時のライブラリ指定は不要です。ASL には使用制限はありませんが、IMSL は汎用サーバ gen の会話型処理のみ利用可能です。また、IMSL はコンパイル時と実行時に下記の source コマンドが必要です。
[例]

IMSL を利用するコンパイル% source /usr/skel/imsl.env% f95 prog.f

IMSL を利用するときの実行% source /usr/skel/imsl.env% a.out

表３ 数値計算ライブラリ（Fortran 用）ライブラリ
ライブラリ名備考IMSL 数値計算ライブラリ
imsl
会話処理でのみ利用可能
ASL 科学技術計算ライブラリasl
９ アプリケーション
アプリケーションは表４に示すものが利用できます。gen3 にログインしてご利用く
ださい。AVS は、従来どおり gen3 から cctu‑sg1 にログインしてご利用ください。
表４ アプリケーション
mathematica
統合型数値解析ソフトウェア
Matlab
対話型数値解析ソフトウェア
MentatMARC のプリポストプロセッサ
Marc
汎用構造解析プログラム
Diana
汎用構造解析ソフトウェア
Gsharp
図形処理ソフトウェア
SAS
統計解析システム
SPSS
統計解析パッケージ
10 バッチ処理
汎用サーバおよび並列サーバでのバッチ処理は LSF（ Load Sharing Facility ）を使用します。ジョブの投入、状態の確認、ジョブの取り消しは LSF のコマンドを用います。コマンド名がいままでとは異なっていますのでご注意ください。
10.1 ジョブの投入
ジョブの投入は、bsub コマンドを用います。bsub が受け付けられると、つぎのようにジョブ ID が出力されます。このジョブ ID は、状態確認あるいは取り消し時に必要となります。キュー名と制限値は表５のとおりです。
%

bsub ‑q ga ‑o kekka%J job
Job <5432> is submitted to queue <ga>.

表５
キュー名（並列数）
ga(非並列)pa(16cpu)
pb(16cpu)[形式] bsub-q キュー名・ キュー名・ オプション
‑J ジョブ名‑o %J

キュー名
CPU 時間
無制限

オプション

ジョブ投入
5432 はジョブ ID、
ga はキュー名

制限値
プログラムサイズ
プログラムサイズ
プログラムサイズ

4GB
16GB
32GB

スクリプトファイル： 表 5 参照： ジョブ名を指定する。
： 標準出力をジョブ ID をファイル名とするファイルに出力する。%J の前後には任意の文字列を書くことができる。たとえば、
kekka̲%J と指定した場合、ジョブ ID が 5432 なら、ファイル名は kekka̲5432 となる。
‑o ファイル名 ： 標準出力をファイル名で指定するファイルに出力する（同じファイル名が存在する場合には、その後に追加出力する）。
‑e %J： 標準エラー出力をジョブ ID をファイル名とするファイルに出力する。%J については上記の‑o の項を参照ください。
‑e ファイル名 ： 標準エラー出力をファイル名で指定するファイルに出力する。
（同じファイル名が存在する場合には、その後に追加出力する）。
［備考］： -o のみを指定した場合は、標準エラー出力ファイルは標準出力ファイルに格納される。-o と-e を省略した場合には、ジョブの標準出力、標準エラー出力はメールで gen に返される（gen から.forward で転送するときは、容量は 1MB に制限されますのでご注意ください）。

・スクリプトファイル： 実行するジョブのスクリプトファイルを指定する。
1) ジョブ実行時のカレントディレクトリは、ジョブ投入時のカレントディレクトリと同じになります（ホームディレクトリではないので、注意してください）。
2) スクリプトファイルには、実行権が必要です。
3) スクリプトファイルの先頭行でシェル名を指定します。
たとえば cshの場合は、 #!/bin/csh を指定します。
[例] スクリプトファイル

#!/bin/csh‑x
setenv ftn01
dataa.out

シェルの指定10.2 ジョブの状態表示
ジョブの状態を表示するには、bjobs コマンドを用います。
[形式]

bjobs

[例] % bjobs
JOBID USER STAT QUEUE FROM̲HOST5432 a29999 RUN gagen

EXEC̲HOST
gen2

JOB̲NAME SUBMIT̲TIMEjob
Nov 15 15:54

10.3 ジョブの取り消し
ジョブの取り消しをするには、bkill コマンドを用います。
[形式]

bkill

ジョブ ID

ジョブ ID ：取り消したいジョブのジョブ ID を指定します。ジョブ ID はジョブを投入したときに表示されます。
[例] ジョブ ID が 5432 のジョブを取り消す% bkill 5432
Job <5432> is being terminated11 メールの利用
メールは従来と同様に汎用サーバ gen で利用できます。ただし、平成 14 年１月３日以前のメールについては、gen3 にログインして読んでください。
12 入出力サーバ
入出力装置として下記の装置が利用できます。利用法については装置備え付けの資料を参照ください。
1/2MT 装置（記録密度 6250RPI/1600RPI）DAT 装置 (DDS-3)
8mm テープ装置 （ECMA169 準拠）
プリンタ （A4 用紙、600DPI、PostScript 対応）

13

スーパーコンピュータ SX4/128H の利用法

汎用サーバ gen は、スーパーコンピュータ SX-4 のフロントエンドとしての役割を担い、スーパーコンピュータ用のプログラムのコンパイルとジョブの投入が行えます。
13.1 プログラム言語
スーパーコンピュータのプログラム言語として表 6 に示すものがあります。各オプションについては man コマンドで知ることができます。
表 6 プログラム言語とコマンド
言 語
コマンド
備考
スーパーコンピュータ SX-4 のクロスコンパイラ
sxf90
FORTRAN90/SX
スーパーコンピュータ SX-4 のクロスコンパイラ
sxcc
C/SX
sxf90 コマンドの使用法
Fortran プログラムをコンパイルするための sxf90 コマンドについて述べます。
[形式]
sxf90 options prog.f
options ：主なオプションはつぎのとおりです。
-cコンパイルのみ行う（リンクはしない）。
-o
実行可能形式のオブジェクトファイルの名前を指定する。
省略時は a.out になる。
-R5
編集リストを出力する。
-ftrace
サブルーチンの動作情報を出力する。
-P auto
自動並列化を行う。
13.2 ジョブの投入
qsub コマンドを用いてスーパーコンピュータへのジョブが投入できます。qsub コ
マンドが受け付けられると、リクエスト ID が出力されます。このリクエスト ID はジ
ョブの状態確認あるいは取り消し時に必要となります。
% qsub ‑q p8 job
Request 5432.gen submitted to queue[形式] qsub -qシステム
スーパーコンピュータ

5432.gen はリクエスト ID
5432 はリクエスト番号

キュー名
オプション スクリプトファイル
表 7 キュー名
キュー名（並列数）
CPU 時間 制限値s(非並列)プログラムサイズ
無制限
p8 (8cpu)
p16 (16cpu)
p32 (32cpu)

8GB

キュー名
： 表 7 を参照
オプション
-r リクエスト名： リクエスト名を指定する。指定がなければ、コマンド行で与えられたジョブの名前がとられる。ジョブファイルの指定もない場合は「STDIN」となる。
-o ファイル名 ： 標準出力を指定されたファイルに出力する。この指定がなければ、ジョブ投入時のカレントディレクトリ下に「リクエスト名．o リクエスト番号」のファイル名で出力される（ホームディレクトリ下ではないのでご注意ください）。
-e ファイル名 ： 標準エラー出力を指定されたファイルに出力する。この指定がなければ、ジョブ投入時のカレントディレクトリ下に「リクエスト名．e リクエスト番号」のファイル名で出力される（ホームディレクトリ下ではないのでご注意ください）。
-eo： 標準エラー出力を標準出力と同じファイルへ出力する。
スクリプトファイル ： ジョブを実行するためのコマンド列を記述する（デフォルトのカレントディレクトリは ホームディレクトリとなりますので、cd コマンドでディレクトリの位置づけを行ってください）。
13.3 ジョブの状況表示
スーパーコンピュータに投入したジョブの状況を表示するには、qstatr コマンドを用います。
[形式]

qstatr

13.4 ジョブの取り消し
スーパーコンピュータに投入したジョブの取り消しをするには、qdel コマンドを用います。
[形式]

qdel ‑k リクエスト ID

リクエスト ID ：取り消したいジョブのリクエスト ID を指定します。リクエスト IDはジョブを投入したときに表示されます。
[例] 実行中のリクエスト ID5432.gen のジョブを取り消す% qdel ‑k 5432.gen