理論グループのミーティングの報告
第五回

日時:97/06/03
場所:斉藤理一郎助教授教官室西5-517

GSの構成について議論した。 GS内部の計算時間はパイプラインなどによって短縮できるため全体の計算時間は ほとんどメモリとGS間のデータ転送速度によって決定されると考えられる。 一般のコンピュータでは小容量の高速メモリと大容量の低速メモリを組み合わせて、 コストダウンと全体の速度の向上を図るが、これは、処理するデータが頻繁に使われる ものと比較的に頻繁に使われないものに分かれていて、かつ頻繁に使われるデータ の量が高速メモリに入れる場合に限って意味がある。ハウスホルダ変換や逆変換等 の計算は、全てのデータが同じ頻度で使用されるため、このようなメモリ構成の メリットは見込めない。大容量メモリの使用は避けられない。 GSのベクトル・レジスタについて n次の正方行列AとBの積(ハウスホルダ変換と逆変換も行列積の計算と見なせる)を計算 する際、AとBの全ての成分はn回使われる。Aの行ベクトルをそれぞれ、 a1, a2,...,an とし、Bの列ベクトルをそれぞれ b1, b2,...,bn とすると、行列C=A×Bの第一列は c11 = a1b1 c21 = a2b1 . . . cn1 = anb1 つまり、Cの第一列c1を計算する時、列ベクトルb1をGSの内部に置く ことができればデータの転送時間はほぼ半分に減る。しかし、 b1全体を保存できるようなベクトル・レジスタは実現するのは 難しい(n=10000,倍精度浮動小数点数の場合は 10000×8 = 80 [kbyte]の大きさ のレジスタが必要)。そこで、AとBを次のように分割すれば、必要なベクトル・ レジスタの大きさを小さくできる。 A => A11 A12 ... A1m B=> B11 B12 ... B1m A21 A22 ... A1m B21 B22 ... B2m ...... ..... Am1 Am2 ... Amm Bm1 Bm2 ... Bmm のようにAとBをm2個の小行列に分割すれば、積Cもm2個の小行列 C11 C12 ... C1m C21 C22 ... C2m ..... Cm1 Cm2 ... Cmm に分割できる。 A,B,Cの小行列の間に Cij = Σml=1Ail×Blj ------ [1] の関係がある。従って、Ail,Bljの行(列)ベクトルがGSのベクトル・レジスタに入れる 大きさまでAとBを分割すれば、計算時間の短縮が見込まれる。但し、分割操作と[1]の 計算を実行しなければならないので、GLの構造とアルゴリズムがかなり複雑になる。
CQ出版社から購入したボードに接続するドータ・ボードを作るための部品について松尾 君が説明した。 7セグメントLED : アノードコモン(各LEDの陽極が+電源端子に接続されるタイプ) NOT ドライバ : フラットケーブル : 線が50本のタイプ その他 : 抵抗、ソケット、電源線に接続する電解コンデンサ、 セラミックコンデンサ等

戻る