インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
このトピックは、インテル® Xeon Phi™ コプロセッサー x100 製品ファミリー (開発コード名 Knights Corner) をターゲットとするインテル® 64 アーキテクチャーにのみ適用されます。
インテル® Xeon Phi™ コプロセッサー x100 製品ファミリー (開発コード名 Knights Corner) をターゲットとするインテル® 64 アーキテクチャー向けの C++ クラス・ライブラリーを使用すると、SIMD (Single Instruction Multiple Data) 演算を実行できます。
このライブラリーは、IA-32 アーキテクチャーおよびインテル® 64 アーキテクチャー用のインテル® C++ クラス・ライブラリーとよく似た機能を提供しますが、より大きなベクトル長に対応しています。 これらの機能は、インテル® Xeon Phi™ コプロセッサー x100 製品ファミリー (開発コード名 Knights Corner) をターゲットとするインテル® 64 アーキテクチャー向けにコンパイルされるコードで使用できます。
例えば、IA-32 アーキテクチャーおよびインテル® 64 アーキテクチャー用のインテル® C++ クラス・ライブラリーは次のクラスを提供します。
命令セット | クラス | 符号の有無 | データ型 | サイズ | 要素の数 | ヘッダーファイル |
---|---|---|---|---|---|---|
インテル® SSE2 |
F64vec2 |
不定 |
double |
64 |
2 |
dvec.h |
F32vec4 |
不定 |
float |
32 |
4 |
dvec.h |
|
I128vec1 |
不定 |
__m128i |
128 |
1 |
dvec.h |
|
I64vec2 |
不定 |
long int |
64 |
2 |
dvec.h |
|
Is64vec2 |
符号付き |
long int |
64 |
2 |
dvec.h |
|
Iu64vec2 |
符号なし |
long int |
64 |
2 |
dvec.h |
|
I32vec4 |
不定 |
int |
32 |
4 |
dvec.h |
|
Is32vec4 |
符号付き |
int |
32 |
4 |
dvec.h |
|
Iu32vec4 |
符号なし |
int |
32 |
4 |
dvec.h |
|
I16vec8 |
不定 |
int |
16 |
8 |
dvec.h |
|
Is16vec8 |
符号付き |
int |
16 |
8 |
dvec.h |
|
Iu16vec8 |
符号なし |
int |
16 |
8 |
dvec.h |
|
I8vec16 |
不定 |
char |
8 |
16 |
dvec.h |
|
Is8vec16 |
符号付き |
char |
8 |
16 |
dvec.h |
|
Iu8vec16 |
符号なし |
char |
8 |
16 |
dvec.h |
|
インテル® AVX |
F32vec8 |
不定 |
float |
32 |
8 |
dvec.h |
F64vec4 |
不定 |
double |
64 |
4 |
dvec.h |
同様に、インテル® Xeon Phi™ コプロセッサー x100 製品ファミリー (開発コード名 Knights Corner) をターゲットとするインテル® 64 アーキテクチャー向けのライブラリーは、次のクラスを提供します (同様の機能を、128 ビットまたは 256 ビットではなく 512 ビットのより大きなベクトル長で利用できます)。
命令セット | クラス | 符号の有無 | データ型 | サイズ | 要素の数 | ヘッダーファイル |
---|---|---|---|---|---|---|
インテル® イニシャル・メニー・コア命令 (インテル® IMCI) |
F64vec8 |
不定 |
double |
64 |
8 |
micvec.h |
I64vec8 |
不定 |
long int |
64 |
8 |
micvec.h |
|
F32vec16 |
不定 |
float |
32 |
16 |
micvec.h |
|
I32vec16 |
不定 |
int |
32 |
16 |
micvec.h |
|
Is32vec16 |
符号付き |
int |
32 |
16 |
micvec.h |
|
Iu32vec16 |
符号なし |
int |
32 |
16 |
micvec.h |