3P107

大規模データパスプロセッサによる分子積分計算(九州先端研 a , 九大院シス情 b )○本田宏明 a , 片岡 広志 b , MEHDIPOUR Farhadb , 井上弘士 b , 村上和彰 a,b【はじめに】
近年のトランジスタ技術の発展により，数十億トランジスタをワンチップに搭載することも夢ではなくなりつつある。これに対し，Pentium に代表されるようなスカラ型プロセッサでは豊富なトランジスタ資源を少数の算術演算回路と大量のオンチップメモリに使用している。これは，プロセッサの動作周波数と主記憶のデータアクセス遅延の性能差があまりに大きいというメモリーウォール問題が原因となっており，主記憶から高速にアクセス可能なオンチップメモリに一旦データを保存し、実際の計算ではオンチップメモリ上のデータに対し計算するという手法が採られている。
一方、計算におけるデータアクセス回数そのものを削減できないか？という目的のもと、次節に説明する新規のデータパス型プロセッサが提案され、実現に向け研究がすすんでいる 1 。
分子軌道法計算等の大量の算術計算を行う際には，計算を通して大量のデータアクセスが必要となる。もしもデータアクセス回数を大幅に削減可能となれば，必然的に主記憶へのアクセス回数も削減され、大規模分子軌道法計算がより高速に実行可能となる。
【大規模データパスプロセッサ】
データアクセスの削減手法として現在コンピュータアーキテ-./-012345
クチャの研究分野にて提案されている一つの方法が図 1 の大規
67&8
模データパスプロセッサ (LSRDP: Large Scale ReconfigurableData Path) である。プロセッサ内部においては大量の浮動小数9:,(;<+=>(?
@A)B+$CDEFG
点演算器が 2 次元配列状に配置され，演算器と演算器の間を直接$#"!に配線された形となっており，ある演算器の出力がそのまま次の演算器の入力となっている。入力データが図の下側からプロセッ!"#$%&'()*
サに供給され，内部の演算器を通り抜け上部の出力部分に到達する間に計算が行われる。計算のロジックは演算器の配置ならびに!"#$%&'()*+,+
配線の仕方によって決まるが、これは動的に再構成可能である。
この各演算器の出力を直接に次の演算器の入力とするデータパス構成を採用することで、通常の計算で必要となる計算途中の 図 1: 大規模データパスプロセッサメモリアクセスの削減が可能となる。また、汎用プロセッサとともに計算のアクセラレータとして使用されることで、偏微分方程式の差分法等において有効な計算が可能であるとの報告がなされている 2 。現在のところ演算器種類は ADD/SUB ならびにMUL のサポートであるが、将来の LSI プロセス技術の発展により種々の初等関数もサポート可能と考えられている。

#!"!#!$!%%"$

図 2: データフローグラフ

このプロセッサに対しソフトウエアを作成するには、計算ロジックをデータフローグラフという形で記述し (図 2 参照)、LSRDP へとマッピングする必要がある。現在専用コンパイラを作成中であるが、Fortran や C などによって通常に記述されたコードから効率の良いデータフローグラフを抽出するのは困難である。
【研究目的】
そこで本研究では，分子軌道法計算，特にそのボトルネックともなっている分子積分計算についてのデータフローグラフを作成し、性能評価実験により実行時間の見積りを行うことで，効率的で有用な分子積分計算やフォック行列計算が可能であるか否か，新規アルゴリズムが考えられないか?
等の考察を行うことを目的とする。

【各種分子積分計算に対するデータフローグラフの作成】
小原の漸化表式 3 に基づき各種分子積分についてデータフローグラフを作成した。計算の入力については積分種類毎に異なるが，電子反発積分の場合には 4 つの原始関数の軌道指数 ζa , ζb , ζc , ζdや, 関数中心座標 A, B, C, D の各成分からなる計 16 個の倍精度浮動小数点数が必要である。出
力については (ss, ss) ∼ (pp, pp) について 1∼ 81 成分の倍精度浮動小数点となる。浮動小数点演算量については、 (ss, ss) が 122 演算，(pp, pp) では 全成分の計算について初期積分+漸化計算で122+1004 演算となる。
出力成分数が多く演算数が多い (pp, pp) 以上についてはデータフローグラフが大きくなりすぎるため、計算ロジックのすべてを物理的なサイズに制限のあるデータパスプロセッサ上に展開することは難しくなると考えられる。この場合には出力からのデータ依存関係を考慮することで垂直に分割された小さなデータフローグラフを作成した。(図 3 参照)【性能評価実験】
LSRDP に対する各種積分の性能評価実験を行なった。今回は汎用プロセッサ (GPP) に LSRDPを接続した環境を仮定し、GPP についてはクロックサイクルレベルシミュレーター、LSRDP 部
分については性能モデル式を使用することで実行時間の見積りを行った 2 。GPP の動作周波数は3.2GHz、再構成のための実行時間は 1 クロックサイクル (CC)、主記憶へのデータアクセス遅延は300CC (DMA 転送モードもサポート)、データ転送バンド幅を 102.8GByte/sec. とした。
2 電子フォック行列計算について GPP のみで行った場合と、2 電子積分の漸化計算のみを LSRDPを使用し他の部分は GPP にて計算した場合の現状での実行時間の比較を図 4 に示す。入力は C4 分子について DZV の計算とした。LSRDP 化部分を漸化計算に限定しているのは ADD/SUB/MULのみにて計算が可能なためである。
その結果、LSRDP を使用することにより約 88% と実行時間が削減されたものの、初期積分計算が大半を占める汎用プロセッサでの計算時間 Tgpp や計算のオーバーヘッドに対応する Trearr , Ttra
により大きな性能改善には至っていない。計算のオーバーヘッド部分については計算アルゴリズムの改善の余地があるが、初期積分計算についても LSRDP による計算が必要であり、現在新規のアルゴリズム作成について検討している。
他の積分タイプについての結果等については当日報告する。

!": 28#!": 81$%": 1004&!%()*+,-.
(/)0()*0))(1/(+02(344!$

Vertical Partitioning!": 24#!": 1$%": 108!#!"!!

図 3: (pp, pp) の漸化計算に対するデータフ
ローグラフとその垂直分割
1&$'"#$%!

図 4: 汎用プロセッサのみと大規模データパス併用との 2 電子フォック行列の計算時間の比較

F.Mehdipour et al.,Proceedings on Workshop on Accelerators for High-performance Architectures (WAHA09),

Yorktown, Jun. 2009.
2片岡 広志 他, 電子情報通信学会研究報告, CPSY2008-35, Vol.108, No.273, pp.35-40, Oct. 2008.

3

S.Obara and A.Saika, J.Chem.Phys., Vol.84, pp.3963-3974, 1986.