インテル® Cilk™ Plus の SIMD ベクトル化と要素関数
この記事は、インテル® ソフトウェア・サイトに掲載されている「Getting Started with Intel® Cilk™ Plus SIMD Vectorization and Elemental Functions」の日本語参考訳です。
はじめに
SIMD ベクトル化と要素関数は、インテル® C++ コンパイラーでサポートされているインテル® Cilk™ Plus 機能の一部で、ループとユーザー定義関数をベクトル化します。ベクトル化は、プロセッサーの SIMD (Single Instruction Multiple Data) 機能を利用し、一度に複数の配列要素 (またはベクトル要素) を操作して、アプリケーションのパフォーマンスを向上します。
インテル® コンパイラーには、ベクトル化を有効にする独特な機能が用意されています。開発者は、単純なプログラミング・スタイルとベクトル化を支援するコンパイラー機能を使用して、より多くのループがベクトル化されるようにコンパイラーに指示できます。
このドキュメントでは、インテル® Cilk™ Plus のベクトル要素関数と SIMD 宣言子 (#pragma simd) を使って、コンパイラーに C/C++ コードのベクトル化を指示し、パフォーマンスを向上する方法を説明します。
ドキュメントの続きはこちら (PDF) をクリックしてください。
SIMD プラグマ/宣言子を使用してベクトル化できるループの種類に関する詳細は、こちらの記事をご覧ください。