米Intel、並列プログラミングのためのC/C++言語拡張「Cilk Plus」をオープンソース化。GCCへの実装も開始

 米Intelが並列プログラムを容易にする言語拡張「Intel Cilk Plus」をオープンソース化し、またGCCへの実装が「cilkplus」ブランチで開始されたと発表した。x86_32およびx86_64アーキテクチャでテスト済みというLinux向けランタイムのソースコードも公開されている。

 Cilk PlusはIntelが2010年に発表したC/C++向けの言語拡張。1990年代にマサチューセッツ工科大学で開発されたC言語拡張「Cilk」がベースで、プログラムの並列化を容易に実装できるキーワードや関数群が含まれる。Intelは2009年にCilk技術ベンダーのCilk Artsを買収し、Cilkの権利や技術を手に入れている。Cilk PlusはすでにIntelがリリースする「Intel Compiler」に搭載されているが、GCCなどほかのC/C++コンパイラではサポートされていなかった。

 現在、並列化のためのスレッド生成や同期を行うための「_Cilk_spawn」および「_Cilk_sync」、「_Cilk_for」といった3種類のキーワードと、データ競合問題を解決する「reducer」、粒度を設定するためのプラグマ類などが実装されている。

 なお、ランライムライブラリはアップストリームでメンテナンスされ、BSDライセンスでもリリースされる。将来的にIntel Cilk Plusの言語仕様をフルで実装していく計画とのこと。

 ランタイムライブラリのソースコードはIntelのソフトウェア開発者向けWebサイトで公開されている。また、今後はx86_32およびx86_64以外のアーキテクチャにもポーティングしたいとしている。

米Intel
http://www.intel.com/

Cilk Plusダウンロードページ
http://software.intel.com/en-us/articles/download-intel-cilk-plus-source/