next up previous contents index
Next: 7.3 Altix3700(東京大学物性研究所) Up: 7 計算機環境の違いについて Previous: 7.1 SR8000(東京大学物性研究所)


7.2 SR11000(東京大学物性研究所)

(a)
一般的な計算手順は、同研究所が作っている計算機のマニュアルを参考にする。 CPVOのプログラムは、通常のUNIXを用いたシステムで、フロントエンドプロセッサー 上(ログインした計算機)で計算する方法をこれまで念頭において説明を行ってきた。

(b)
コンパイルについて
多くの大型計算機センターと同様に、キューイングシステムにより 計算ジョブをフロントエンドプロセッサーからバックエンドプロセッサーに 投入する方法で計算を行う。ノード内に多数のプロセッサーをもった計算機であり、 いろいろな計算方式で、計算することが可能となっている。その方法を下表に まとめた。 SR11000の場合、ノード内の並列化計算やノード間の並列化計算を行うことが 可能であるが、ノード間の並列化は、MPIにより実現することができる。 ノード内の並列は、いろいろは方法が可能であるが、CPVOコードでは、現在 自動並列化とMPI並列化の2種類の計算を行うことができる。この2種類を ノード間並列化とも組み合わせて実行することが可能である。CPVOでは、 実際4種類の計算方式
(1)シングルノードのノード内自動並列化計算方式
(2)シングルノードのノード内MPI並列化計算方式
(3)マルチノードのノード内自動並列化計算方式
(4)マルチノードのノード内MPI並列化計算方式
に対応して、4種類のコンパイルを行うようにしている。source/Makefileを目的の計算方式に合わせて設定し、各方式毎にコンパイル するようになっている。実行形式ファイルは、方式毎に異なるディレクトリに 格納されるようにする。

  計算方式 実行形式の格納場所 コード exstyle numcpu    
(1) シングルノード、自動並列 source/BIN_sr11_sn_auto cpvos.x s N    
(2) シングルノード、MPI並列 source/BIN_sr11_sn_mpi cpvop.x p 1    
(3) マルチノード、自動並列 source/BIN_sr11_mn_auto cpvop.x p N    
(4) マルチノード、MPI並列 source/BIN_sr11_mn_mpi cpvop.x p 1    

(c)
入力ファイルの設定について
exstyle, numcpuは、cpvo.shで設定するものであり、上記いずれの 場合にも、正しい値を設定する必要がある。表中のNは、1$\sim$16の整数で、 ノード内の自動並列度数を指定する。 その他に、cpvo.shで物性研の計算で注意する設定は、srcdir, drvname, frtの設定である。srcdirは、表中の実行形式の 格納場所を指定する。drvnameには、sr11kを指定する。 frtにはftを指定する。

物性研でにジョブ投入は、JCF(ジョブコントロールファイル)をサブミットすることに より実行する。計算方式に応じて、CPVO用のJCFを用意している。 ディレクトリJCFinSR11000/の中に置かれている。 マルチノード、MPI並列の場合ならば、jcf.mn_mpi というファイルを作業ディレクトリにコピーして使用する。

(d)
JCFの設定について
JCFでは、キュージョブの選択、計算時間制限等の指定の他に、プロセスの数に 関係した指定に注意する。 24個のプロセス(並列度数24)を使って、2ノードで 計算する場合に、マルチノードのMPI並列計算方式では、
# @ node=2
# @ total_tasks=16
# @ resources=ConsumableCpus(1)
というように、指定指定する。いずれの方式でも、使用したいプロセスの数を total_tasksに指定する。(SR11000場合はnumcpuに指定するのでは ない) MPI並列を用いた3種類の計算方式のいずれの場合も、 ConsumableCpusの数値をcpvo.sh中のnumcpuと同一の 値に設定する。このConsumableCpusの数値とノード数nodeとは、
$\displaystyle ({\rm total\_tasks})*({\rm ConsumableCpus})/({\rm node})$ $\textstyle \le$ $\displaystyle 16$  

を満たすように設定する。並列計算では、波動関数など一部のメモリに関して メモリ分割を行っているが、各プロセスのメモリが大きくなる場合は、 大きなnodeを用いるようにすればよい。

(e)
ジョブの投入は、
%> llsubmit jcf.mn_mpi (return)
とする。 ジョブを監視するには、
%> qstat
等があるが、物性研のマニュアルを参考にしてほしい。 ジョブをキャンセルするには、qstatでジョブID job_idを知り、
%> llcancel job_id
とする。


next up previous contents index
Next: 7.3 Altix3700(東京大学物性研究所) Up: 7 計算機環境の違いについて Previous: 7.1 SR8000(東京大学物性研究所)
Copyright (C), Tatsuki Oda (oda@cphys.s.kanazawa-u.ac.jp, Kanazawa University)