PLAIN センターニュース第9号
 
前号へ 次号へ 宇宙科学企画情報解析センター ISASホームページ バックナンバー


第9号 1994年6月7日発行

目次


先頭へ


 

スーパーコンピュータとベクトル並列計算
第4回  ベクトル化と高速演算

 プログラムを工夫して効率よく、パイプラインを利用できるようにすることをベクトル化といいます。DO-loopを持つ形にできないプログラム、DO-loopの中でデータの読み書きをするもの、DO-loopのloop数がどう工夫しても5とか6とか小さな数にしかならないものはパイプライン処理の効果が発揮できず、結局スカラー計算機と同程度の性能しかでないことになります。しかし、多くの科学技術計算ではDO-loopが頻繁に登場しますので、ちょっとした工夫をすればかなりの高速化(例えばVPP500の1プロセッサでM1800と比べて10倍、20倍といった数字)が望めることになります。

 例えば、第1回に取り上げたプログラム、

 DO 10 J=1,JMAX
 A(J)=B(J)+C(J)
10CONTINUE
は演算がインデックスJごとに独立していますから、明らかにベクトル化できますし、JMAXが大きければかなり高速にパイプライン処理できます。

 しかし、演算の結果得られる値が右辺にも登場するような場合はそのままではベクトル化はできなくなります。

 例えばDO-loopの中に
A(J)=A(J-1)+C*B(J) 
などがあると、A(J)を求めるためにはA(J-1)があらかじめわかっていなければなりませんから、(A(J),J=1,JMAX)をパイプライン処理でほぼ同時に得ようとしているベクトル計算機は困ってしまいます(これをrecursiveといいます)。この場合などは、ベクトル計算向けに少しプログラムを工夫してやる必要があります。

 これ以外にベクトル化において注意すべきことは
 1)
負荷の高い計算処理の部分 をベクトル化の対象とする。
 2)
1番内側(このloopがベクトル処理される)のloop長が長くなるようにする。
 3)
IF文が内側loopの中にない形にプログラムを組む(IF文があっても複雑でなければベクトル化はできますが、性能は限定されます)。
 4)
DO loopを細切れにせずに1つのloopの中に多くのステートメントを入れる。
などとなります。さらに多くの工夫がありますが、それ程難しいものはありません。

 このようにプログラムを組んでおけば、スーパーコンピュータの優れたコンパイラーが勝手にベクトル化処理をして高速に演算してくれます(自動ベクトル化機能)。コンパイルのリストを見ると、ベクトル化されているloopにはVがついていますから、うまくベクトル化されたかどうかはわかります。簡単ですので、Do-loopをたくさん利用しているプログラムをお持ちの方は是非試していただきたいと思います。これでベクトル計算機に対するお話は終わりです。次回から並列計算についてお話ししましょう。
(藤井 孝藏) 


先頭へ


 

衛星運用と計算機(第四回)

 96年夏に初のMーV型ロケットで打ち上げが予定されているMUSESーBの一次噛み合せ試験が、6月から始まります。今回はこの試験で使用されるテレメトリサーバシステムの概要について紹介します。

B MUSESーB試験用テレメトリサーバシステム

 このシステムは、テレメータデータと時刻データを取り込むインタフェースボード(NEC製作)、ボードコンピュータHP742rt、インダストリアルワークステーションHP747iから構成され、各辺が50〜60cmの大きさの箱1つと、ディスプレイ1台、キーボードだけですので、普通の事務机に載るほどのものです。

 ボードコンピュータHP742rtでは
 1)
インタフェースボードのバッファからデータを読む。 読み込み単位は衛星毎に任意のワード数に設定できるので、現行のフレーム長(128ワード)と異なる衛星でも512ワード/フレームまで対応可能です。なお、テレメトリのビットレートが512Kbpsまで取り込めます。
 2)
フレーム毎に付加する日付、時刻、QD情報を編集。 時刻についてはフレーム同期にかかる遅延時間を差し引く補正を行ってます。
 3)
VMEバスで接続されているHP747iへソケットを使いデータを転送。
 インダストリアルワークステーションHP747iでは
 1)
HP742rtからデータを受信、DRの再生データについてはリアルタイムで時刻付けします。従って、このHP742rtから配信を受けて行うQLでは、再生データについても観測した日付、時刻が表示されます。
 2)
データの蓄積。DLはここで蓄積されたデータをアクセスして行います。
 3)
ネットワークに接続されているHP715/33へソケットを使いデータを転送します。
 転送実験では、HP747iが6台のHP715/33に対して、50個のソケットで65Kbpsのデータを転送した場合、CPU使用率は約50%で、ネットワーク負荷も全く問題ありませんでした。実際上は1CPUに1ソケットで分配しますし、MUSESーBでは再生データの転送32Kbpsが一番速いレートですので、充分に余裕を持って使えると考えてます。

 筆者は好運にもこれらのプログラム製作に参加でき、17本1400行のシェルスクリプト、21本13700行のCプログラムを作る貴重な体験をしました。それについては別に述べる機会があるかも知れません。

 次回はコマンドデータ、軌道データについて軽く触れたいと思います。
(周東 晃四郎)


先頭へ


 

スーパーコンピュータ VPP500/ 7 の説明会


6月22日(水)
午後1時30分より午後4時まで、
宇宙科学研究所・A棟1階「入札室」にて、並列計算機 VPP500 の利用説明会を行います。内容は、システム概要、ジョブの投入の仕方、並列プログラミングの方法などです。
(連絡先:星野真弘、 hoshino@gtl.isas.ac.jp)
(星野 真弘)


先頭へ


 

大型計算機に関するお知らせ

大型計算機の6月・7月の保守作業予定

M:システムメンテナンス

 ★
尚VPP500は保守作業の前日6月16日13時よりイニシエータを停止して、実行中のジョブが終了した後17日9時から作業に入ります。

 ○
レベルアップ(PTFアップ)による変更点
 レベルアップにより、BEP側の言語製品が今までのものに比較し性能改善・品質向上が計られたものに入れ替わります。

 ○
レベルアップ後の注意点
BEP側について
 @
ロ−ドモジュ−ル互換・ソ−ス互換はあります。但し今回の製品は従来のものに比べ性能向上・品質向上を実施していますので、再翻訳されることをお勧めします。
 A
ベクトル組み込み関数の改善及び精度向上を実施したことにより、演算結果に微妙な差が生じます。精度に敏感なプログラムではより大きな値のズレが生じることがあります。

GSP側について
 特にありません。
以上を予定しておりますので、よろしくお願いします。
(関口 豊)


先頭へ


編集発行:文部省宇宙科学研究所
宇宙科学企画情報解析センター
〒229 神奈川県相模原市由野台 3 -1-1 (Tel 0427-51-3911,内線 2611)