比較的安価に並列処理による高速計算を行うには、(1)メニーコアCPU、(2)GPU、 (3)FPGA(書き換え可能な集積回路)を用いる方法がある.それぞれが得意な処理、不得意な処理があり、さまざまなタイプの処理を行わなければならない複雑な計算では、単一種類だけを用いた並列処理では十分な性能が得られないことが多い.3つのデバイスを最適に利用することにより、並列処理の理論限界を超える並列計算手法の提案を試みる.本年度は,そのために,GPU上で自動並列化のためのシステムを開発した.大量のインスタンスに対して同じ計算処理を行うバルク計算の場合,1インスタンスに対してのプログラムを記述することにより,自動的に並列化を実現するシステムを開発した.この考え方を応用して,文脈自由文法の構文解析手法であるCKYパージングなどの複雑な処理もGPUで高速に行えることを実証した.また,FPGA上で近似文字列マッチングを高速に行うハードウェアアルゴリズムも示した.大量のデータ列の中から特定の文字列に近い文字列を探す処理であり,ゲノム解析などに幅広い応用がある処理である.この近似文字列マッチングには,動的計画法による方法と,Myersらによる加算器を用いる手法が知られている.Myersの近似文字列マッチングの手法と,動的計画法による近似持ち列マッチング手法のハイブリッド手法を考案した.Myersの手法では,動作クロック数は少ないが,回路遅延が大きい.一方動的計画法の手法は動作クロックが大きいかわりに回路遅延が小さい.これらのハイブリッドにより,計算時間,つまり,動作クロックと動作周波数の積が最小になるようにし,大幅に性能が改善できることを示した.
|