インテル Parallel Composerの新機能――並列プログラムを容易に実装できる「インテル Cilk Plus」入門 2ページ
Cilk Plusを利用する設定
Cilk Plusは、Parallel Composerに含まれるインテル コンパイラーでのみ利用できる。Cilk Plusを利用したプログラムをVisual Studioでコンパイルする場合、プロジェクトを選択した状態でParallel Compserツールバーの「Use Intel C++」ボタンをクリックし、インテル コンパイラーでプロジェクトをビルドするように設定しておく必要がある(図1)。
「Use Intel C++」ボタンをクリックすると確認ダイアログが表示されるので「OK」をクリックし、続いてプロジェクトのリビルドを行っておこう(図2)
なお、Cilk Plusを使用したプログラムはVisual StudioのC/C++コンパイラではコンパイルできない。もしソースコードをインテル コンパイラー以外のコンパイラでもコンパイルできるようにしたい場合、次のように「#ifdef」プリプロセッサなどを使い、インテル コンパイラーでのコンパイル時に自動設定される「__cilk」マクロの有無でコードを切り替えるようにしておけば良い。
#ifdef __cilk /* Cilk Plusが利用できる場合 */ : (Cilk Plusを利用するコードを記述) : #else /* Cilk Plusが利用できない場合 */ : (Cilk Plusを利用しないコードを記述) : #endif
Cilk Plusに関するドキュメント
Cilk Plusに関する情報は、Parallel Stduioヘルプ内の次の個所にまとめられている(図3)。
Intel(R) Parallel Studio 2011 → Intel(R) Parallel Composer 2011 →Intel(R) C++ Compiler 12.0 User and Reference Guides →Creating Parallel Applications →Using Intel(R) Cilk(TM) Plus
ここにはCilkの機能やリファレンスなど、Cilkを利用するに当たって必要な情報が一通り揃っている。また、インテルWebサイトのCilk Plusページにもサンプルコードや簡単なドキュメントが用意されている。ここにはCilk++からCilk Plusへのマイグレーションに関するドキュメントも用意されているので、Cilk++に関する知識があるユーザーは確認しておくと良いだろう。
Cilk Plusはリリースされてから日が浅いこともあってか、Web上で公開されている資料などは多くないが、ベースとなっているCilkに関する情報の多くはCilk Plusでも有用だ。たとえばMITのCilk Projectページ内「Documentation」にある、Cilk ProjectのリーダーCharles E. Leiserson氏らによるレクチャー資料は、Cilk Plusの考え方や実装方法を把握するのに有用だろう。