平成25年度は平成24年度までに構築した無限要素を持つノンパラメトリックベイズモデルを利用するアルゴリズムのWebサービスの構築と研究成果報告を中心に行った。特にWebサービスの構築においては高速化が課題となっていた。特に平成24年度の研究成果から、CPUのみを用いた並列化では限界があり、平成25年度はメニーコア技術を利用した高速化を試みた。具体的には3D描画のために高速化が著しく発展したグラフィックプロセッサ(GPU)を一般的な計算に用いる方法、GPGPU (General-purpose computing on graphics processing units)の導入に向け、検証を行った。 まず、単純な倍精度実数型の行列積計算を行い、CPUとGPGPUでの行列サイズの違いによる計算時間比較を行った。GPGPUの共有メモリ(GPUのL1キャッシュ)を明示的にうまく使うことでCPUよりも20倍程度の性能が出せることが分かった。逆に共有メモリをうまく使えないと、性能を引き出せず、CPUと同程度の性能しか出ないことが判明した。次に、本研究課題に利用するHMMの評価プログラムを用いて計算時間の比較を行った。HMMでは多量の行列演算を行うため、単純な行列席計算と同様に並列化の恩恵を受けることができると予想した。実験ではCPUで実装した場合に対し、2倍程度の速度を記録することができた。一方、CPUを並列化すると状況は代わり、最大で30倍程度並列化CPUのほうが高速になった。これは本課題で用いるタンパク質配列データが巨大であり、GPGPUの宿命とも言えるメモリ転送におけるボトルネックの影響を受けたものと思われる。GPGPUで演算を行うにはデータを通常のメモリからGPU上のメモリに転送する必要があり、その帯域はメモリに比べ極端に狭い。このため、大量のデータをGPU上に転送する必要のある計算には不利に働く。そのため、本課題ではGPGPUの活用には不向きな課題であるとが確認された。
|