著者
早川 広記 Hiroki Hayakawa
出版者
電気通信大学
巻号頁・発行日
2016-09-30

近年の汎用計算機はCPU以外にGPUや専用アクセラレーションユニット等,様々なハードウェアがプログラマブルデバイスとして搭載されるようになった.特に,GPUやIntel(R)Xeon Phiのようなメニーコアアーキテクチャの拡張デバイスが搭載される例が多く,スーパーコンピュータへの導入事例も多い.例えば,東京工業大学のスーパーコンピュータ,TSUBAMEは多数のCPU及びGPUで構成される.他には,TOP500上位にランクインするスーパーコンピュータにおいてもGPUやXeon Phiなどのメニーコアデバイスが採用されている例が多く見られる.このような構成のマシンでは,CPUとアクセラレーションユニットが効率良く協調動作するプログラムを実装すると高い性能を発揮できる.アクセラレーションユニットを活用する技術は未知な部分が多く存在し,高い性能を実現するための理論的な研究及び実験的な研究が盛んに行われている. しかしながら,これらの研究はアクセラレーションユニット上で高い性能を実現することを目的として完結している例が多く,計算機上のアクセラレーションユニットは十分に活用できているが,CPUが十分に活用できていない例が多く見られる.これはアクセラレーションユニットのみならず,CPUも適切に活用すれば更なる性能向上ができる可能性を示している.本研究では,計算リソースが複数混在した計算機上(CPU 4 cores 8 threads + GPU 2台)において,GPUアクセラレーションの成功実績のある最短経路探索アルゴリズムであるIDA*アルゴリズム(Iterative Deepening A* algorithm)をGPU実行のみならず,計算機上の計算リソース全て(CPU+GPU)を効率良く動作させることを目的とし,単純なGPUアクセラレーションを行った場合よりも高速な実装手法の有無を検討した.研究成果として,IDA*アルゴリズムをルービックキューブの最短解探索に適用した場合において,CPUとGPUを同時に効率良く使用する実装手法を3つ提案することができ,従来手法に対し高いパフォーマンスを得ることに成功した.