研究概要 |
申請時に想定していたClearSpeed社のコプロセッサは、(1)64bit版Windows用のドライバが提供されないため大規模問題に向かないこと、一方(2)並列化のメリットが得られる行列サイズの次元が500程度以上であり、帯行列の帯半幅としては非常に大きめであることなどから、目的達成は困難であることが明らかになった。そこで、もうひとつの選択肢であるGPUによる計算環境の構築と予備実験を行っている。 帯行列アルゴリズムは、行列の幾何学的な特性を利用してメモリ上の格納領域を節約することが一番のポイントである。いっぽう、コプロセッサが高速化できるのはメモリ上の連続領域に格納されている密行列の積である。そこで、帯行列形式としてB(j-i,i)に格納されているi行j列要素に対して、ホストプロセッサ上で (前処理)B(j-i,i)→WK(i,j) コプロセッサを用いた高速な密行列積 (後処理)WK(i,j)→B(j-i,i) というデータ変換が必要になる(変換行列は密行列として用意できる)。GPUをはじめとするコプロセッサは主記憶とは別の独立なメモリで演算を行うため、さらに主記憶←→コプロセッサ間のデータ転送が必要になる。そのため、期待していたような性能は得られていない。現在、これまでのような帯形式でのチューニングが有利なのか、コプロセッサを前提にデータ変換・データ転送を容易にするのが有利なのかのトレードオフを実験・考察中である。
|