==== Cilk Plusを利用する設定 ==== Cilk Plusは、Parallel Composerに含まれるインテル コンパイラーでのみ利用できる。Cilk Plusを利用したプログラムをVisual Studioでコンパイルする場合、プロジェクトを選択した状態でParallel Compserツールバーの「Use Intel C++」ボタンをクリックし、インテル コンパイラーでプロジェクトをビルドするように設定しておく必要がある('''図1''')。 [[Thumb(use_cilk1.png, caption=図1 Parallel Compserツールバーの「Use Intel C++」ボタン)]] 「Use Intel C++」ボタンをクリックすると確認ダイアログが表示されるので「OK」をクリックし、続いてプロジェクトのリビルドを行っておこう('''図2''') [[Thumb(use_cilk2.png, caption=図2 「Use Intel C++」ボタンをクリックすると確認ダイアログが表示される)]] なお、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 }}} [[Thumb(cilk_docs.png, caption=図3 Parallel Studioヘルプ内の「Using Intel(R) Cilk(TM) Plus」にCilk Plusの情報がまとめられている)]] ここにはCilkの機能やリファレンスなど、Cilkを利用するに当たって必要な情報が一通り揃っている。また、[http://software.intel.com/en-us/articles/intel-cilk-plus/ インテルWebサイトのCilk Plusページ]にもサンプルコードや簡単なドキュメントが用意されている。ここにはCilk++からCilk Plusへのマイグレーションに関するドキュメントも用意されているので、Cilk++に関する知識があるユーザーは確認しておくと良いだろう。 Cilk Plusはリリースされてから日が浅いこともあってか、Web上で公開されている資料などは多くないが、ベースとなっているCilkに関する情報の多くはCilk Plusでも有用だ。たとえば[http://supertech.csail.mit.edu/cilk/ MITのCilk Projectページ]内「Documentation」にある、Cilk ProjectのリーダーCharles E. Leiserson氏らによるレクチャー資料は、Cilk Plusの考え方や実装方法を把握するのに有用だろう。