アルテラは、並列コンピューティング向けソフトウェアプログラミングのフレームワークである「OpenCL(Open Computing Language)」への対応を積極的に行っている。2012年末には、並列コンピューティングの計算資源として手軽にFPGAが利用できるSDKの提供を開始し“OpenCL+FPGA”を実現。並列コンピューティング分野でのFPGAの普及状況やOpenCL対応を進める狙いなどについてアルテラの担当者に聞いた。
アルテラは、ソフトウェアプログラミングのフレームワークである「OpenCL(Open Computing Language)」など並列コンピューティングのハードウェアアクセラレータとして、アルテラ製FPGAが普及することを狙った取り組みを積極的に行っている。
ハイエンドのビデオ処理システムや医療系画像処理システム、気候解析や金融モデリングなどのシステムは、極めて高い演算処理性能のハイパフォーマンスコンピューティング(HPC)が求められる。そして昨今では、HPCを実現する手法として、さまざまなプロセッサ、ハードウェアを使った異種混合(ヘテロジニアス)型の超並列コンピューティングが有効とされる。そうした中でヘテロジニアス型の超並列コンピューティングに対応したソフトウェアプログラミングのフレームワークとしてOpenCLが登場した。
これまで、超並列コンピューティングのハードウェアアクセラレータの主流は、GPU(グラフィックスプロセッサ)やDSPだ。特にOpenCLは、GPUを画像処理用途以外の汎用用途に使用する技術「GPGPU」とセットで開発されてきたイメージが強い。なぜ、アルテラは、FPGA製品のOpenCL対応を積極的に進めているのか。アルテラでシニアマーケティングマネージャーを務めるDirk Seynhaeve氏に聞いた。
EE Times Japan(以下、EETJ) 2012年末にOpenCL向けソフトウェア開発キット(SDK)を発表(関連記事:FPGAを活用した並列コンピューティングが加速、アルテラがOpenCL向けSDKを発表)するなど、OpenCLへの対応を積極的に進めておられますが、その狙いは。
Seynhaeve氏 われわれは、ソフトウェアとハードウェアの世界を近づけ、融合させようと取り組んでいる。これまでこの2つの世界は別個に存在した。とりわけ、ハードウェアすなわちFPGAなど各種デバイスは進化が激しい一方で、ソフトウェア、プログラム言語はあまり変化がないままだった。
その中で、並列プログラミング/並列処理の領域で「OpenCL」の登場により、ソフトウェアとハードウェアが融合できるようになりつつある。ソフト、ハードが近づくことで、これまでのソフト、ハードを超える極限的な進化が実現できる。
EETJ ソフトとハードの融合を実現するために、必要なことは何でしょうか。
Seynhaeve氏 ソフト、ハード、開発環境など、さまざまな部分でやっていかなければならないことが存在する。
ソフトはOpenCLの登場で融合に向けた準備は万全だと思いがちだが、このOpenCLというルールに正しく従っていくことが何より重要だ。アルテラとしても、規格への準拠を確実に行っていく。
ハードも並列処理機能とともに柔軟性が必要になってくる。OpenCLではCPU、ホスト側と、GPUなどのハードウェアアクセラレータが連携するが、ハードとしてはネットワークやモニターなどさまざまな外部通信が必要になる。FPGAであれば、その外部通信部分も取り込むことが可能できる。
従来、FPGAをハードウェアアクセラレータとして使用する場合、プログラムしたC言語を、FPGAに実装するためHDL(ハードウェア記述言語)に変換する必要があり分断されていた。これが、先に発売したOpenCL向けSDKにより、C言語からHDLを自動生成するコンパイルが実現された。これにより、回路設計の知識のないソフトウェア開発者でもFPGAを活用した並列コンピューティングが可能になった。
これは、さまざまな外部通信を行うためのインタフェース部分もプログラマーは、C言語で設計できるようになったということ。これまで、プログラマーは、メモリ1つとっても、常にDDR3か、DDR4か、QDRか、を意識して合わせてきたが、コンパイラが対応することで意識する必要がなくなる。ハードがソフトに合わせる柔軟性を備えることで、プログラマーはより商品企画など競争領域に集中できるようになる。
Copyright © ITmedia, Inc. All Rights Reserved.