IPCInformation
Processing
Center

総合情報処理センタークリップボード<その ＜その17> 17＞

総合情報処理センター
内 線 7474
E‑mail center@cc.kagoshima‑u.ac.jp
http://w3.cc.kagoshima‑u.ac.jp/
URL
監修 広報専門委員会

研究利用サーバ群でのプログラム開発
研究利用サーバ群では、ホストによって利用できるプログラミング言語が異なります。また、マシンのアーキテクチャが異なるため、コマンド名も同じではありません。以下に言語別にプログラミング言語の使用法について説明します。

FORTRAN/C/C++
FORTRAN/C/C++は kinkoh、syohko、ohara で使用できます。このうち、kinkoh と syohko は同じアーキテクチャのホストなので、実行ファイルの形式が同じです。どちらかでコンパイルした実行ファイルは他方でも実行可能です。各ホストの FORTRAN、C、C++コンパイラは以下の通りです。
ホスト FORTRAN

CC++

kinkoh /opt/FSUNf90/bin/f90/opt/FSUNf90/bin/fcc/opt/FSUNf90/bin/FCC

syohko /opt/FSUNf90/bin/f90/opt/FSUNf90/bin/fcc/opt/FSUNf90/bin/FCC

ohara/opt/ansic/bin/cc/opt/aCC/bin/aCC/opt/fortran90/bin/f90

環境設定
プログラム言語を使用するには、コンパイラのパスを.cshrc などに追加しておく必要があります。
具体的には、/opt/FSUNf90/bin, /opt/fortran90/bin, /opt/ansic/bin, /opt/aCC/bin をパスに追加することになります。また、アセンブラ(as)やリンカ(ld)が含まれる/usr/ccs/bin もパスに追加してください。
また、コンパイルしたファイルの実行には特に指定しない限り動的リンクが利用されますので、動的リンクに用いられるライブラリのパスを環境変数 LD_LIBRARY_PATH に指定してください。.cshrc での設定例は以下の通りです。
set path = ( /opt/FSUNf90/bin /opt/fortran90/bin¥/opt/ansic/bin /opt/aCC/bin /usr/ccs/bin $path )setenv LD̲LIBRARY̲PATH /opt/FSUNf90/lib:/usr/lib:/usr/openwin/lib:/usr/4lib:¥/usr/ccs/lib:/usr/dt/lib:/usr/local/lib:${LD̲LIBRARY̲PATH}
setenv LD̲LIBRARY̲PATH̲64 /opt/FSUNf90/lib/sparcv9

オンラインマニュアルを参照するには、コンパイラのオンラインマニュアルを環境変数MANPATH に加えてください。.cshrc での設定例は以下の通りです。
setenv MANPATH /opt/FSUNf90/man:¥/opt/fortran90/share/man:/opt/ansic/share/man:/opt/aCC/share/man:$MANPATH
コンパイル
kinkoh と syohko で実行するためには kinkoh で以下のコマンドを実行します。
言語

kinkoh でコンパイルsyohko でコンパイル

FORTRAN f90 filename.f

bsub ‑Ip ‑m syohko f90 filename.f

Cfcc filename.cbsub ‑Ip ‑m syohko fcc filename.c

C++

FCC filename.cc

bsub ‑Ip ‑m syohko FCC filename.cc※syohko でコンパイルしたい場合は bsub で会話処理のジョブを syohko に投入します。このとき‑Ip とすることで疑似端末を作成してコンパイラが動作します。この方法を用いると Ctrl+C でコンパイルを停止させることができるようになります。誤ったオプションに気づいた場合などに便利です。

FORTRAN コンパイラは kinkoh と syohko にそれぞれ同時実行数 1 のライセンスとなっています。
他のユーザーがコンパイル中の場合は実行中のコンパイル作業が終了した後、自動的にコンパイルが開始されます。
巨大なソースファイルをコンパイルする場合など、コンパイルに時間がかかりそうな場合は、bsub ‑q B syohko ‑o %J.out f90 filename.fのように、バッチ処理としてジョブを投入するのがよいでしょう。
ohara で実行するためには、以下のコマンドでコンパイルを実行します。
言語

会話処理

バッチ処理

FORTRANbsub ?Ip ‑m ohara f90 filename.f

bsub ‑q B ‑m ohara ‑o %J.out f90 filename.fCbsub ?Ip ‑m ohara cc filename.cbsub ‑q B ‑m ohara ‑o %J.out cc filename.cC++bsub ?Ip ‑m ohara aCC filename.cc bsub ‑q B ?m ohara ‑o %J.out aCC filename.cc

ohara では同時実行数 3 のライセンスとなっています。最適化
プログラムを高速に実行するための最適化のオプションは以下の通りです。アルゴリズムやプログラムの記述方法によっては必ずしも最速であるとは言えませんが、通常用途であれば以下のオプションが最適です。詳細はオンラインマニュアルを参照してください。
言語

kinkoh/syohko

ohara

ohara(自動並列化)

FORTRANf90 ?Kfast

f90 +O3

f90 +O3 +OparallelC

fcc ?Kfast

cc +O4

cc +O4 +OparallelC++

FCC ?Kfast

aCC +O4

aCC +O4 +Oparallel※ohara で自動並列化を行うオプションをつけてコンパイルした場合、最大８倍の速さでプログラムが動作します。
CPU 時間が８倍となりますので、料金が８倍となります。料金の節約にはなりませんが、時間の節約にはなります。
ただし、デフォルトでは８つ全ての CPU を占有してしまいますので、他の利用者の計算の妨げになる場合もあります。MP̲NUMBER̲OF̲THREADS 環境変数を使って使用する CPU 数を指定できますので、.cshrc 中などで指定して下さい。最大 4 つの CPU に設定するには以下の記述を.cshrc に加えます。

setenv MP̲NUMBER̲OF̲THREADS 4

PascalPascal コンパイラは kinkoh と syohko で使用できます。kinkoh と syohko は同じアーキテクチャのホストなので、実行ファイルの形式が同じです。どちらかでコンパイルした実行ファイルは他方でも実行可能です。
環境設定
Pascal コンパイラは、/opt/SUNWspro/bin/pc です。.cshrc などで/opt/SUNWspro/bin をパスに追加しておいてください。また、アセンブラやリンカが含まれる/usr/ccs/bin もパスに追加しておいて下さい。.cshrc での設定例は以下の通りです。
set path = ( /opt/SUNWspro/bin /usr/ccs/bin $path )setenv LD̲LIBRARY̲PATH /opt/SUNWspro/lib:${LD̲LIBRARY̲PATH}
コンパイル
kinkoh と syohko で実行するためには kinkoh で以下のコマンドを実行してください。

言語

kinkoh でコンパイルsyohko でコンパイル

Pascalpc filename.p

bsub ?Ip ‑m syohko pc filename.p

Pascal コンパイラは kinkoh と syohko にそれぞれ同時実行数 1 のライセンスとなっています。
COBOL
COBOL コンパイラは syohko で使用できます。kinkoh と syohko は同じアーキテクチャのホストなので、実行ファイルの形式が同じです。コンパイルした実行ファイルは kinkoh と syohko、どちらでも実行可能です。
環境設定
COBOL コンパイラは、/opt/SUNWnsun/bin/cobol です。.cshrc などで/opt/SUNWnsun/bin をパスに追加しておいてください。また、アセンブラやリンカが含まれる/usr/ccs/bin もパスに追加しておいて下さい。そのほか、COBOL の実行に必要な環境変数等の設定を以下のように行ってください。
setenv PATH /opt/SUNWnsun/bin:/usr/ccs/bin:${PATH}
setenv MANPATH /opt/SUNWnsun/man:${MANPATH}
setenv LD̲LIBRARY̲PATH /opt/SUNWnsun/lib:/usr/dt/lib:/usr/openwin/lib:¥${LD̲LIBRARY̲PATH}
setenv NLSPATH /opt/SUNWnsun/lib/nls/%l/%c/%N.cat:/opt/SUNWnsun/lib/nls/C/%N.cat
setenv XUSERFILESERCHPATH /opt/SUNWnsun/lib/app‑defaults/%L/%N:¥/opt/SUNWnsun/lib/app‑defaults/%Nsetenv PSTAFF /opt/SUNWnsun/config/mkinc
コンパイルコンパイルは以下のように会話処理のジョブを syohko に投入することで行います。
言語

syohko でコンパイル

COBOL

bsub ?Ip ‑m syohko cobol ?M filename.cob

COBOL コンパイラは同時実行数 1 のライセンスとなっています。
by 総合情報処理センター