このページはアーカイブコンテンツです。
最新の情報は、科学技術計算システム(2021)へアクセスしてください。
農林水産研究情報総合センター(以下、「情報総合センター」)では、スーパーコンピュータや、 科学技術計算アプリケーションが利用できる計算機資源を提供しています。 これらの計算機システムを「科学技術計算システム」と呼んでいます。
情報総合センター登録ユーザであれば、ご利用いただけます。
科学技術計算システムでは次のサービスがご利用いただけます。
「科学技術計算システム」を利用するには、利用登録が必要です。
利用登録が済むと、現在メールでご利用のID(ログイン名)とパスワードで 科学技術計算システムの各アプリケーション・計算サーバにログインして ご利用できるようになります。
利用申請はWeb上からお申し込みいただけます。
ネットワークサービスシステム(https://nss.sys.affrc.go.jp/)から [利用者情報]の[システム利用申請]で当該項目をチェックして申請下さい。
一般の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) による分散並列計算用クラスタシステムです。 |
256個のコア(16 cores × 16 CPU)を搭載した共有メモリ型の計算機で、コンパイラによる自動並列化機能やOpenMP 2) により、ノード内並列計算を行います。
科学技術計算システムは、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 |
*赤字は、ログイン可能 |
ユーザ領域のディレクトリ
ホームディレクトリ(ログインディレクトリ)
/home/username 例 : /home/norin
計算用ワークディレクトリ
分散並列型クラスタシステム(Type A)、大規模共有メモリ型システム(Type B)用ワークディレクトリ(Lustre File System)
/lfs/username 例 : /lfs/norin
リモートログインはSSH6)をご利用ください。
ファイル転送は SCP, SFTP7) をご利用ください。リモートデスクトップ(VNC)のファイル転送機能や Rstudio Server のファイル転送機能を利用することも可能です。
VNC クライアント(VNC Viewer)をインストールすることで、フロントエンドサーバの機能を GUI(Graphical User Interface)で操作することが出来ます。
特に、遠隔地から X Window を使ったアプリケーションを利用する場合、利用者のパソコンに X サーバソフトを導入して操作するよりも、多くの場合、高速に動作します。
大規模な計算を実行する等、スーパーコンピュータの利用は、主に端末からコマンドで操作する CUI(Character User Interface)での利用が多いため、SSH 等のターミナルソフトで直接ログインした方が、使い勝手が良いでしょう。
1. VNC クライアント(VNC Viewer)をダウンロードし、任意のフォルダに置いて、ご利用ください。
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」をクリックして終了します。
科学技術計算システムは、UNIX(Linux)系のOSで構成されており、 X Window System を利用するアプリケーションが導入されています。 利用者の PC にインストールし、ライセンス参照して利用するアプリケーションもあります。
利用者の PC にインストールしてライセンス参照するアプリケーションについては、AFFRIT Portal の登録ユーザ向けのアプリケーション利用案内等を参照し、インストールメディアの貸し出しをお申し出ください。
X Window System を使ったアプリケーションを利用するには、以下のような方法があります。 また、アプリケーション利用の流れを、SAS を例にして説明します。
数値計算や統計解析が目的で、特に SAS など導入されたアプリケーションに こだわらない場合は、フリーソフト(R, Scilab, Octave, Maxima など)を導入し、 お手元のパソコンで解析を行うことも可能です。
情報総合センターのシステムへ、ファイルを転送するなどの手間が不要となります。
科学技術計算システムにも、R や Octave などのオープンソースソフトウェアが導入されています。パソコンで作成した全てのプログラムが動作するとは限りません。 また、プログラムの実行がパソコンより速くなることはありません。 しかし、同時に多数の計算を平行して実行したり、並列化することで、処理時間が短くなる可能性があります。
なお、フリーソフト等の利用について、情報総合センターでのサポートは出来ません。
X Serverソフトを使ってSASを利用するには・・・
もともとローカルエリアでの利用を想定していた X Window は、 通信経路上のデータが暗号化されていないなど、セキュリティ面で問題があります。 SSH の X11 Port Forwarding 機能を利用して暗号化することにより、 広域のネットワークでも X Window アプリケーションを安全に利用することができます。
実際の操作については、それぞれ使用するツールによって異なりますが、 操作の内容は、Windows、Mac、UNIX(Linux) 系など、どれも基本的には同じです。
Windows PCで、X ServerソフトとしてXming、SSHターミナルとしてPuTTYを 使ってアプリケーションを起動するまでの手順を示します。
Xming, Cygwin/X など、一部の X Server ソフトでは、パソコンのキーボードで [Num Loack] が有効になっていると、一部のキーが効かない、マウス操作ができないなどの不具合が出る場合があります。 [Num Lock] を Off で利用することをお勧めします。
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 を参照してください。
インストール方法及び簡単な利用方法については、AFFRIT Portal に資料を掲載 (https://itcweb.cc.affrc.go.jp/affrit/inside/amo) していますので参照してください。
インストールが終了すると、EXCEL に [SAS] のタブが表示されるようになります。
もし、インストール時に不具合があり、正常にインストールできなかった場合は、一旦アンインストールしてから、再インストールする必要があります。
SAS Add-In は、科学技術計算システムのSAS用のサーバに接続します。 接続は、MAFFIN(150.26.0.0/16) のネットワーク内部に制限しています。
利用する場合は、科学技術計算システムの利用登録が必要です。
科学技術計算システムは基本ソフト(OS)にUNIX(Linux)を使っていますので、 UNIXの基本的なことを知って頂くと、より効率的に利用することができます。
SASの利用法で紹介したように、SSHターミナルソフトを利用して、 システムに接続することを「ログイン」、接続解除することを「ログアウト」と 言います。
ログイン可能なサーバは、フロントエンドサーバ (scion.cc.affrc.go.jp) です。
フロントエンドサーバからログアウトするには、exit コマンドを入力します。(CTRL + D 「CTRLキーを押しながらDを押す」でもログアウトできます。)
norin@fe03 $ exit
norin@fe03 は、プロンプト(コマンドの入力待ち状態)ですので、exit と入力して、[Enter] キーを押します。
WindowsやMacなどGUI環境に慣れた方にとっては、コマンド操作は 覚えることが多く、直感的な操作ができないため不便に感じるかも しれません。
プログラムの作成や実行に必要なファイル操作を中心に、 主なコマンドを紹介しす。
ディレクトリのファイルリストを表示する (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: make directory)
使用例:work/と言うディレクトリを作成する。
mkdir work
ファイルやディレクトリをコピーする (cp: copy)
使用例:cow2b.sas を cow3.sas というファイル名でコピーする。
cp cow2b.sas cow3.sas
使用例:cow2b.sas を work というディレクトリにコピーする。
cp cow2b.sas work
ファイルを移動する(ファイル名を変更する) (mv: move)
使用例:cow3.sas をwork というディレクトリに移動する。
mv cow3.sas work
カレントディレクトリ13)を変更する(cd: change directory)
使用例:カレントディレクトリを work に移動する。
cd work
使用例:上位のディレクトリに移動する。(.. は親ディレクトリの意味)
cd ..
使用例:ホームディレクトリに移動する。(/home/ログイン名)
cd
現在のディレクトリ(ワーキングディレクトリ)の名前を表示する (pwd: print working directory)
使用例:
norin@fe03 $ pwd /home/norin/work
ファイルを削除する (rm: remove)
使用例:cow3.sas を削除する
rm cow3.sas
空のディレクトリを削除する (rmdir: remive directory)
使用例:work ディレクトリを削除する。
rmdir work
テキストを一画面ずつ表示する
画面表示行数よりも多いテキストファイル等を、一画面ずつ表示することが出来ます。
表示されている画面の続きを見るには、「スペースキー」を押します。 終了するには、「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 コマンドは表示機能として 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
テキストファイルの日本語コードを変換する
日本語が含まれているファイルを取り扱う場合は、文字コードを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
ファイルとはデータを保存しておくための書庫のようなものです。
ディレクトリは特別なファイルで、その中にファイルやディレクトリを格納することができます。
WindowsやMacintoshでフォルダと呼ばれているものがディレクトリにあたります。
UNIX のファイルシステムはツリー構造となっており、
頂点をルートと呼び「/ (スラッシュ)」で表されます。
現在、ユーザーがいるディレクトリのことをカレントディレクトリと呼びます。
ログインした時点では、ホームディレクトリと呼ばれる自分専用のディレクトリが
カレントディレクトリとなります。
ディレクトリを指定せずにファイルやディレクトリの操作 (cp,mkdir 等コマンド操作) を
行った場合には、通常カレントディレクトリでの作業として処理が行われます。
カレントディレクトリは「.
」で表されます。
階層が1つ上のディレクトリ(親ディレクトリ)は、「..
」で表します。
ルートディレクトリから指定したいファイルディレクトリまでの ディレクトリ名をスラッシュ(/) で区切って指定したものが 絶対パスでの指定方法です。
現在のカレントディレクトリを基準として、指定したいファイルや ディレクトリを指定する方法です。
例:絶対パスでの指定 /home/norin/work/hoge.txt 例:相対パスでの指定 workディレクトリ配下のファイル hoge.txt work/hoge.txt カレントディレクトリのファイル hoge.txt ./hoge.txt
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行の削除となります。
プログラミング言語で書かれたプログラムをコンピュータが実行するには、コンピュータの命令形式(機械語、マシン語)に翻訳する必要があります。
翻訳の方法には、逐次解釈しながら実行するインタープリタ (perl, Ruby, Python,など) と、事前に翻訳(コンパイル)するコンパイラ (C, C++, Fortranなど) があります。
科学技術計算には、処理速度の速いコンパイラが多く使われています。
Type A, Bでは、Fortran, C, C++が利用できます。
フロントエンドサーバには、Intel Compilerが導入されています。
フロントエンドサーバでコンパイルしてください。
各コンパイラのコマンドは、以下の通りです。
Fortran コマンド: ifort [各種オプション] プログラムソースファイル名 コンパイル例:ifort -o testprog1 testprog.f90 C/C++ コマンド: icc [各種オプション] プログラムソースファイル名 コンパイル例:icc -o testprog1 testprog.c
小規模なプログラムや並列化されていないプログラム、 対話型のプログラムは、インタラクティブに実行してください。
ただし、大規模な計算や長時間の実行は、 他の利用者やアプリケーション実行に支障が出る場合がありますので、 バッチキューに計算ジョブを投入するよう、お願いします。
インタラクティブ実行 (カレントディレクトリにある実行ファイル「program」を実行) ./program ※ 明確にディレクトリパスを指定すること。 この例では「./」(カレントディレクトリ)を指定している。
大規模な計算をインタラクティブに実行する必要がある場合は、 一度、情報総合センターにご相談ください。
多くのユーザが効率よく計算資源を使うために、バッチシステムを使って 計算ジョブを実行します。
バッチジョブ投入コマンドとオプション、およびバッチジョブスクリプトに 指定する埋め込みオプションの指定方法が違っていますので、ご注意ください。
qsub ジョブスクリプト名
バッチシステムでは、プログラムの実行手順や実行環境、使用する コンピュータ資源などをバッチジョブスクリプトに記述する必要があります。また、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
投入した 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
https://itcweb.cc.affrc.go.jp/affrit/faq/tips/freesoft
注意:情報総合センターでは、フリーソフトのサポートはできません。