配列表記 (アレイ・ノーテーション) の C/C++ 言語拡張は、インテル固有の言語拡張で、インテル® Cilk™ Plus 機能の一部です。
C/C++ 拡張は C/C++ のデータ並列の配列表記を提供します。次のような主な利点があります。
配列表記を使用する際、インテル® コンパイラーはベクトルコードを使用して実装します。
アルゴリズムで配列の処理が必要で、配列要素の処理順が問題にならない場合は、配列表記を使用します。
配列表記の C/C++ 言語拡張は IA-32 アーキテクチャーおよびインテル® 64 アーキテクチャーでサポートされており、デフォルトで有効になっています。無効にするには、-no-intel-extensions (Linux* または OS X*) や /Qintel-extensions- (Windows*) オプションを使用します。
アプリケーションで配列表記を使用するには、次の操作を行います。
–O0 (Linux* および OS X*) または /Od (Windows*) を使用してアプリケーションをコンパイルすると、ベクトル化/マルチスレッド化なしのシリアル・スカラー・コードが生成されます。
デフォルトでは、インテル® コンパイラーは配列表記言語拡張を有効にし、プログラムのデータ並列構造に基づいてベクトルとマルチスレッド・コードを生成します。
配列表記は、-O0 (Linux* および OS X*) および /Od (Windows*) オプションと、最適化レベルの -O1、-O2、-O3 (Linux* および OS X*) または /O1、/O2 および /O3 (Windows*) オプションで動作します。 -O0 (Linux* および OS X*) または /Od (Windows*) オプションを指定すると、配列操作がシーケンシャル・ループにシリアル化され、配列表記を使用するアプリケーションのデバッグに役立ちます。