「教育研究用 UNIX 系サブシステム」
利用の手引き
「教育研究用 UNIX 系サブシステム」利用の手引き
^
更新履歴
平成 15 年3月 17 日
平成 15 年3月4日
平成 15 年2月 25 日
2/33
第一版
β版
α版
「教育研究用 UNIX 系サブシステム」利用の手引き
目次
1.
システム概要
………………………………………………………………………
4
2.
基本利用方法
………………………………………………………………………
7
3.
コンパイラ等の利用
………………………………………………………………………
11
4.
その他ソフトウェアの利用 ………………………………………………………………………
26
5.
参考情報
28
………………………………………………………………………
3/33
「教育研究用 UNIX 系サブシステム」利用の手引き
1
システム概要
八景キャンパスに導入された大規模演算サーバ(IBM pSeries 650 Model 6M2)は、POWER4 1.45GHz の SMP 型
プロセッサを 8 個、メモリを 16GB 搭載した共有メモリ型スカラ並列計算機です。大規模演算サーバは 3 台あ
るログインサーバ(IBM pSeriese 630 Model 6C4)からバッチジョブにより利用することが可能です。ログイン
サーバはそれぞれ、POWER4 1.0GHz の SMP 型プロセッサを 2 個、メモリを 2GB 搭載しており、対話処理として
利用することが可能です。またメディア変換用と一般ユーザ用のワークステーションとして IBM RS/6000
7044P170 が計 3 台あり、それぞれ POWER3-II 333MHz のプロセッサを 1 個、メモリを 512MB 搭載しております。
メディア変換サーバには外部記憶装置として、DVD-RAM,4mm テードライブ(DDS4),8mm テープドライブ
(AME/Manmoth)が利用可能です。
なお共有データ領域としてスクラッチ用に 100GB、ユーザデータ用に 1TB のディスクがそれぞれ利用可能で
す。共有データ領域は RAID5 フォーマットによるデータ保全を図っており、ユーザーデータにおいては万一の
データ損失の場合でも他システムで提供している統合バックアップシステムにより、失ったデータを復元する
ことが可能です。
1.1
ハードウェア構成
1.1.1 大規模演算サーバ(andromeda)
*ログインすることはできません
モデル: pSeries 650 Model 6M2[Reggata](7038-6M2)
・ 演算処理装置
POWER4 1.45GHz 8-way
・ 主記憶容量
16GB
・ 内蔵ディスク
36.4GB 10k rpm Ultra SCSI * 2
・ 内蔵記憶装置
1.44MB 3.5inch Diskette Drive
16/48x speed SCSI DVD-ROM Drive
20/40GB 4mm Tape Drive(DDS4)
/dev/fd0
/dev/cd0
/dev/rmt0
1.1.2 ログインサーバ(cygnus,lynx.orion) *ログイン時は edusrv を指定します
モデル:pSeriese 630 Model 6C4(7028-6C4) ... 3 台
・ 演算処理装置
POWER4 1.0GHz 2-way
・ 主記憶容量
2GB
・ 内蔵ディスク
36.4GB 10k rpm Ultra SCSI *2
・ 内蔵記憶装置
20/40GB 4mm Tape Drive(DDS4)
/dev/rmt0
1.44MB 3.5inch Diskette Drive
/dev/fd0
48x speed IDE DVD-ROM Drive
/dev/cd0
1.1.3 メディア変換用ワークステーション
モデル:RS/6000 44P Model 170(7044-170)
・ 演算処理装置
POWER3-II 333MHz 1-Way
・ 主記憶容量
512MB
・ 内蔵ディスク
36.4GB 10k rpm Ultra SCSI *1
・ 外部記憶装置
20/40GB 4mm Tape Drive(DDS4)
1.44MB 3.5inch Diskette Drive
SCSI-2 DVD-RAM Drive
・ その他
20/40GB 16bit 8mm Tape Drive(AME)
P76 Color Monitor,Stealth Black(6550-73N)
4/33
/dev/rmt0
/dev/fd0
/dev/cd0
/dev/rmt1
「教育研究用 UNIX 系サブシステム」利用の手引き
1.1.4 一般ユーザ用ワークステーション
モデル:RS/6000 44P Model 170(7044-170)
・ 演算処理装置
POWER3-II 333MHz 1-Way
・ 主記憶容量
512MB
・ 内蔵ディスク
36.4GB 10k rpm Ultra SCSI *1
・ 外部記憶装置
1.44MB 3.5inch Diskette Drive
32x speed SCSI CD-ROM Drive
・ その他
P76 Color Monitor,Stealth Black(6550-73N)
/dev/fd0
/dev/cd0
*共有データ領域(ユーザデータ等)で利用しています
1.1.5 外部ディスク装置①
モデル:SSA RAID Array Sub System(7133-D40) * 1
・ 内蔵ディスク
73.4GB Advanced Disk Drive *16
1.1.6 外部ディスク装置②
*共有データ領域(スクラッチ等)で利用しています
モデル:EXP Plus Drawer Model(2104-DU3) *1
・ 内蔵ディスク
36.3GB LVD SCSI 10k rpm Dribe *5
1.2 ネットワーク構成
ログインサーバ
Machine
大規模演算
サーバ
1
2
3
メディア変換W/S
一般ユーザ用 1
W/S
2
Method
10/100-T
1000-SX
10/100-T
1000-SX
1000-SX
10/100-T
1000-SX
1000-SX
10/100-T
1000-SX
1000-SX
10/100-T
10/100-T
10/100-T
Hostname
andromeda-rs
andromeda
cygnus-rs
cygnus-flan
cygnus
lynx-rs
lynx-flan
lynx
orion-rs
orion-flan
orion
chamaeleon
scorpius
libra
5/33
IP Address
163.212.20.13/24
163.212.12.13/24
163.212.20.17/24
163.212.12.17/24
163.212.24.17/24
163.212.20.18/24
163.212.12.18/24
163.212.24.18/24
163.212.20.19/24
163.212.12.19/24
163.212.24.19/24
163.212.20.22/24
163.212.20.23/24
163.212.20.24/24
Description
Initial
Initial
Initial
Initial
Initial
Initial
Initial
「教育研究用 UNIX 系サブシステム」利用の手引き
1.3 ソフトウェア構成
Vendor
Software name
IBM
AIX 5L(64bit kernel) v.5.1 ML03
Load Leveler for AIX 5L v.3.1
XL Fortran v.7.1
Visual Age C++ v.5
Parallel Environment v.3.2
ESSL for AIX 5L v.3.3
Parallel ESSL for AIX 5L v.2.3
Other
Java v.1.3
Mathematica v.4.2
MATLAB
SAS v.8.2
Netscape Navigator
PDS
v.4.7.9
GNU C Compiler v.3.2.1
Mule v.2.3.19.34
canna
v.3.5b2
openssh v.3.5p1
openssl v.0.9.7
tgif v.3.5.4
perl v.5.6.0
gnuplot v.3.7.1+1.2.0p
grass
xv v.3.10a
GMT v.3.4.2
NetCDF v.3.5.0
tcsh v.6.12
bash v.2.05a
大規模演算
サーバ
○
○
○
○
○
○
○
ログインサーバ
1
2
3
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
メディア変換 一般ユーザ用
W/S
W/S
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
×
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
×
×
×
○
○
×
×
×
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
6/33
「教育研究用 UNIX 系サブシステム」利用の手引き
2
基本利用方法
2.1 ログイン方法
ネットワークからログインするには、次のアドレスを利用します。
ログインサーバ
edusrv.yokohama-cu.ac.jp
メディア変換用 W/S
chamaeleon.yokohama-cu.ac.jp
一般ユーザ W/S No.1
scorpius.yokohama-cu.ac.jp
一般ユーザ W/S No.2
libra.yokohama-cu.ac.jp
大規模演算サーバ(andromeda)は直接ログインして利用することができません。
ログインサーバから後述
のロードレベラによるバッチジョブ形式で利用してください。
またログインサーバは負荷分散を行うため、
個々のホスト名ではなく、edusrv.yokohama-cu.ac.jp でログインするようにしてください。ログイン時の
環境は全て同じ様に提供されます。
例えばログインサーバに telnet コマンドでログインするには、次のようになります
$ telnet edusrv.yokohama-cu.ac.jp
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2000.
login: argo
argo's Password: '!%"& ¥-_<`>^?@+
*******************************************************************************
*
*
* Welcome to AIX Version 5.1!
*
*
*
* Please see the README file in /usr/lpp/bos for information pertinent to
*
* this release of the AIX Operating System.
*
*
*
*******************************************************************************
1 unsuccessful login attempts since last login.
Last unsuccessful login: Mon Sep 11 17:34:47 2000 on /dev/pts/10 from io
Last login: Mon Sep 11 16:11:28 2000 on /dev/pts/19 from io
$
ログインサーバ(cygnus,lynx,orion)については、
外部ネットワークから ssh によるログインも可能です。
ssh については、後述の ssh の項をご参考下さい。
2.2
ログイン時環境
ログイン時にユーザ毎の任意な環境が自動的に設定されるように、
各ユーザのホームディレクトリ下に
次のようなスタートアップファイルを作成することにより、環境変数などの設定が可能です。
ksh の場合
.profile, .kshrc
csh の場合
.login, .cshrc
2.2.1 初期環境
本システムでは次の環境変数をデフォルトとして設定しています。
7/33
「教育研究用 UNIX 系サブシステム」利用の手引き
LANG
PATH
ja_JP
/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:
/usr/java130/jre/bin:/usr/java130/bin:
/usr/lpp/LoadL/full/bin:/usr/vacpp/bin:/usr/local/bin
MANPATH /usr/man,/usr/local/man
LIBPATH /usr/lib,/usr/local/lib
2.2.2 言語環境
言語環境は、言語環境変数”LANG”により設定されます。システムはデフォルトで EUC 英語に設定
されています。以下の単語を LANG 変数に設定することにより、日本語及び英語に設定することが可
能です。
Ja_JP
日本語(SJIS,PC code)
ja_JP
日本語(EUC code)
en_US
英語(PC code)
・設定例
ksh の場合
export LANG=ja_JP
csh の場合
setenv LANG ja_JP
・LANG の確認方法
csh,ksh env LANG
LANG 環境変数を変更しても指定言語で表示されない場合、環境変数”LC_ALL”を LANG 同様に設定
すると指定どおりに表示される場合があります。
設定例
ksh の場合
export LC_ALL=ja_JP
csh の場合
setenv LC_ALL ja_JP
2.3 ファイルシステムについて
ユーザのホーム領域ならびにスクラッチ用領域が NFS により共有しており、各システムから透過的に利
用することが可能です。
・ホーム領域
/home/home01,/home/home02,/home/home03,/home/home04,/home/home05
・スクラッチ領域 /work
2.4
X Window の利用
大規模演算サーバ及びログインサーバは、
基本的にコンソール(ディスプレイやキーボード,マウス)を利
用することはできません。X アプリケーションを一般ユーザ用ワークステーションやその他の端末で利用
するには、次のようにして実行します。
8/33
「教育研究用 UNIX 系サブシステム」利用の手引き
①
ローカル側(一般ユーザ用ワークステーションなど)で、X の受け入れを許可します。受入を許可す
るホスト名(ログインサーバ側)は”hostname”コマンド等で確認してください。
$ xhost cygnus
ここでホスト名の代わりに”+”を指定すると、全てのホストから X の受け入れを許可します。
② ログインサーバ(cygnus,lynx,orion)上で、X アプリケーションを CWS に出力させるよう設定します。
(ksh の場合)
$ export DISPLAY=scorpius:0.0
(csh の場合)
$ setenv DISPLAY scorpius:0.0
X アプリケーションを実行します。
2.5
その他リムーバルメディアの利用
2.5.1 CD-ROM ドライブ(メディア変換/一般ユーザ用ワークステーションのみ)
各システムに接続されている CD-ROM は、次のコマンドでマウント/アンマウントが可能です。
$ /usr/local/bin/mountcdrom
$ /usr/local/bin/umountcdrom
2.5.2 テープドライブ(メディア変換用ワークステーションのみ)
次のテープドライブが利用可能です。
・ 4mm DDS4 テープドライブ
/dev/rmt0
・ 8mm AME/Manmoth テープドライブ /dev/rmt1
例えば、
4mm テープに tar で格納されたデータを確認するには、
メディアをドライブに挿入した後、
次のコマンドで行います。
$ tar tvf /dev/rmt0
2.5.2.1 DDS4(4mm 20/40GB)ドライブの属性値
z 読み書き可能なメディア
DDS2,DDS3,DDS4 規格に準拠したメディア
z 記録密度
38(set 1)または 37(set 2)
z ブロックサイズ
書き込み時 1、読み込み時 可変長(1∼1024)
z 書き込みモード
圧縮(compress)指定
2.5.2.2 Manmoth(8mm 20/40GB)テープドライブの属性値
z 読み書き可能なメディア
AME/Manmoth 規格に準拠したメディア(20/40GB)
z 読み込み可能なメディア
2.3,5.7GB 8mm テープメディア
(但し利用後にドライブのクリーニングが必要です)
z 記録密度
39(set 1)または 140(set 2)
z ブロックサイズ
書き込み時 1、読み込み時 可変長(1∼1024)
z 書き込みモード
圧縮(compress)指定
9/33
「教育研究用 UNIX 系サブシステム」利用の手引き
2.5.2.3 論理デバイス番号によるテープドライブの操作
テープドライブは、デバイス装置番号以外の番号を付加することにより、テープドライブに
対する操作内容を明示的に指定することが可能です。
論理デバイス名
/dev/rmt?
/dev/rmt?.1
/dev/rmt?.2
/dev/rmt?.3
/dev/rmt?.4
/dev/rmt?.5
/dev/rmt?.6
/dev/rmt?.7
z
z
z
Rewind
Retension
Density
z
?
Rewind RetensionDensity
Yes
No
set 1
No
No
set 1
Yes
Yes
set 1
No
Yes
set 1
Yes
No
set 2
No
No
set 2
Yes
Yes
set 2
No
Yes
set 2
ドライブ利用後に巻き戻し動作の有無
ドライブ利用前にリテンション(先送り後巻き戻し)動作の有無
利用記録密度
4mm の場合
set1:38,set2:37
8mm の場合
set1:39,set2:140
テープドライブ論理番号(0:4mm、1:8mm)
2.5.2.4 テープドライブのクリーニングについて
クリーニングが必要な状態になると、テープドライブ自身が判断し雷マークの警告ランプ
が点灯します。警告ランプが点灯しましたら、クリーニングテープを挿入してドライブのク
リーニングを実施してください。ドライブのクリーニングはクリーニングテープを挿入する
ことで自動的に実施され、完了すると自動的に排出されます。なお 8mm テープドライブで
AME/Manmoth 規格のテープ(20/40GB)以外のメディアを利用した後は、クリーニングが必要で
す。
クリーニングテープを挿入しても雷マークの警告ランプが消灯しない場合は、別の原因が
考えられますので、管理者までお問い合わせ下さい。
10/33
「教育研究用 UNIX 系サブシステム」利用の手引き
3
コンパイラ等の利用
3.1
Fortran Compiler
XL Fortran V.8.1 コンパイラは、米国規格協会 Fortran90 の完全版 ANSI x3.192-1992 ならびに ISO/IEC
1539:1991(E)、ISO Fortran95 言語標準 ISO/IEC1539-1:1997 に準拠し、かつこのSMPでの並列処理が可能
にする為、SMP 自動並列化コンパイラに加え OpenMP Fortran API V.2.0 や POSIX pthreads ライブラリを
サポートしています。またFortran 2000の一部のフィーチャもサポートします。
3.1.1 単一 CPU 利用プログラムのコンパイルと実行例
次のようなサンプルプログラム”test.f”をコンパイルするには次のようにします。
① ソースファイル”test.f”の作成
program testf
write(*,*)”Hello World , XL Fortran v.8.1!”
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 v.8.1!
3.1.2 SMP 並列ジョブのコンパイルと実行例
"testprog.f"というソース・プログラムをコンパイル、リンクして生成された"a.out"実行モジュ
ールを2CPU(2スレッド)で実行する為に環境変数"XLSMPOPTS parthds"にスレッド数を指定して実
行します。(”XLSMPOPTS parthds”を指定しない場合は搭載されているCPU数が定義されます)
$ xlf_r -qsmp testprog.f
$ setenv XLSMPOPTS parthds=2(csh環境の場合)
$ ./a.out
3.1.3 大きな配列を使用する場合
コンパイラのデフォルトのデータ領域の最大は256MBに定義されています。256MBを超える大きな配
列を使用するプログラムをコンパイルする場合は、"-bmaxdata"オプションを以下の様に指定してコ
ンパイル、リンクして実行してください。(最大2GBまで定義可能)
$ xlf -bmaxdata:512000000 largeprog.f
(総計512,000,000バイトの配列、変数を使用したプログラムをコンパイル、リンク)
11/33
「教育研究用 UNIX 系サブシステム」利用の手引き
3.1.4 64 ビット・モードでのコンパイル及びリンク
AIX 5Lは、64ビット・モードをサポートしています。Fortranコンパイラもこれに伴い64ビット・
モードのサポートがされています。2GBを超えるような大規模な配列を操作する場合等は、次の様に
64ビット・モードでコンパイルしてください。(デフォルトは32ビット・モード)
$ xlf -q64 testprog.f
2GBを超えるような大きな配列を使うなどしない場合に64ビットモードでコンパイルしますと、パ
フォーマンスが向上せず逆に悪くなる場合があります。
3.1.5 CPU のアーキテクチャに依存したコードの生成
大規模演算/ログインサーバには POWER4 、メディア変換/一般ユーザ用ワークステーションには
POWER3-II と呼ばれるアーキテクチャのCPUが搭載されています。これらCPUに依存した命令コードに
より最適化させた実行モジュールを生成することが可能です。但し、異なるアーキテクチャのマシン
で実行すると、
実行できなかったり遅くなるなどの問題が生じる場合があります。
このオプションは、
C/C++ Compilerでも同様に指定可能です。
$ xlf -qarch=pwr4 -O3 testprof.f
(最適化オプション"-O3"と共に指定した場合)
3.1.6 最適化コードの生成
コンパイル時に次のようなオプションを付加することにより、最適化することが可能です。
[一般的な最適化オプション(Optimize Level)]
-O3
メモリとコンパイル時間を使用して追加の最適化を行います。
-O4
-O3と次のオプションを含めて最適化を行います。
-qarch=auto,-qtune=auto,-qcache=auto
-O5
-O4と次のオプションを含めて最適化を行います。
-qipa=level=2
[特定の最適化オプション]
-qhot
このオプションで指定する引数により配列やループなどの高位変換で
最適化を行います。
-qtune
特定のハードウェア・アーキテクチャにあわせて最適化を行います。
-qtune=pwr4(大規模演算/ログインサーバ)
-qtune=pwr3(メディア変換/一般ユーザ用ワークステーション)
-qarch
特定のハードウェア・アーキテクチャにあわせて最適化を行います。
-qarch=pwr4(大規模演算/ログインサーバの場合)
-qarch=pwr3(サーバ以外の場合)
-qipa
このオプションで指定する引数により、プロシージャー間分析(IPA)を行い、
-O?の最適化を増大させます。
それぞれのオプションを付加することにより、コンパイル時間は増大します。また全てのオプショ
ンがそれぞれのユーザプログラムに有効ではありませんので、最適化オプションを付加しないほうが
12/33
「教育研究用 UNIX 系サブシステム」利用の手引き
速い場合があります。また一部の最適化オプションによってプログラムの意味や実行結果が変わって
しまう場合があります。その場合は"-qstrict"オプションを付加することにより回避させることが可
能です。これらのオプションは、C/C++ Compilerでも同様に指定可能です。
この他の最適化オプション等や詳細につきましては、XL Fortran Compiler マニュアルをご参考く
ださい。
3.1.7 XL Fortran V7.1 コンパイラ呼び出しコマンド(参考)
呼び出しコマンド名主機能
xlf
f77
xlf_r
xlf90
xlf90_r
xlf95
xlf95_r
xlf_r7
xlf90_r7
xlf95_r7
3.2
FORTRAN77
FORTRAN77
スレッド・セーフFORTRAN77、
OSデフォルト POSIX pthreads API
Fortran90
スレッド・セーフFortrn90
OSデフォルト POSIX pthreads API
Fortran95
スレッド・セーフFortrn95
OSデフォルト POSIX pthreads API
スレッド・セーフFORTRAN77
ドラフト7 POSIX pthreads API
スレッド・セーフFortrn90
ドラフト7 POSIX pthreads API
スレッド・セーフFortrn95
ドラフト7 POSIX pthreads API
C/C++ Compiler
IBM Visual Age C++ Professional for AIX V.6 は最新の 1998 ANSI/ISO C++ 規格、及び 32 ビットと
64 ビットの両方のアーキテクチャと最適化テクノロジーがサポートされます。対称マルチプロセッサー
(SMP) アーキテクチャもサポートされるようになりました。SMP 明示ディレクティブと自動並列を可能に
する C 及び C++ OpenMP v.1.0 業界仕様をサポートします。
3.2.1 単一 CPU 利用プログラムのコンパイルと実行例
次のようなサンプルプログラム”test.f”をコンパイルするには次のようにします。
ソースファイル”test.c”の内容
#include<stdio.h>
void main()
{
puts(“Hello World, Visual Age C++ Professional v.6!”);
}
コンパイル&リンク
% xlc ‐o testc test.c
13/33
「教育研究用 UNIX 系サブシステム」利用の手引き
実行
% ./testc
Hello World, Visual Age C++ Professional v.6!
3.2.2 Visual Age C++ v.5 コンパイラ呼び出しコマンド(参考)
呼び出しコマンド名
主機能
xlc
C Compiler (標準言語ansi)
cc
C Compiler(拡張言語版)
c89
ANSI標準に一致
xlc128
xlc long,double 128bit拡張版(標準64bit)
cc128
cc long,double 128bit拡張版(標準64bit)
スレッドセーフ xlc Compiler
xlc_r
Posix threaded xlc Compiler
スレッドセーフ cc Compiler
cc_r
Posix threaded cc Compiler
xlc_r4
DCE threaded xlf Compiler
cc_r4
DCE threaded cc Compiler
Posix thread Standard Draft 7準拠 xlc Compiler
xlc_r7
Posix thread Standard Draft 7準拠 cc Compiler
cc_r7
3.2.3 64 ビット・モードでのコンパイル及びリンク
AIX 5Lは、64ビット・モードをサポートしています。Fortranコンパイラもこれに伴い64ビット・
モードのサポートがされています。2GBを超えるような大規模な配列を操作する場合等は、次の様に
64ビット・モードでコンパイルしてください。(デフォルトは32ビット・モード)
$ cc -q64 testc.c
2GBを超えるような大きな配列を使うなどしない場合に64ビットモードでコンパイルしますと、パ
フォーマンスが向上せず逆に悪くなる場合があります。
3.2.4 その他
最適化オプション等は、XL Fortran Compiler と同様です。詳細につきましては、IBM Visual Age
C++ Compiler マニュアルをご参考ください。
3.3
Load Leveler
大規模演算/ログインサーバに導入されている Load Leveler v.3.1 は、単一あるいは複数の pSeriese
や RS/6000 システムに投入されたジョブのスケジューリングと管理を行います。投入されたジョブを受け
取り、ジョブを実行するための要件を確認し、そのシステムがジョブの実行に最適かを決定し、ジョブの
14/33
「教育研究用 UNIX 系サブシステム」利用の手引き
実行とチェックポイントのサポートに十分なリソースを持ったシステムで実行します。
投入する方法は、llsubmit コマンドによる方法、または、GUI ベースの xloadl です。いずれの場合で
も、次のパラメータをロードレベラ JCF(JCF の役目を行うものです)ファイルに指定、または、キー入
力します。
・ジョブクラスの指定
・mail の返信を行うか否かの指定。
・実行プログラムを指定
本計算機に設定されているバッチジョブクラスは、次の 3 種類となります。
クラス名
p001
p002
p003
CPU時間
利用メモリ 多重度
30分 unlimited
24時間 unlimited
740時間 unlimited
実行数
1
2
4
4
2
1
バッチジョブクラスは今後変更されることがあります。現在設定されているバッチジョブクラス
は、”llclass”コマンドで確認することができます。
3.3.1 基本利用方法
例えば Fortran のプログラムのコンパイルと実行して結果をメール通知するには、次のような JCF
を作成して、llsubmit コマンドにより、ジョブを投入します。
① ファイル名 JCFSAMPLE を下記のように作成し、実行する例です。
#!/bin/csh
・・・・・・・・・・・・ スクリプトが csh 構文であることの宣言
・・・・・・・・・ クラスの指定(必須)
#@ class = p001
#@ output = ファイル名 ・・・・・・・・ 標準出力ファイル名
#@ error = ファイル名 ・・・・・・・・・ エラー出力ファイル名
#@ notify_user = ユーザ名 ・・・・・ メール転送先(例: ibm005)
#@ notification = complete ・・・・・ 処理終了後にメールを受け取る
#@ environment = COPY_ALL ・・・・・・ ユーザ環境の引継ぎ
#@ queue ・・・・・・・・・・・・・・ 実行(必須)
date ・・・・・・・・・・・・・・・・ 実行ステートメント
f77 -o sampleprog.exe sampleprog.f
sampleprog.exe
echo "Program Finished"
② ジョブの投入
$llsubmit JCFSAMPLE
llsubmit: The job "lynx.155" has been submitted.
③
投入されたジョブの確認
15/33
「教育研究用 UNIX 系サブシステム」利用の手引き
$ llq
Id
-----------------------cygnus.151.0
cygnus.153.0
andromeda.156.0
orion.157.0
lynx.155.0
Owner
---------argo
argo
argo
argo
argo
Submitted ST PRI Class
----------- -- --- -----------1/29 16:53 R 50 p001
1/29 16:54 R 50 p001
1/29 16:54 R 50 p002
1/29 16:54 I 50 p002
1/29 16:54 I 50 p003
Running On
----------andromeda
andromeda
andromeda
5 job step(s) in queue, 2 waiting, 0 pending, 3 running, 0 held, 0 preempted
ステータス(ST)が、"R"になっていれば、そのジョブは実行中です。ST が"I"の場合は、実行待ちです。
"Running On"は、そのジョブが実行されているノード名(マシン)です。
④ ジョブのキャンセル
……
キャンセルするジョブの ID を指定します。
$ llcancel lynx.155.0
llcancel: Cancel command has been sent to the central manager.
(他利用者のジョブは、管理者以外キャンセルできません)
⑤ マシン状態の確認
$ llstatus
Name
Schedd InQ Act Startd Run LdAvg
andromeda
Avail
0 0 Run
0 0.00
cygnus
Avail
0 0 Idle
0 0.00
lynx
Avail
0 0 Idle
0 0.00
orion
Avail
0 0 Idle
0 0.00
RS6000/AIX51
Total Machines
4 machines
4 machines
5 jobs
0 jobs
Idle
8032
596
596
596
Arch
RS6000
RS6000
RS6000
RS6000
OpSys
AIX51
AIX51
AIX51
AIX51
4 running
0 running
The Central Manager is defined on andromeda
The BACKFILL scheduler is in use
All machines on the machine_list are present.
主な表示項目の意味は以下の通りです。
Schedd
スケジュールデーモンの稼動 ... Avail:稼動中、Down:停止中
Startd
ジョブスケジュール状況 ... Busy:実行中(最大実行中)、Down:停止、Idle:ジョブ
待ち、Running:実行中(余裕有り)
ロードレベラは制御用のインターフェースを利用しているため、llstatus などで表示されるホスト名と実
際のホスト名では一部異なる場合があります。
また xloadl コマンドで GUI による JCF の生成及びサブミットも可能です。
3.3.2 主なコマンド
z llcancel <options> <joblist>
ロードレベラのキューから 1 つまたは複数のジョブを取り消します。一つのジョブ
を取り消すには、llq コマンドなどで得られるジョブ順序番号名を指定します。
(オプション)
-?
簡易ヘルプメッセージ表示
16/33
「教育研究用 UNIX 系サブシステム」利用の手引き
(例)
-H
詳細ヘルプメッセージ表示
-u <userid>
指定ユーザのジョブすべてをキャンセル
llcancel whale.366.0
z
llclass <option> <class name>
利用可能なジョブクラスを表示します。単に llq コマンドを実行すると利用可能な
クラスと、クラスの利用状況が確認します。
(オプション)
-?
簡易ヘルプメッセージ表示
-H
詳細ヘルプメッセージ表示
-l
指定したクラスの詳細を表示
(例)
llclass
z
llq <option> <job nomber/name>
ディスパッチされたジョブに関する情報を表示します。単に llq コマンドを実行す
ると、現在キューイング及び実行しているジョブ情報を表示します。
(オプション)
-?
簡易ヘルプメッセージ表示
-H
詳細ヘルプメッセージ表示
-l
指定されたジョブの詳細を表示
(例)
llq
z
llstatus <option> <host>
ロードレベラ・クラスタ内のマシン状況に関する情報を表示します。
(オプション)
-?
簡易ヘルプメッセージ表示
-H
詳細ヘルプメッセージ表示
(例)
llstatus
z
llsubmit <option> <JCF file name>
JCF のジョブ用件に基づいてディスパッチされるジョブを、ロードレベラにサブミ
ットします。
(オプション)
-?
簡易ヘルプメッセージ表示
-H
詳細ヘルプメッセージ表示
(例)
llsubmit
3.3.3 JCF で利用可能な主なステートメント
z class
利用するバッチジョブクラスを指定します。llclass コマンドで現在利用可能なク
ラスを確認することが可能です。なおクラス名は大文字小文字を区別しますのでご注
意下さい。
(構文) class = <Class Name>
(例)
class = p002
z
environment
ジョブの実行が開始された時点の初期環境変数を指定します。環境変数ごとにセミ
17/33
「教育研究用 UNIX 系サブシステム」利用の手引き
コロン”;”で区切ります。”COPY_ALL”を指定すると、すべての環境変数を利用して
いるシェルからコピーします。また変数名の先頭にエクスクラメーション”!”を付加
することにより、その変数をコピー対象からはずす事が可能です。
(構文) environment = <env1;env2...>
(例)
environment = COPY_ALL; !PATH
z
core_limit
コア ファイルのサイズのソフト及びハード制限を指定します。ただし利用するジョ
ブクラスの制限を越えて設定しても、クラスの制限値が優先されます。この設定値は
プロセス単位の制限ですので、並列プログラム(SMP または MPI)の種類や多重度により
総制限サイズが異なります。
(構文) core_limit = <hardlimit> , <softlimit>
(例)
core_limit = 1024mb,512mb
core_limit = unlimited
z
cpu_limit
利用 CPU 時間に対するソフト及びハード制限を指定します。ただし利用するジョブ
クラスの制限を越えて設定しても、クラスの制限値が優先されます。この設定値はプ
ロセス単位の制限ですので、並列プログラム(SMP または MPI)の種類や多重度により総
制限サイズが異なります。
(構文) cpu_limit = <hardlimit> , <softlimit>
(例)
cpu_limit = 12:00:00,8:00:00 (ハード 12 時間、ソフト 8 時間)
cpu_limit = unlimited,unlimited (ハード,ソフト共に無制限)
z
data_limit
データ セグメントサイズのソフト及びハード制限を指定します。ただし利用するジ
ョブクラスの制限を越えて設定しても、クラスの制限値が優先されます。この設定値
はプロセス単位の制限ですので、並列プログラム(SMP または MPI)の種類や多重度によ
り総制限サイズが異なります。
(構文) data_limit = <hardlimit> , <softlimit>
(例)
data_limit = 1024mb,512mb
data_limit = unlimited
z
error
ジョブの標準エラー出力(stderr)先として利用するファイルを指定します。デフォ
ルト値は”/dev/null”となり、その内容を保持しません。
(構文) error = <file name>
(例)
error = $(jobid).err
z
executable
ジョブ内で実行すべきプログラムまたはシェルスクリプトを指定します。MPI 並列
プログラムで poe を直接指定する場合、poe コマンドをフルパスで指定するようにし
てください。
(構文) executable = <program name>
(例)
executable = a.out
executable = /usr/bin/poe ‐proc 4 date
z
file_limit
ファイルのサイズのソフト及びハード制限を指定します。ただし利用するジョブク
18/33
「教育研究用 UNIX 系サブシステム」利用の手引き
ラスの制限を越えて設定しても、クラスの制限値が優先されます。この設定値はプロ
セス単位の制限ですので、並列プログラム(SMP または MPI)の種類や多重度により総制
限サイズが異なります。
(構文) file_limit = <hardlimit> , <softlimit>
(例)
file_limit = 1024mb,512mb
file_limit = unlimited,unlimited
z
input
ジョブの標準入力(stdin)として利用するファイルを指定します。デフォルト値
は”/dev/null”となり、標準入力は空です。
(構文) input = <file name>
(例)
input = /data1/input.txt
z
initialdir
ジョブ実行時の初期作業ディレクトリを指定します。デフォルト値はジョブをサブ
ミットした時点でのカレントディレクトリです。JCF ファイル内でスラッシュ”/”か
ら始まらないファイル名指定は、初期作業ディレクトリから見た相対ファイル名です。
(構文) initialdir = <directory name>
(例)
inisialdir = /data1/argo
z
job_cpu_limit
ジョブでの全プロセスの利用 CPU 時間に対するソフト及びハード制限を指定します。
ただし利用するジョブクラスの制限を越えて設定しても、クラスの制限値が優先され
ます。この設定値はジョブ単位の制限ですので、並列プログラムの場合はプロセス毎
の利用 CPU 時間を総合して制限されます。
(構文) job_cpu_limit = <hardlimit> , <softlimit>
(例)
job_cpu_limit = 1024mb,512mb
job_cpu_limit = unlimited,unlimited
z
job_type
ジョブのタイプを指定します。逐次プログラムの場合は”serial を、並列プログラ
ムの場合は”parallel”を指定してください。デフォルト値は”serial”です。
(構文) job_type = <serial/parallel>
(例)
job_type = parallel
z
notification
notify_user キーワード(always/error/start/never/complete)で指定されたユー
ザへメールを送信する時点を指定します。ロードレベラから送られたメールでリター
ンコード(exited with status)が含まれる場合がありますが、これはユーザジョブの
戻り値でありロードレベラからの戻り値ではありません。
(構文) notification = <always/error/start/never/complete>
(例)
notification = complete
z
notify_user
notification キーワードに基づいてメールを送る送信先ユーザを指定します。デフ
ォルトでは”サブミットしたユーザ@サブミットしたマシン”宛に送られます。
(構文) notify_user = <User ID>
(例)
notigy_user = bob
19/33
「教育研究用 UNIX 系サブシステム」利用の手引き
z
output
ジョブの標準出力(stdout)先として利用するファイルを指定します。デフォルト値
は”/dev/null”となり、その内容を保持しません。
(構文) output = <file name>
(例)
output = $(jobid).err
z
queue
ジョブ ステップのひとつのコピーをキューに入れます。この設定値は必須です。
queue ステートメントは実質的にジョブ ステップの終わりを示しますが、queue ス
テートメント同時の間に他のステートメントを指定することもできます。
(構文) queue
(例)
queue
z
rss_limit
常駐セットのサイズに対するソフト及びハード制限を指定します。ただし利用する
ジョブクラスの制限を越えて設定しても、クラスの制限値が優先されます。
(構文) rss_limit = <hard limit> , <soft limit>
(例)
rss_limit = 256mb,196mb
z
stack_limit
スタックサイズに対するソフト及びハード制限を指定します。ただし利用するジョ
ブクラスの制限を越えて設定しても、クラスの制限値が優先されます。
(構文) stack_limit = <hard limit> , <soft limit>
(例)
stack_limit = 512mb,496mb
z
tasks_per_node
ノード毎に実行する並列ジョブのタスク数を指定します。通常は node ステートメン
トと一緒に利用しますが、本システムでの並列実行環境は必ず 1 つのノードで行われ
るため、node ステートメントはデフォルト値の 1 となり、実質的に tasks_per_node
は総タスク数となります。また利用クラスの制限値を超えて設定しても無効となりま
す。
(構文) tasks_per_node = <numver of tasks>
(例)
tasks_per_node = 4
z
total_tasks
並列ジョブで利用する総タスク数を指定します。通常は node ステートメントと一緒
に利用しますが、本システムでの並列実行環境は必ず 1 つのノードで行われるため、
node ステートメントはデフォルト値の 1 となり、実質的に tasks_per_node と
totak_tasks ステータスは同一値になります。また利用クラスの制限値を超えて設定
しても無効となります。
(構文) total_tasks = <numver of tasks>
(例)
total_tasks = 4
3.3.4 JCF 内で利用可能なローカル変数
z $(host) または $(hostname)
ジョブをサブミットしたマシンのホスト名
z $(jobid)
ジョブに割り当てる順序番号
z $(stepid)
複数の queue ステートメントを利用した場合のステップ順序番号
20/33
「教育研究用 UNIX 系サブシステム」利用の手引き
3.3.5 JCF の例
3.3.5.1 同一シリアルジョブの連続実行
同一ジョブで入力ファイルを変えて連続実行する場合には、queue 指定を複数記述することに
より可能です。また連続実行時にそれぞれ入力ファイルを変える場合は、実行時にカウントされ
る StepID を利用すると便利です。この JCF の場合、入力ファイルは/home/guest 以下にある
indata.0 , indata.1 , indata.2 , indata.3 , indata.4 になります。なお標準/エラー出力
も、それぞれユニークな番号を含めたファイル名を指定することが可能です。
#!/bin/ksh
# @ class = p001
# @ job_type = serial
# @ initial_dir = /home/guest
# @ input = indata.$(stepid)
# @ error = sample5.$(Process).$(stepid).err
# @ output = sample5.$(Process).$(stepid).out
# @ queue
# @ queue
# @ queue
# @ queue
# @ queue
./a.out
3.3.5.2 並列ジョブを実行する場合
並列ジョブを実行するには、total_task という値で多重度を指定する必要があります。多重
度は、指定クラスで許されている最大値までの範囲で任意に指定することが可能です。なお当然
ではありますが、実行するコマンドが並列化プログラムである必要があります。また場合によっ
ては、実行コマンドにも多重度を指定する必要がある場合がありますので注意が必要です。
(-procs オプションや XLSMPOPTS 変数など)
#!/bin/ksh
# @ class = p002
# @ job_type = parallel
# @ total_tasks = 2
# @ error = sample2.$(Host).$(Cluster).$(Process).err
# @ output = sample2.$(Host).$(Cluster).$(Process).out
# @ queue
./a.out
ロードレベラの詳細につきましては、ロードレベラマニュアルをご参考ください。
21/33
「教育研究用 UNIX 系サブシステム」利用の手引き
3.4
Parallel Environment
IBM Parallel Environment v.3.1 は、業界標準の MPI に対応した高水準のパラレル・アプリケーショ
ン開発と実行を可能とする並列処理環境を提供します。
本リリースでは新たに次のものをサポートしています。
パラレル・チェックポイント機能拡張
- コマンド POECKPT で明示的にチェックポイントの実行
- チェックポイント・ファイルを使用し、POE ジョブをリスタート
- パラレル MPI(Message Passing Interface)のシングルタスク、または LAPI(Low-Level
Application Programming Interface)ジョブによるチェックポイントの実行
- システム管理者、または、ロードレベラーによるチェックポイントの実行
64 ビットアプリケーションのサポート
64 ビットプロセッサー上で稼動する 64 ビットアプリケーションをサポートするツールを
MPI スレッド・ライブラリーとともに提供
MPI 機能拡張
- MPI ジョブ起動のコマンド追加
- MPI-IO パフォーマンス向上
- コレクティブコミュニケーション(グループ通信機能)の拡張
- C++と FORTRAN90 のサポート
- MPI-2 外部インターフェースのサポート
並列処理は大規模演算サーバ(andromeda)で最大 8 並列(ロードレベラのクラスに依存します)、
ログイン
サーバ(cygnus,lynx,orion)でそれぞれ最大 2 並列が実行可能です。
3.4.1 基本実行方法
単純にプログラムを並列実行するには、次のように実行します。
$ poe <program name> -procs <tasks> <options>
例えば多重度を 2 として”hostname”コマンドを変列実行するには、次のようにします。
$ poe hostname ‐procs 2
“-procs”オプションにより多重度を指定しています。コマンドオプションならびに環境変数について
は、後述していますのでご参考ください。
また並列プログラムをコンパイルする場合には、次のコンパイラ呼び出しコマンドを利用します。
z
z
mpcc
mpxlf
………
………
C Compiler の場合
XL Fortran Compiler の場合
これらのコンパイラ呼び出しコマンドはスクリプトであり、このスクリプトにより並列プログラムに必
要なライブラリ等が呼び込まれます。
内部ではそれぞれのコンパイラ呼び出しコマンドを実行しています。
3.4.2 主な並列オプションと環境変数
z -euidevice
MP_EUIDEVICE
メッセージ交換(パッシング)で利用するネットワークインターフェースを指定しま
す。デフォルト値はありませんが、本システムではシステム環境変数で lo0 を指定し
ています。
22/33
「教育研究用 UNIX 系サブシステム」利用の手引き
z
-euilib
z
MP_HOSTFILE
-hostfile <filename>
並列プログラムを実行するホスト名を記述したファイル(ホストリスト)を指定しま
す。ホストリストファイルにはタスク数分のホスト名が必要です。デフォルト値は実
行ディレクトリ内の host.list ファイルとなります。本システムではシステム環境変
数で/etc/host.list を指定しています。/etc/host.list ファイルは、大規模演算サー
バとログインサーバで中身が異なり、実行可能並列度も異なります。サンプルを
/usr/local/sample 以下に、host.list_andromeda と host.list_login というファイル
名で置いています。
z
-procs
z
-labelio
MP_EUILIB
通信に利用する通信方式を指定します。本システムでは ip のみ利用可能です。デフ
ォルト値は ip です。本システムではシステム環境変数でも ip を指定しています。
MP_PROCS
プログラム タスク数を指定します。デフォルト値は 1 です。
MP_LABELIO
並列タスクからの出力にタスク ID を表示させるか否かを、”yes”か”no”で指定
します。デフォルト値は”no”です。
PE の詳しい利用方法につきましては、AIX 並列処理環境ガイド等をご参考ください。
3.5
ESSL
Engineering and Scientific Subroutine Libraries v.3.3 は、“POWER4”CPU などに最適化されたライ
ブラリや数学系サブルーチンを含み、科学技術計算アプリケーションの開発サポートや高い数値演算処理
性能を提供します。
POWER4 プロセッサーに最適化されたライブラリ
AIX 5L V5.1 の 32 ビット/64 ビットカーネルをサポート
ESSL ヘッダーファイルは、複素演算に対する C++Standard Numerics Library の機能と、関数
プロトタイプでの const 修飾子の使用をサポート
密行列の連立一次方程式(Dense Linear Algebraic Equations Subroutines)サブルーチンでは
新たに以下の LAPACK サブルーチンをサポート
− 一般行列の逆行列(General Matrix Inverse)
− 正定置実対称行列または複素エルミート行列の分解(Positive Definite Real Symmetric
or Complex Hermitian Matrix Factorization)
− 正定置実対称行列または複素エルミート行列の複数の右辺ベクトルに対する求解
(Positive Definite Real Symmetric or Complex Hermitian Matrix Multiple Right-Hand Side
Solve)
− 正定置実対称行列の逆行列(Positive Definite Real Symmetric Matrix Inverse)
− 三角行列の逆行列(Triangular Matrix Inverse)
23/33
「教育研究用 UNIX 系サブシステム」利用の手引き
線形最小二乗法(Linear Least Squares Subroutines)サブルーチンでは新たに以下の LAPACK
サブルーチンをサポート
- 一般行列に対する線形最小二乗法(Linear Least Squares Solution for a General Matrix)
密行列の連立一次方程式(Dense Linear Algebraic Equations Subroutines)サブルーチンの機
能追加
ESSL はコンパイル時に次のオプションを付加することにより利用可能です。
$ xlf essltest.f ‐lessl … Fortran の場合
$ xlc essltest.c ‐lessl … C の場合
ESSL の詳しい利用方法につきましては、マニュアルをご参考ください。
3.6
Parallel ESSL
Parallel Engineering and Scientific Subroutine Libraries v.2.3 は、“POWER4”CPU などに最適化
されたライブラリや数学系サブルーチンを含み、科学技術計算アプリケーションの開発サポートや高い数
値演算処理性能を提供します。
SMP ライブラリの 64bit 環境のサポート
POWER4 プロセッサに最適化されたライブラリ
SMP ライブラリの 32/64bit 環境アプリケーションのサポート
密行列の連立一次方程式サブルーチン(Dense Linear Algebraic Equations Subroutine)で新
たに次のサブルーチンをサポート
− 複素一般行列の QR 分解(Complex General Matrix QR Factorization)
− 複素一般行列の最小二乗法の求解(Complex General Matrix Least Squares Solution)
固有値解析サブルーチン(Engensystems Analysis Subroutines)では、新たに次のサブルーチ
ンをサポート
− 正定置複素エルミート行列の一般に固有問題の一部の固有値と、
オプションの固有ベクト
ルの計算(Selected Engenvalues and,optionally,the Engenvectors of a Complex Hermitian
Positive Definite Generalized Engenproblem)
− 正定置複素エルミート行列の一般固有値問題から標準固有値問題への変換(Reduce a
Complex Hermitian Positive Definite Generalized Engenproblem to standard form)
Parallel ESSL はコンパイル時に次のオプションを付加することにより利用可能です。
$ xlf essltest.f ‐lpessl … Fortran の場合
$ xlc essltest.c ‐lpessl … C の場合
Paralle ESSL の詳しい利用方法につきましては、マニュアルをご参考ください。
24/33
「教育研究用 UNIX 系サブシステム」利用の手引き
4
その他ソフトウェアの利用
4.1 SAS
SAS は SAS Institute Inc.が開発した、データを情報に変換する強力なソフトウェア群です。SAS/Base
ソフトウェアを基とした STAT,GRAPH,ETS,IML,OR 等のソフトウェアにより、データアクセス,データ管理,
データ分析,データプレゼンテーション,アプリケーション開発などをあらゆる面からサポートします
4.1.1 環境変数の設定
SAS を利用するには、次の二つの環境変数を設定する必要があります。
¾ PATH
/opt/SAS_8.2
¾ MANPATH
/opt/SAS_8.2/utilities/man
これらの環境変数は、次のように設定することが可能です。
$ export PATH=$PATH:/opt/SAS_8.2 (bsh,ksh の場合)
$ export MANPATH=$MANPATH:/opt/SAS8.2/utilities/man
$ setenv
4.1.2 起動方法
SAS は言語環境に合わせた次のコマンドを用意しています。
$ sas
(英語 PC Code)
$ sas_ja
(日本語 SJIS/PC Code)
$ sas_ja.euc
(日本語 EUC Code)
これらのコマンドを実行することにより、SAS が起動します。なおご利用の前に、X Window の設定
等が必要となります。
詳細につきましては、SAS マニュアルをご参考下さい。
4.2 Mathematica
Mathematica は Wolfram Reserch Inc.が開発し、簡単な電卓計算から記述言語を用いた大規模なプログ
ラミング、数値解析や記号を含む数式処理を行う高等数学的機能、グラフィックス処理やシュミレーショ
ンデータ解析、テキストとグラフィックとアニメーションを統合した文書作成、高級言語インターフェー
スを機能を備えており、工学解析やモデリング,理系教育,その他数量が関係するあらゆる分野で活躍しま
す。
4.2.1 利用環境
Mathematica は大規模演算サーバとログインサーバの次のディレクトリに導入されています。
/opt/Wolfram/Mathematica/4.2
実行にひ必要なコマンドは/usr/local/bin 以下にシンボリックリンクが張られていますので、特に
ユーザ毎に必要な設定はありません。
なおライセンスにより、
最大同時実行可能数は2 つとなります。
4.2.2 実行方法
次のコマンドで Mathematica を起動可能です。
$ math
(テキスト版)
25/33
「教育研究用 UNIX 系サブシステム」利用の手引き
$ mathematica
(GUI 版)
$ Mathematica
(GUI 版)
GUI 版を利用する際には、コマンドを実行する前に DISPLAY 環境変数を設定してください。GUI 版
の場合、パレット(特殊文字入力用)とノートブック(メインウィンドウ)が開きます。テキスト版の場
合には、ターミナルがノートブックとなります。ノートブックに計算式または Mathematica に用意さ
れている特殊なシンボルや関数を用いることにより、さまざまな演算やグラフ生成などをさせること
ができます。
% math
Mathematica 4.0 for IBM RISC System/6000
Copyright 1988-1999 Wolfram Research, Inc.
-- Motif graphics initialized -In[1]:= 19.2^200
256
Out[1]= 4.57347 10
In[2]:= Factor[x^25-1]
2
3
4
5
10
15
20
Out[2]= (-1 + x) (1 + x + x + x + x ) (1 + x + x + x + x )
In[4]:= Quit
Mathematica の詳細につきましてはマニュアルをご参考下さい。
4.3 MATLAB
MATLAB は Math Works Inc.が開発し、科学技術計算のための数値計算、データ解析、ビジュアライゼー
ション、そしてプログラミング機能を統合したテクニカルコンピューティング環境です。MATLAB はあらゆ
る領域∼アルゴリズム、解析、グラフ、レポート、シミュレーションなど∼で利用することが出来ます。
4.3.1 実行方法
次のようにコマンドを実行します。なお matlab は nojvm モードで起動しなければならないため、
/usr/local/bin/matlab は、実際には matlab ‐nojbm と実行されるようになっています。
$/usr/local/bin/matlab
26/33
「教育研究用 UNIX 系サブシステム」利用の手引き
$ matlab
< M A T L A B >
Copyright 1984-2002 The MathWorks, Inc.
Version 6.5.0.180913a Release 13
Jun 18 2002
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
>> 1+1
ans =
2
>>
MATLAB の詳細につきましてはマニュアルをご参考下さい。
4.4 Mule
本システムには多国籍言語に対応したMuleが導入されており、
日本語入力としてcannaが利用可能です。
Mule は単純に”mule”というコマンドを実行すれば利用可能ですが、日本語入力を利用するには、次の手
順が必要です。
4.4.1 Canna の場合
① 次のコマンドで Canna サーバを起動します
$/usr/local/cannna/bin/cannaserver
② Mule を起動します
③ “Escape”キーを押して後、”x”キーを押します
④ canna と入力すると、Canna 日本語入力モードになります
⑤ 漢字変換は文字を入力後、”Control”キーを押しながら”o”キーを押します
ユーザホームディレクトリ直下に”.emacs”というファイルに次のように記述することにより、
Canna を自動起動させることが可能です。
(if (and (boundp 'CANNA) CANNA) ;
(progn
(load-library "canna")
(canna) ))
Mule の詳細につきましては、オンラインマニュアルをご参考下さい。
27/33
「教育研究用 UNIX 系サブシステム」利用の手引き
4.5
nkf
nkf は Shift JIS,JIS,EUC コードの変換を行うことができます。変換方法は次の通りです。
$ nkf <option> <filename>
ここでオプションを次のものにすることにより、文字コードの変換を行います。
z
z
z
-s
-j
-e
………
………
………
SJIS に変換
JIS に変換
EUC に変換
nkf コマンドを実行すると、変換結果が標準出力に出力されますので、リダイレクションなどを利用し
て、ファイルに落とします。
詳細につきましては、オンラインマニュアル等をご参考ください。
4.6 ssh
Secure Shell は Berkeley(UNIX,AIX)で提供されている r(リモート)系コマンド(rsh,rcp,rlogin)置き換
わる機能として、通信経路に流れる情報を暗号化して送受信することが可能です。本システムには
Open-ssh v.3.5p1 が導入されております。
4.6.1 事前準備
ssh を利用してユーザー認証を行うユーザーは、ssh2 の使用前にローカル・ホストにおいてユ
ーザー・キーを作成するころができます。鍵が存在しなくてもリモート接続はされますが、その
場合はユーザーのパスワードが求められます。
ユーザー・キーは次のコマンドで作成することができます。
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/argo/.ssh/id_dsa): …… 空 ENTER 入
力
Enter passphrase (empty for no passphrase): xxxxxxxxxx …… パスフレーズ入力
Enter same passphrase again: xxxxxxxxxx …… パスフレーズ再入力
Your identification has been saved in /home/argo/.ssh/id_dsa.
Your public key has been saved in /home/argo/.ssh/id_dsa.pub.
The key fingerprint is:
b9:84:16:7b:5d:99:01:a1:af:ef:9b:2e:c8:62:a7:57 argo@io
オプション -t はタイプ指定です。上記コマンドはプロトコル 2 の dsa 形式のキーを作成しま
す。パスフレーズは 4 文字以下の場合失敗します。推奨は 10 から 30 文字程度です。パスフレー
28/33
「教育研究用 UNIX 系サブシステム」利用の手引き
ズの入力が完了すると /.ssh2/ 以下に秘密鍵と公開鍵が作成されます。本システムの ssh では
dsa の他に rsa 形式やプロトコル 1 の rsa1 の利用可能です。
なお次のコマンドにより、作成したパスフレーズを変更することが可能です。(ただし、旧パ
スフレーズが必要となります)
$ ssh-keygen -p -t dsa
※ パスフレーズが ssh におけるユーザ認証のパスワードとなるため、厳重に管理し、また変
更を行うなど保護する必要があります。
・ ユーザー・キーの登録
・ 作 成 し た ユ ー ザ キ ー ( 公 開 鍵 )”id_dsa.pub” を 、 リ モ ー ト ホ ス ト 側 に
" /.ssh/authorized_keys2"というファイル名で保存しておきます。(公開鍵ファイル名
は形式により異なります)
4.6.2 使用法
ssh,scp はそれぞれ rsh,rcp コマンドとほぼ同様な方法で利用可能です。rsh,rcp に準じて利用し
ます。ssh2 び scp コマンドを実行するとすぐにはログインせず、ユーザーのパスフレーズの入力が求
められます。その後通常の rsh,rcp コマンドと同様の動作をします。
$ ssh <options> <remote hostname> <command>
$ scp <options> <original filename> <destination( filename)>
詳細についてはオンラインマニュアル等を参照ください。
4.7 GMT
Generic Mapping Tools は、Gravity, Magnetism, Topography をはじめとする xyz データの保存、加工、
表示、印刷を行うソフトウェアです。
GMT を利用するには、ユーザ毎に次の環境変数を設定する必要があります。
・ ksh の場合
$ export PATH=$PATH:/usr/local/GMT/GMT3.4.2/bin
$ export MANPATH=$MANPATH:/usr/local/GMT/GMT3.4.2/man
$ export GMTHOME=/usr/local/GMT/GMT3.4.2
・ csh の場合
$ setenv PATH ($PATH /usr/local/GMT/GMT3.4.2/bin)
$ setenv MANPATH ($MANPATH /usr/local/GMT/GMT3.4.2/man)
$ setenv GMTHOME (/usr/local/GMT/GMT3.4.2)
(今後バージョンアップが行われた場合、ディレクトリ名が変更となる場合があります)
GMT の詳しい利用方法につきましては、オンラインマニュアル等をご参考ください。
29/33
「教育研究用 UNIX 系サブシステム」利用の手引き
30/33
「教育研究用 UNIX 系サブシステム」利用の手引き
5
参考情報
5.1 マニュアルについて
5.1.1 man コマンドによるオンラインマニュアルの参照
ほとんど全てのソフトウェアは、man コマンドで閲覧可能なオンラインマニュアルが導入されてい
ます。
AIX,Compiler 関連
/usr/man
PDS など
/usr/local/man
利用例)
$ man <program name>
.....
5.1.2 Web ブラウザによる参照
AIX や Compiler など主なソフトウェアや本利用の手引書については、Web ブラウザからマニュアル
を閲覧することが可能です。
http://andromeda.yokohama-cu.ac.jp/
閲覧可能なマニュアルは、次のとおりです。
¾ AIX(コマンド及びリファレンス)
¾ Fortran Compiler
¾ C/C++ Compiler
¾ Load Leveler
¾ ESSL
¾ Parallel ESSL
5.2 FAQ
5.2.1 AIX 関連
5.2.1.1 テープドライブをブロックサイズを変えて利用したい
ブロックサイズの変更は一般ユーザでは行えません。管理者にご確認ください。
5.2.1.2 8mm テープドライブを利用後、雷マークのランプが点灯する
メディア変換用ワークステーション(chamaeleon)に接続された 8mm テープドライブで
AME 規格以外のテープを利用すると点灯します。クリーニングテープを利用することに
より、ランプは消灯します。
5.2.1.3 tar コマンドで 2GB を超えてアーカイブできない
tar コマンドの仕様上、2GB 以上越えてアーカイブすることができません。例えばテープド
ライブに書き込む場合は、他 UNIX でも利用可能な dd コマンドの利用が便利です。
31/33
「教育研究用 UNIX 系サブシステム」利用の手引き
(例)
$ dd if=<input_file_name> ibs=512 of=/dev/rmt? obs=1 conv=sync
$ dd if=/dev/rmt? ibs=1 of=<output_file_name> obs=512
5.2.1.4 vi で大きなファイルを開けない
原因は大きく二つ考えられます。vi では一時領域を利用しており、デフォルトで
は”/var/tmp”になります。開こうとしているファイルサイズ以上の空きがないとファイル
を開いたりそれ以上書き込むことができなくなります。その場合には、vi のコロンモードで
次のように一時領域を変更することが可能です。
(例)
set dir=/swap
またvi でデフォルトの最大行数は524279 行です(実際は1048560 行で作業用に半分+1 行使
われます)。最大行数を変更するには、次のようにして vi コマンドを起動します。
vi ‐y <Numver of collum * 2> <filename>
ここで指定する行数を、利用したい行数の 2 倍に設定することに注意してください。
5.2.2 コンパイラ関連
5.2.2.1 コンパイルしたプログラムが次のエラーで実行できない 「0509-026 システムエラ
ー:現在利用可能なメモリが不足しています」
Fortran の場合、プログラムサイズが 256MB 以上 2GB 以下の場合は-bmaxdata オプションで
利用するサイズを指定してください。2GB 以上の場合には、C,Fortran 共に 64bit モードでコ
ンパイルしてください。プログラムサイズは size コマンドで調べることが可能です。
$ size <program name>
<program name>: 16152 + 1516 + 228 + 2447 = 20343
5.2.2.2 プログラムの書き換えなしにより速く実行したい
IBM が提供している C 及び Fortran Compiler は、コードの最適化をするためのオプションが
用意されています。これらのオプションを付加してコンパイルすることにより実行時間が短
縮される場合がありますのでお試しください。なおオプションによってはそのプログラムに
適さない場合もありますので、プログラム全体またはサブルーチン毎に最適化オプションを
試すことをお勧めします。コンパイラの最適化オプションにつきましては、本紙コンパイラ
の項またはコンパイラのマニュアルをご参考ください。
5.2.2.3 最適化オプションを付加してコンパイルしたプログラムの計算結果がおかしい
プログラムの最適化により稀にプログラムの意味を変えてしまい、結果として計算がおかし
くなる場合があります。その場合には最適化オプションのほかに-qstrict オプションを付加
してコンパイルすることにより、プログラムの意味を変えることなく最適化することが可能
です。但し-qstricit オプションによりパフォーマンスが遅くなる場合があります。
5.2.3 ロードレベラ及び並列処理関連
5.2.3.1 自動並列化したプログラムが計算途中で止まってしまう
プログラム性質等により自動並列化により計算が途中で止まってしまうことがあります。こ
れは自動並列化によるものですが、次の回避策を試してみてください。
z コンパイラの最適化オプションを外す
32/33
「教育研究用 UNIX 系サブシステム」利用の手引き
z
z
並列度を下げる
並列化で問題が起こりえると考えられるサブルーチンを自動並列化の対象から明示
的にはずす
¾ サブルーチン毎にコンパイルし自動並列化の対象を分ける
¾ PARALLEL ディレクティブ等で明示的に並列化する部分を指定する
明示的に指定した場合は、-qsmp=noauto オプションでコンパイルして下さい
5.2.3.2 SMP 自動並列化プログラムをより速く実行したい
SMP 並列プログラム特有の次の環境変数を指定することにより、実行時間が短くなる場合が
あります。(スレッドに対する環境変数です)
SPINLOOPTIME
(デフォルト40)
YIELDLOOPTIME
(デフォルト 0)
一般的にそれぞれ 500 から 1000 の値を設定することによりパフォーマンスが向上すること
が多いようです。場合により 2 倍以上のパフォーマンスが得られる場合があります。これ以
外に関連する環境変数として次のようなものがあります。
AIXTHREAD_SCORE,AIXTHREAD_GURDPAGES,MALLOCMULTIHEAP など
これらの環境変数の詳細につきましては、
「AIX パフォーマンス マネージメント ガイド」
をご参考ください。
5.2.3.3 並列による実行時間について
SMP 並列,MPI 並列ともに、並列に伴うオーバーヘッドが必ず発生します。オーバーヘッド
は一般的に並列度ど比例して大きくなり、場合により逆に実行時間が余計にかかる場合があ
ります。並列プログラムを実行する場合には、適切な並列度を指定することをお勧めします。
5.2.3.4 SMP 並列プログラムを実行するときに利用するジョブクラスとその設定方法
SMP 並列プログラムでも並列度分の CPU を利用すると考えますので、
並列のジョブクラスを
指定してください。JCF 内の total_tasks や task_per_node はロードレベラに対する利用 CPU
数の宣言であり、
環境変数XLSMPOPTS はSMP 並列プログラムに対する並列度の指定ですので、
両方とも設定する必要があります。設定例につきましては、本紙のロードレベラの項をご参
考ください。
33/33
© Copyright 2026 Paperzz