KFCR社、GPGPU向けCコンパイラ「Goose」をリリース、AMD社ATI Stream SDK、NVIDIA社CUDAに対応

 株式会社K&F Computing Research(本社:東京都調布市、代表取締役:福重 俊幸、以下 KFCR社)は、GPU等のSIMD型ハードウェアアクセラレータ向けCコンパイラ「Goose」をリリース。 ビデオカードに搭載されたグラフッィクスプロセッサ(GPU)を、汎用の数値計算に使用して計算を加速させる技術(GPGPU:General Purpose GPU)が、ここ数年の間に急速に普及してきた。計算対象によってはGPGPUを用いることで計算のコストパフォーマンスを10倍以上向上できることが、ハイパフォーマンスコンピューティング分野の研究によって確認されているとのこと。 しかし、既存の数値計算プログラムからGPUを使用するためには、各ビデオカードベンダの提供するAPIや独自の記法を用いてプログラムを書き換える必要があるという。またGPUを効率的に動作させるためには、GPUのアーキテクチャ、特に演算器とメモリの構成を意識したプログラム記述が必要となるとのこと。 「Goose」は、GPUを含む各種アクセラレータのAPIやアーキテクチャをアプリケーションプログラムに対して隠蔽する。そのためPC等の汎用計算機向けにC言語で記述されたプログラムを、ソースコードをほとんど変更することなくアクセラレータ上で動作させられるとのこと。現段階では、アクセラレータとしてKFCR社のGRAPE-DR、およびAMD社とNVIDIA社のGPUに対応。特にAMD社GPUについては、株式会社エーキューブ(AMD FireStream国内総代理店)の協力のもとで動作テストを行っているとのこと。 「Goose」は、あえてC言語の言語仕様を完全にはサポートしない、ドメイン特化型のコンパイラだ。SIMD型アクセラレータ上での実行に適した文法記述のみを処理し、それ以外の記述は一般的なCコンパイラへ渡して汎用計算機向けにコンパイルする。この切り分けによって、汎用計算機上で動作する既存のプログラムをアクセラレータへ移植する際に必要となるソースコードの変更を、最小限に抑えることに成功している。 対象とするC言語記述は、forループによる繰り返し制御構造となっている。特に2重の入れ子構造を持ったループを効率的に扱えるとのこと。SIMD型アクセラレータ上での実行に適した演算の多くは、この形式で記述できるとしている。株式会社K&F Computing Researchhttp://www.kfcr.jp/

Comments are closed, but trackbacks and pingbacks are open.