Show page source of インテル_Parallel_Composerの新機能――並列プログラムを容易に実装できる「インテル_Cilk_Plus」入門_p2 #63629

[[PageNavi(NavigationList)]]


==== 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の考え方や実装方法を把握するのに有用だろう。

[[PageNavi(NavigationList)]]