目次
科学技術計算システム利用の手引き(初級編)
このページはアーカイブコンテンツです。
最新の情報は、科学技術計算システム(2021)へアクセスしてください。
1 科学技術計算システムの概要
農林水産研究情報総合センター(以下、「情報総合センター」)では、スーパーコンピュータや、 科学技術計算アプリケーションが利用できる計算機資源を提供しています。 これらの計算機システムを「科学技術計算システム」と呼んでいます。
情報総合センター登録ユーザであれば、ご利用いただけます。
1.1 利用できるサービス
科学技術計算システムでは次のサービスがご利用いただけます。
- 科学技術計算アプリケーションの利用
- 統計・計算:SAS, Maple ほか
- 計算化学:Gaussian, MOE ほか
- 構造・流体:ANSYS, ANSYS Fluent, Pointwise ほか
- 可視化:AVS-Express Viz ほか
- 数値計算ライブラリ:IMSL, ScaLAPACK, ASL ほか
- 地理情報・リモートセンシング:ArcGIS, ERDAS Imagin, ENVI ほか
- スーパーコンピュータの利用
- 分散並列型クラスタ計算機、大規模共有メモリ型計算機の利用
- 開発環境の利用(C,C++,Fortran)
- 基礎数値データの利用
- アメダスデータ、気象データ、農林水産統計データ
- 利用支援
- 各科学技術計算アプリケーションの利用研修
- プログラミング環境等の講習
- 技術相談等の研究支援
- 科学技術計算システムメーリングリスト
1.2 システムの利用申請
「科学技術計算システム」を利用するには、利用登録が必要です。
利用登録が済むと、現在メールでご利用のID(ログイン名)とパスワードで 科学技術計算システムの各アプリケーション・計算サーバにログインして ご利用できるようになります。
利用申請はWeb上からお申し込みいただけます。
ネットワークサービスシステム(https://nss.sys.affrc.go.jp/)から [利用者情報]の[システム利用申請]で当該項目をチェックして申請下さい。
1.3 システムの構成
1.3.1 分散並列型クラスタシステム(Type A)
一般のPCと同じX64(x86_64)アーキテクチャのLinuxサーバによる大規模なクラスタシステムで、 大学など多くの研究機関で開発されたソフトウェア資産を容易に導入することができます。
計算ノード(Type A) | |
---|---|
機種 | SGI ICE XA (216ノード) |
CPU | Intel Xeon E5-2680v4, 14 cores, 2.4 GHz × 2CPU (28 Cores) / node |
主記憶 | 128 GB Memory / node |
OS | RedHat Enterprise Linux Server |
ログイン | 不可(バッチジョブのみ) |
MPI 1) による分散並列計算用クラスタシステムです。 |
1.3.2 大規模共有メモリ型システム(Type B)
256個のコア(16 cores × 16 CPU)を搭載した共有メモリ型の計算機で、コンパイラによる自動並列化機能やOpenMP 2) により、ノード内並列計算を行います。
1.4 システムの利用環境
科学技術計算システムは、UNIX(Linux) がベースとなっており、 ある程度 UNIX の知識を必要とします。
基本的な利用方法は、パソコンのターミナル(端末)ソフトを使った、 SSH リモートログインによるコマンド操作(CUI)となります。
ファイル転送や、一部のアプリケーションについて、 リモートデスクトップ(RealVNC)や X Window により、GUI での操作が可能です。
ホスト名一覧 | |
---|---|
フロントエンドサーバ | scion.cc.affrc.go.jp |
SAS BI Server (SAS Add-In) | sas.cc.affrc.go.jp |
*赤字は、ログイン可能 |
利用イメージ
1.4.1 ディレクトリ構成
ユーザ領域のディレクトリ
ホームディレクトリ(ログインディレクトリ)
/home/username 例 : /home/norin
計算用ワークディレクトリ
分散並列型クラスタシステム(Type A)、大規模共有メモリ型システム(Type B)用ワークディレクトリ(Lustre File System)
/lfs/username 例 : /lfs/norin
1.4.2 ログインシェル
リモートログイン
リモートログインはSSH6)をご利用ください。
ファイル転送
ファイル転送は SCP, SFTP7) をご利用ください。リモートデスクトップ(VNC)のファイル転送機能や Rstudio Server のファイル転送機能を利用することも可能です。
1.4.3 システム利用に必要なツール
- 科学技術計算システムの利用申請(ツールではありませんが登録が必要です。)
- SSH のツール
- Windows系:PuTTY, TeraTerm
- Mac OS X, Linux, UNIX系:OpenSSH
- SCP, SFTP のツール
- Windows系:WinSCP, CyberDuck
- Mac OS X:CyberDuck, OpenSSH コマンド(scp, sftp)
- Linux系:OpenSSH コマンド(scp, sftp)
- X-Window サーバソフト
- ReflectionX など市販の X サーバソフト
- Xming, CygwinX などフリーの X サーバ
- Mac OS X は標準の X11 が利用可能
- Linux などは標準で X Windows が利用可能
2 リモートデスクトップ(Real VNC)
2.1 リモートデスクトップの概要
VNC クライアント(VNC Viewer)をインストールすることで、フロントエンドサーバの機能を GUI(Graphical User Interface)で操作することが出来ます。
特に、遠隔地から X Window を使ったアプリケーションを利用する場合、利用者のパソコンに X サーバソフトを導入して操作するよりも、多くの場合、高速に動作します。
大規模な計算を実行する等、スーパーコンピュータの利用は、主に端末からコマンドで操作する CUI(Character User Interface)での利用が多いため、SSH 等のターミナルソフトで直接ログインした方が、使い勝手が良いでしょう。
2.1.1 リモートデスクトップで出来ること
2.2 VNC クライアントの利用方法
1. VNC クライアント(VNC Viewer)をダウンロードし、任意のフォルダに置いて、ご利用ください。
- OS 種類(Windows 32bit 版, 64bit 版, Mac OS X, Linux 32bit 版, 64bit 版)によりダウンロードするファイルが異なります。
2. VNC Viewer を起動し、「VNC Server」に、接続先(scion.cc.affrc.go.jp)を入力して、「Connect」をクリックして接続します。初めて接続する際に、「・・・The VNC Server signature is xx-xx-xx-xx-xx-xx-xx-xx. Do you wish accept the new signature and continue connecting?」というメッセージ画面が表示されますので、「yes」を選択してください。
3. アカウント名(ログイン名)、パスワードを入力し、「OK」をクリックします。
ログインするとデスクトップ画面が表示されます。
4. 主な利用操作
(a)各アプリケーションの起動
各アプリケーションの起動は、デスクトップ画面の Application フォルダーを開いて、起動アイコンをダブルクリックします。
SAS の利用イメージ
(b)端末(Terminal)の起動(コマンドラインの利用)
コマンドによる操作を行う場合、端末(GNOME Terminal)を起動します。
トップ画面の背景の場所で、マウスの右ボタンをクリックすると、メニューが表示されますので、
「Open Terminal」をクリックして端末を開きます。
5. VNC Viewer を終了するには、画面左下の「Computer」メニューを開いて、「Logout」をクリックします。確認画面が表示されますので、「Log Out」をクリックして終了します。
3 情報総合センターのアプリケーションを利用するには
科学技術計算システムは、UNIX(Linux)系のOSで構成されており、 X Window System を利用するアプリケーションが導入されています。 利用者の PC にインストールし、ライセンス参照して利用するアプリケーションもあります。
利用者の PC にインストールしてライセンス参照するアプリケーションについては、AFFRIT Portal の登録ユーザ向けのアプリケーション利用案内等を参照し、インストールメディアの貸し出しをお申し出ください。
X Window System を使ったアプリケーションを利用するには、以下のような方法があります。 また、アプリケーション利用の流れを、SAS を例にして説明します。
- VNC Viewer (RealVNC) を使う
- 先に紹介した、VNC Viewer を利用して SAS などのアプリケーションを利用することが出来ます。
- 利用者の PC に VNC Viewer を導入して頂くことで、フロントエンドサーバの X Window 環境がご利用いただけます。
- X Serverソフトを使う
- SSH2 に対応したターミナルソフトと、X Server ソフトを導入する必要があります。
- ターミナルソフトでサーバに直接ログインしますので、サーバを直接コマンドで操作することが出来ます。 UNIX(Linux) システムに慣れている方にお勧めです。
参考:(フリーの統計解析ソフトをパソコンに導入して利用)
数値計算や統計解析が目的で、特に SAS など導入されたアプリケーションに こだわらない場合は、フリーソフト(R, Scilab, Octave, Maxima など)を導入し、 お手元のパソコンで解析を行うことも可能です。
情報総合センターのシステムへ、ファイルを転送するなどの手間が不要となります。
科学技術計算システムにも、R や Octave などのオープンソースソフトウェアが導入されています。パソコンで作成した全てのプログラムが動作するとは限りません。 また、プログラムの実行がパソコンより速くなることはありません。 しかし、同時に多数の計算を平行して実行したり、並列化することで、処理時間が短くなる可能性があります。
なお、フリーソフト等の利用について、情報総合センターでのサポートは出来ません。
3.1 SASを利用するには…(X Server ソフトを使って)
X Serverソフトを使ってSASを利用するには・・・
- X Server ソフト (Xming) を起動します。
- SSH ターミナル (PuTTY) を起動します。
- X11 ポートフォワーディング機能を有効にします。
- フロントエンドサーバ(scion.cc.affrc.go.jp)に接続します。
- SAS を起動します。
- ログインしたターミナルで、sas と入力します。
- SAS が起動されますので、後は SAS の操作となります。
- ファイル転送は、WinSCP などを使います。
4 パソコンからの X Window アプリ利用(Windows)
もともとローカルエリアでの利用を想定していた X Window は、 通信経路上のデータが暗号化されていないなど、セキュリティ面で問題があります。 SSH の X11 Port Forwarding 機能を利用して暗号化することにより、 広域のネットワークでも X Window アプリケーションを安全に利用することができます。
実際の操作については、それぞれ使用するツールによって異なりますが、 操作の内容は、Windows、Mac、UNIX(Linux) 系など、どれも基本的には同じです。
- ターミナルソフトで計算サーバに接続 (X11 Port Forwarding をONに)
- UNIX 系はコマンドオプションで (ssh -X scion.cc.affrc.go.jp -l norin)
- -X はラージ X です。小文字 (-x) は Port Forwarding OFF
- アプリケーションを起動 (sas)
- アプリケーションから X サーバ (PC) に接続して、表示や入力を行う
- PC 側 (Xサーバ) への接続が ssh を使ってトンネル化&暗号化
4.1 必要なツール(フリーソフト)
SSH2 に対応したターミナルソフト
- PuTTY: (Windows用)
- putty-X.XX-installer.exe などインストーラ付きをダウンロードしてインストールします。
- puttyjp: PuTTY の日本語対応
- PuTTY にパッチをあてた実行ファイルをダウンロードし、ファイルを展開(解凍)します。 展開したファイル (puttyjp.exe とputtyjp.lng) を PuTTY をインストールしたディレクトリ (C:\Program Files\PuTTY) に、保存します(必要があればショートカットなどを作成します)。
- TeraTerm: (Windows用)
- インストーラ付きのファイルをダウンロードして、インストールします。
SSH2 に対応したファイル転送ソフト
- WinSCP: (Windows用)
- Installation package をダウンロードし、インストールします。
- CyberDuck: (Mac, Windows用)
X Server ソフト
- Xming: (Windows用)
- インストーラ付きの Xming と Xming-fonts をダウンロードし、インストールします。
- 一部のバージョン (X11 Release.7系) は、寄付 (Donations) を求められます。
- フリーバージョンは、X11 Release.6.9 のみです。 Ver.7 系を使う場合は、Cygein/X を使います。
- Cygwin/X (Windows用)
- Windows の環境 (32bit, 64bit) により、対応するセットアッププログラム (setup-x86.exe, setup-x86_64.exe) をダウンロードします。
- セットアップの途中で、「X11」のカテゴリーから「xinit」を選択してインストールします。
4.2 アプリケーション起動までの手順
Windows PCで、X ServerソフトとしてXming、SSHターミナルとしてPuTTYを 使ってアプリケーションを起動するまでの手順を示します。
4.2.1 SAS
X Server起動
PuTTY起動と接続
- SSH ターミナル (PuTTY) を起動します。
- X11 ポートフォワーディング機能を有効にします。
- PuTTY 設定(起動画面)の「カテゴリ」の「X11」を選択し、「X11フォワーディングを有効にする」をチェックします。
- フロントエンドサーバ (scion.cc.affrc.go.jp) に接続します。
- 「カテゴリ」の「セッション」を選択し、ホスト名に scion.cc.affrc.go.jp、ポート:22、プロトコル:SSH で「開く」ボタンをクリックして接続します。
- login as: に、ログイン名を、passwd: に、パスワードを入力して、ログインします。
SAS 起動コマンド
終了
- 「ファイル」メニューから SAS を終了させます。
- ターミナル (PuTTY) から、exit コマンドによりログアウトします。
- Windows のタスクバーに表示しているアイコンをマウスで選択し、右クリックするとメニューが表示されますので「Exit」を選択してください。
- 確認の Window が表示されますので、「Exit」としてください。
ファイル転送
- ファイル転送は、WinSCPなどを使います。
参考
Xming, Cygwin/X など、一部の X Server ソフトでは、パソコンのキーボードで [Num Loack] が有効になっていると、一部のキーが効かない、マウス操作ができないなどの不具合が出る場合があります。 [Num Lock] を Off で利用することをお勧めします。
5 SAS Add-In for Microsoft Office
SAS Add-in for Microsoft Office を導入することで、EXCEL などの Microsoft Office 製品から、SAS の統計解析機能を利用することができるシステム (SAS BI Server) を導入しています。例えば、EXCEL で入力した実験データをそのまま解析し、結果やグラフを Word 等で利用することが可能です。
コマンド操作やSASプログラムの作成は不要です。利用するためには、Add-In ソフトを PC(Windows) にインストールする必要があります。科学技術計算システムのサーバからダウンロードすることも可能ですが、ファイルサイズが大きいため、インストール用 DVD-ROM を貸し出していますので、情報総合センターにお問い合わせください。
詳しくは、https://itcweb.cc.affrc.go.jp/affrit/inside/amo を参照してください。
5.1 基本的な利用手順
インストール
インストール方法及び簡単な利用方法については、AFFRIT Portal に資料を掲載 (https://itcweb.cc.affrc.go.jp/affrit/inside/amo) していますので参照してください。
インストールが終了すると、EXCEL に [SAS] のタブが表示されるようになります。
もし、インストール時に不具合があり、正常にインストールできなかった場合は、一旦アンインストールしてから、再インストールする必要があります。
接続の設定と利用
- インストールが完了すると、EXCEL などに SAS のメニューが追加されます。
- 「SAS」メニューの「ツール」から「接続」を選択し、接続プロファイルを追加します。
- 接続プロファイルに必要な情報を登録します。
SAS Add-In は、科学技術計算システムのSAS用のサーバに接続します。 接続は、MAFFIN(150.26.0.0/16) のネットワーク内部に制限しています。
利用する場合は、科学技術計算システムの利用登録が必要です。
6 UNIX(Linux)の基本
科学技術計算システムは基本ソフト(OS)にUNIX(Linux)を使っていますので、 UNIXの基本的なことを知って頂くと、より効率的に利用することができます。
6.1 ログイン、ログアウト
SASの利用法で紹介したように、SSHターミナルソフトを利用して、 システムに接続することを「ログイン」、接続解除することを「ログアウト」と 言います。
ログイン可能なサーバは、フロントエンドサーバ (scion.cc.affrc.go.jp) です。
フロントエンドサーバからログアウトするには、exit コマンドを入力します。(CTRL + D 「CTRLキーを押しながらDを押す」でもログアウトできます。)
norin@fe03 $ exit
norin@fe03 は、プロンプト(コマンドの入力待ち状態)ですので、exit と入力して、[Enter] キーを押します。
6.2 主なコマンド
WindowsやMacなどGUI環境に慣れた方にとっては、コマンド操作は 覚えることが多く、直感的な操作ができないため不便に感じるかも しれません。
プログラムの作成や実行に必要なファイル操作を中心に、 主なコマンドを紹介しす。
ls
ディレクトリのファイルリストを表示する (ls: list)
使用例(フロントエンドサーバ):水色はシンボリックリンク10)、青はディレクトリ、緑は実行可能ファイル(実行可能なパーミッション11))、マゼンタ(ピンク)は画像ファイル等を表し12)ます。
norin@fe03 $ ls
amedas-data.sh
amedas-kion.png
cow2b.sas
Desktop
sx
コマンドオプション -l
を使うと、ファイルのアクセス権、所有者、ファイルサイズ、更新日時など、詳細な情報を表示します。
norin@fe03 $ ls -l total 8569 -rwxr--r-- 1 norin research 791 2013-11-27 09:52 amedas-data.sh -rw-r--r-- 1 norin research 5656 2013-11-27 09:53 amedas-kion.png -rw------- 1 norin research 3882 2013-03-05 20:34 cow2b.sas drwxr-xr-x 2 norin research 512 2013-03-04 15:39 Desktop lrwxrwxrwx 1 norin research 7 2013-01-18 19:41 sx -> /sx/norin
mkdir
ディレクトリを作成する (mkdir: make directory)
使用例:work/と言うディレクトリを作成する。
mkdir work
cp
ファイルやディレクトリをコピーする (cp: copy)
使用例:cow2b.sas を cow3.sas というファイル名でコピーする。
cp cow2b.sas cow3.sas
使用例:cow2b.sas を work というディレクトリにコピーする。
cp cow2b.sas work
mv
ファイルを移動する(ファイル名を変更する) (mv: move)
使用例:cow3.sas をwork というディレクトリに移動する。
mv cow3.sas work
cd
カレントディレクトリ13)を変更する(cd: change directory)
使用例:カレントディレクトリを work に移動する。
cd work
使用例:上位のディレクトリに移動する。(.. は親ディレクトリの意味)
cd ..
使用例:ホームディレクトリに移動する。(/home/ログイン名)
cd
pwd
現在のディレクトリ(ワーキングディレクトリ)の名前を表示する (pwd: print working directory)
使用例:
norin@fe03 $ pwd /home/norin/work
rm
ファイルを削除する (rm: remove)
使用例:cow3.sas を削除する
rm cow3.sas
rmdir
空のディレクトリを削除する (rmdir: remive directory)
使用例:work ディレクトリを削除する。
rmdir work
less (more)
テキストを一画面ずつ表示する
画面表示行数よりも多いテキストファイル等を、一画面ずつ表示することが出来ます。
表示されている画面の続きを見るには、「スペースキー」を押します。 終了するには、「q」を押します。
使用例:テキストファイル cow2b.sas を表示する。
norin@fe03 $ less cow2b.sas data cow; input day a b; dayl=log(day); al=log(a); bl=log(b); cards; 6 20.3 23.3 7 18.1 24.6 8 17.6 24 9 16.3 25.6 10 19.9 25.6 11 19.9 26.4 cow2b.sas
man
マニュアルを表示する
コマンドなどの使い方を調べる時に使います。
man コマンドは表示機能として less または more を使っていますので、表示されている画面の続きを見るには「スペースキー」、終了するには「q」を押します。
使用例:file コマンドのマニュアルを表示する。
norin@fe00 $ man file FILE(1) BSD General Commands Manual FILE(1) NAME file - determine file type SYNOPSIS file [-bchikLnNprsvz] [--mime-type] [--mime-encoding] [-f namefile] [-F separator] [-m magicfiles] file file -C [-m magicfile] file [--help] DESCRIPTION This manual page documents version 4.24 of the file command. Manual page file(1) line 1
nkf
テキストファイルの日本語コードを変換する
日本語が含まれているファイルを取り扱う場合は、文字コードをUTF-8に変換することをお勧めします。
文字コード変換ツールとして、nkfをインストールしています。 また、テキストファイルの改行コードも、nkfコマンドを使って変換することが可能です。
使用例:work
以下に、nkf のオプションを記載します。 -s output MS-kanji (shifted-JIS) code. -e output EUC (AT&T) code. -w output UTF-8 (Unicode 8bit form). -L[wmu] new line mode -Lu unix (LF) -Lw windows (CRLF) -Lm mac (CR) 例:変換元ファイル(in-file.txt)を、文字コードをUTF-8 に変換、同時に 改行コードをunix 用に変換して、ファイル(out-file.txt)に保存する。 nkf -w -Lu in-file.txt > out-file.txt
6.3 ファイルシステム
ファイルとはデータを保存しておくための書庫のようなものです。
ディレクトリは特別なファイルで、その中にファイルやディレクトリを格納することができます。
WindowsやMacintoshでフォルダと呼ばれているものがディレクトリにあたります。
UNIX のファイルシステムはツリー構造となっており、
頂点をルートと呼び「/ (スラッシュ)」で表されます。
ユーザの位置
現在、ユーザーがいるディレクトリのことをカレントディレクトリと呼びます。
ログインした時点では、ホームディレクトリと呼ばれる自分専用のディレクトリが
カレントディレクトリとなります。
ディレクトリを指定せずにファイルやディレクトリの操作 (cp,mkdir 等コマンド操作) を
行った場合には、通常カレントディレクトリでの作業として処理が行われます。
カレントディレクトリは「.
」で表されます。
階層が1つ上のディレクトリ(親ディレクトリ)は、「..
」で表します。
絶対パスと相対パス
- 絶対パス
ルートディレクトリから指定したいファイルディレクトリまでの ディレクトリ名をスラッシュ(/) で区切って指定したものが 絶対パスでの指定方法です。
- 相対パス
現在のカレントディレクトリを基準として、指定したいファイルや ディレクトリを指定する方法です。
例:絶対パスでの指定 /home/norin/work/hoge.txt 例:相対パスでの指定 workディレクトリ配下のファイル hoge.txt work/hoge.txt カレントディレクトリのファイル hoge.txt ./hoge.txt
6.4 エディタ(vi)
viは、UNIX(Linux) で使われる標準(ほとんど全ての UNIX で共通)エディタです。
vi には「コマンドモード」と「入力モード」があり、多くのコマンドがあるため、
初心者にはわかりづらく、とっつきにくい印象ですが、慣れてくれば素早く
ファイル編集ができるツールとして活用できます。
UNIX で人気のあるもう一つのエディタ、emacs も導入されています。
ここでは、ほとんど全ての UNIX で共通に利用できる、
vi の基本的な操作を紹介します。
なお、多くの Linux ディストリビューションで vi を拡張したvim14)が標準となっていますので、説明では vim で表記します。
ファイルのオープン
既存のファイル、または新しいファイルに対してエディタを起動するには、 vim (vi) コマンドを使います。
vim [filename] 例:vim hoge.txt 既存ファイルがあれば、そのファイルを開きます。 ファイルが無ければ、新規のファイルとして編集することが出来ます。
新しいファイルの場合、画面は次のようになります。 起動直後は、「コマンドモード」ですのでご注意ください。 キーを入力すると、コマンドと解釈されます。
~ ~ ~ ~ ~ ~ "hoge.txt" [New File] 0,0-1 All
ファイルのセーブと終了
編集したファイルを保存して終了するには、ZZ
(大文字)とします。
ただし、「入力モード」の場合は、Escキーを押して「コマンドモード」に
してから、ZZ
とタイプします。
ファイルを保存するだけの場合は、:w
とします。
別名で保存するには、:w filename
とファイル名を指定します。
何も編集をしていない状態で終了する場合は、:q
とタイプします。
終了と保存を同時にするには、:wq
とタイプします(:wq
とZZ
は同じ)。
編集した内容がめちゃくちゃで、最初から編集をし直したい場合は、
:e!
としてファイルを再読込します。
また、編集内容を破棄して強制終了するには、:q!
とします。
基本的な編集作業
vim(vi)は「コマンドモード」と「入力モード」があります。
入力モードにするには何通りかの方法がありますが、
一番標準的なコマンドは、i
を押すやり方です。
i
は表示されませんが、一番下の行が– INSERT –
に変わり、
これを押した後にタイプした文字が全て画面に入力されるようになります。
次の操作(カーソルを移動する場合も)をしたい場合は、 Escキーを押してコマンドモードに戻ります。
vi 入力モードに関連するコマンド | |
コマンド | 内容 |
---|---|
a | カーソルの後にテキストを入力 |
A | カレント行の末尾にテキストを入力 |
i | カーソルの前にテキストを入力 |
I | 行の先頭にテキストを入力 |
o | カーソル位置の下にテキストを挿入する空行をオープン |
O | カーソル位置の上にテキストを挿入する空行をオープン |
テキスト削除
削除コマンドx
を使うと、カーソル位置のテキストを削除します。
単語単位削除はdw
、行削除はdd
を使います。
さらに、これらのコマンドの前に数字を入力すると、コマンドの対象範囲が
指定できます。例えば、2x
は2文字、2dw
は2 word、
2dd
は2行の削除となります。
7 プログラム(ソースコードから)の利用
プログラミング言語で書かれたプログラムをコンピュータが実行するには、コンピュータの命令形式(機械語、マシン語)に翻訳する必要があります。
翻訳の方法には、逐次解釈しながら実行するインタープリタ (perl, Ruby, Python,など) と、事前に翻訳(コンパイル)するコンパイラ (C, C++, Fortranなど) があります。
科学技術計算には、処理速度の速いコンパイラが多く使われています。
7.1 コンパイル方法
7.1.1 分散並列型クラスタシステム (Type A)、大規模共有メモリ型システム (Type B)
Type A, Bでは、Fortran, C, C++が利用できます。
フロントエンドサーバには、Intel Compilerが導入されています。
- ifort (Intel Fortran Compiler: Fortran 77 90 95 2003などの言語仕様をサポートしています)
- icc (Intel C Compiler: C及びC++をサポートしています)
フロントエンドサーバでコンパイルしてください。
各コンパイラのコマンドは、以下の通りです。
Fortran コマンド: ifort [各種オプション] プログラムソースファイル名 コンパイル例:ifort -o testprog1 testprog.f90 C/C++ コマンド: icc [各種オプション] プログラムソースファイル名 コンパイル例:icc -o testprog1 testprog.c
7.2 実行方法(インタラクティブ)
詳しくは、利用の手引きをご覧ください。
小規模なプログラムや並列化されていないプログラム、 対話型のプログラムは、インタラクティブに実行してください。
ただし、大規模な計算や長時間の実行は、 他の利用者やアプリケーション実行に支障が出る場合がありますので、 バッチキューに計算ジョブを投入するよう、お願いします。
インタラクティブ実行 (カレントディレクトリにある実行ファイル「program」を実行) ./program ※ 明確にディレクトリパスを指定すること。 この例では「./」(カレントディレクトリ)を指定している。
大規模な計算をインタラクティブに実行する必要がある場合は、 一度、情報総合センターにご相談ください。
7.3 実行方法(バッチシステム)
多くのユーザが効率よく計算資源を使うために、バッチシステムを使って 計算ジョブを実行します。
バッチジョブ投入コマンドとオプション、およびバッチジョブスクリプトに 指定する埋め込みオプションの指定方法が違っていますので、ご注意ください。
- 基本的なバッチジョブ実行手順
- プログラムをコンパイルし、実行用プログラムを作成する
- バッチジョブスクリプトを作成する(エディタ)
- qsub コマンドでジョブを投入する
- qstat コマンドでジョブの状態を表示する
qsub ジョブスクリプト名
7.3.1 クラスタシステム
バッチシステムでは、プログラムの実行手順や実行環境、使用する コンピュータ資源などをバッチジョブスクリプトに記述する必要があります。また、qsub コマンドのオプション指定を行うことができます。
ジョブ実行コマンドで、いくつものオプションを入力する手間が無くなります。
バッチスクリプト記入例
Type A, B (PBS-Pro)の場合は、“#PBS”
に、オプションを記述します。
スクリプトの記述は、基本的に B シェルの書式に従いますが、 gaussian, IMSL などを利用する場合は、C シェルとなります。
環境変数の指定などが、C シェルとは異なりますので注意してください。
例)1ノード、28CPUコアを利用するMPIジョブ(キューsmallに投入)
#!/bin/sh ← 使用するシェルを指定 #PBS -q small ← 実行キューの指定 #PBS -l cpunum_job=28 ← 使用するCPUコア数の宣言 #PBS -N md-test ← ジョブに名前を付ける(必須) #PBS -l elapstim_req=1:00:00 ← 経過時間の宣言 #PBS -T sgimpt ← SGI MPTライブラリを使用したMPIプログラムの実行を指定 #PBS -b 1 ← 使用するノード数の宣言 #PBS -l elapstim_req=1:00:00 ← 経過時間の宣言 #PBS -j oe ← 標準出力,標準エラーを一つのファイルに #PBS -M hoge@affrc.go.jp ← ジョブ通知用のメールアドレス指定 #PBS -m ae ← ジョブ終了,中断時に通知メールを送る cd $PBS_O_WORKDIR ← ジョブを投入したディレクトリへ移動 mpirun ${NQSII_MPIOPTS} -np 28 ./test.exe ← 実行プログラム (SGI 環境での MPI ジョブは、mpirun を使うこと)
SGI MPT 環境でのMPIジョブの実行では、mpijob, mpiexec を使用しないでください。
ジョブ実行コマンド
スクリプトの中で指定したオプションは、コマンド実行時に指定を省略できます。
qsub job-script.sh
7.3.2 ジョブの確認と削除
投入した JOB がどの様な状態かを確認するには、qstat コマンドを使います。(下記例)
また、jobinfo コマンドで計算ノードの利用状況を確認することもできます。
norin@fe01 $ qstat Job id Name User Time Use S Queue ---------------- ---------------- ---------------- -------- - ----- 6073.fe00 test201 norin 219:18:1 R small 6179.fe00 testjob hogehoge 1205:33: R small 6194.fe00 procMPI tarou 4976:19: R large 6300.fe00 mpi-prog hanako 553:41:2 R large norin@fe01 $ qstat -u $USER Job id Name User Time Use S Queue ---------------- ---------------- ---------------- -------- - ----- 6073.fe00 test201 norin 219:18:1 R small norin@sxfe $ qstat -Ps RequestID ReqName UserName Queue Pri STT S Memory CPU Elapse R H M Jobs --------------- -------- -------- -------- ---- --- - -------- -------- -------- - - - ---- 688.iox.cc.affr test-sx. hoge default 0 RUN - 4.95G 190938.27 100635 Y Y Y 1 691.iox.cc.affr testjob. norin default 0 RUN - 17.22G 404963.71 67860 Y Y Y 1 695.iox.cc.affr sx_test4 hanako default 0 RUN - 11.41G 62051.27 8128 Y Y Y 1 norin@sxfe $ qstat -Ps -u $USER RequestID ReqName UserName Queue Pri STT S Memory CPU Elapse R H M Jobs --------------- -------- -------- -------- ---- --- - -------- -------- -------- - - - ---- 691.iox.cc.affr testjob. norin default 0 RUN - 17.22G 404963.71 67860 Y Y Y 1
投入したジョブを削除するには、qdel コマンドを使用します。 qstat コマンドで job id, RequestID を確認し、ID を指定して qdel コマンドを実行します。
qdel 6073.fe00
8 関連リンク集
- 科学技術計算システム利用案内
- 科学技術計算システム FAQ
- 科学技術計算システムマニュアル
- 科学技術計算システムアプリケーション
- 科学技術計算システム Web チュートリアル
- 科学技術計算システムリモートデスクトップ利用案内
付録 A フリーなソフトいろいろ(参考)
R: オープンソースの統計解析システム
- Windows, MAC, Linuxなどで動作するフリーな統計解析システム (統計研修などでも使われている)
- 最近は、入門書、解説書など多くの参考図書があり、 S-PLUSとほぼ互換のため、S-PLUSに関する書籍も参考になる
- 農林水産関係の研究機関にも、Rに詳しい方がいる
- 租界Rの門前にて:農業環境技術研究所 三中さん
- R-Tips(舟尾さん)のHTML版を管理:中央農業総合研究センター 竹澤さん
SciLab, Octave: 数値計算、行列演算パッケージ
- UNIX, Mac, MS-Windowsで動作するフリーの MATLABライクな数値演算システム
- 行列の固有値計算、各種シミュレーション、 最適化計算、 制御系設計、信号処理等
Maxima: 汎用数式処理システム
- Windows, MAC, Linuxなどで動作するフリーなComputer Algebra System
- 数式の展開,因数分解,微分,積分,線型方程式や3次方程式, 非線型方程式など
その他のフリーソフト
https://itcweb.cc.affrc.go.jp/affrit/faq/tips/freesoft
注意:情報総合センターでは、フリーソフトのサポートはできません。