インテル® Cilk™ Plus を使用した並列化
この記事は、インテル® デベロッパー・ゾーンに掲載されている「Parallelization with Intel® Cilk™ Plus」の日本語参考訳です。
はじめに
インテル® Cilk™ Plus は、マルチコア・プロセッサーでプログラムのパフォーマンスを向上させ、迅速、容易、かつ信頼性の高い方法を提供する、C および C++ の言語拡張です。インテル® Cilk™ Plus の 3 つのキーワードは、並列プログラミング用の単純で非常に強力なモデルを提供します。その一方で、ランタイム・ライブラリーとテンプレート・ライブラリーは、並列アプリケーションの実行向けにきめ細やかにチューニングされた環境を提供します。
トピック
インテル® Cilk™ Plus の学習は、オンラインですぐに開始できます。このページには、ドキュメント、リリースノート、評価ガイド (http://software.intel.com/sites/products/evaluation-guides/docs/cilk-plus-evaluation-guide.pdf)、ビデオ (http://software.intel.com/en-us/videos/introduction-to-intel-cilk-plus/)、ホワイトペーパー (概要、要素関数、サンプル: 平均フィルター、離散コサイン (http://software.intel.com/en-us/articles/improving-discrete-cosine-transform-performance-using-intelr-cilktm-plus)、セピアフィルター) およびサポートリンクが含まれています。
まとめ
インテル® Cilk™ Plus の使用方法を理解します。
-
単純なモデルを使用した並列プログラムの記述: 3 つのキーワードを学習するだけで、C および C++ プログラマーは並列プログラミングを行うことができます。
-
要素関数の機能を含む単純な配列表記によるデータ並列化の利用。
-
既存のシリアルツールの利用: インテル® Cilk™ Plus のシリアル・セマンティクスは、既存のシリアルデバッガーでデバッグを行うことができます。
-
将来にわたってスケーラブル: ランタイムシステムは、コア数が多いシステムでもスムーズに動作します。
次のステップ
この記事は、「Programming and Compiling for Intel® Many Integrated Core Architecture」 (英語) の一部「Parallelization with Intel® Cilk™ Plus」の翻訳です。インテル® Xeon Phi™ コプロセッサー上にアプリケーションを移植し、チューニングを行うには、各リンクのトピックを参照してください。アプリケーションのパフォーマンスを最大限に引き出すために必要なステップを紹介しています。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。