まずcpusにおけるジョブ投入のランクについて。
ログインしたすぐ後にランク表が表示されます。
ここで示されている処理時間、メモリを考慮して自分が投入するランクを決めることになります。
i) 環境設定
cpusの場合まずバッチ処理を行うための環境設定が必要になります。
ログインした後で、
cpus-f0[1]% source /usr/skel/lsf
と打ち込む必要があります。
これでバッチ処理が可能となります。
ただし、これは".login"ファイルに書き込むことで、常にバッチ処理が可能な環境とすることができます。
常に使う人でなくても、わざわざ打ち込むよりはこの方が楽だと思います。
windowsにおけるスタートアップ登録みたいなもんです。
ii) バッチスクリプトファイルの作成
さて、環境が整えば、まずバッチ処理のためのバッチスクリプトファイルを作る必要があります。これは、MS-DOSにおける*.BATファイルと同じです。
以下の例は、aho.fというファイルをコンパイルして、実行ファイルa.outを実行させるスクリプトファイルの例です。
#!/usr/bin/sh
f77 ./aho.f
./a.out > g
一行目は、マニュアル通りで、シェルの指定です。
二行目以下は、自分がバッチ処理させたいコマンドを打ち込んでいきます。
例では、"a.out"の後に" > g"というオプションをつけて、普通に実行させる際に画面上に書かれるものをgというファイルに保存させていますが、これは指定しなくても同様のファイルが勝手に作り出されます。
任意のファイル名を与えてスクリプトファイルを作ったら(windows上でエディタを使って編集してftpしてもよし、viで直接作成してもよし)ジョブ投入のコマンドを打ちます。ここで、スクリプトファイルのある場所と、実行コマンドのパスの関係を間違えないようにしてください。
iii) ジョブ関連コマンド
ジョブ関連のコマンドに関しては、cpusのマニュアルにはc90と異なるコマンドで書かれていたが、実際は同じコマンドが通じたので、ここではc90と同じコマンドを紹介する。
"ahojob"というファイル名のバッチスクリプトをランク"m"に投入する。
"-q"のオプションの後に投入したいランクを指定できます。
デフォルトは"s"ランクなので、指定がないと"s"に行きます。
ジョブの空き具合を見る。
ランクごとに現在の処理ジョブ数が表示されます。
% qstat -a | grep [login名]
自分が投入したジョブの実行状況を見る。
パイプコマンドの"| grep [login名]"を省くとすべてのユーザーの情報が出てきますが、あまり実用的ではありません。
また、このコマンドに関しては、マニュアル通りに
と入力する方が早いでしょう。
実行中のジョブを強制終了させる。
"qstat -a"や"bjobs"に表示されるジョブ番号を指定することで、強制終了させることができます。
また、ジョブが終了すると、"ahojob.e"と"ahojob.o"というファイルが作成されます。
前者はエラーメッセージなどが出力され、後者はinteractiveで動かした場合に画面に表示されるメッセージが出力されます。
c90の場合にはスクリプトファイル上でこのファイル名を指定できるのですが、cpus上ではまだうまくいってません。でも指定方法はあるはずです。見つけた方、教えてください。