インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
インテル® コンパイラーでは、C++ の標準的な valarray コンテナー用に、ハイパフォーマンスで特別な 1 次元 valarray 演算が用意されています。
標準の C++ の valarray テンプレートには、ハイパフォーマンス・コンピューティング向けの配列演算/ベクトル演算が含まれています。これらの演算は、並列処理などのハイパフォーマンスなハードウェア機能を活用し、パフォーマンスを最大限に引き出します。
インテルの valarray は、製品に含まれるインテル® インテグレーテッド・パフォーマンス・プリミティブ (インテル® IPP) を使用します。そのため、製品をインストールする際、インテル® IPP を選択してください。
インテルの valarray は、次の演算およびデータ型で固有プロセッサーに特化したハイパフォーマンスな代替ヘッダー <valarray> で構成されています。
演算子 |
valarray のデータ型 |
---|---|
abs、acos、acosh、asin、asinh、atan、atan2、atanh、cbrt、cdfnorm、ceil、cos、cosh、erf、erfc、erfinv、exp、expm1、floor、hypot、inv、invcbrt、invsqrt、ln、log、log10、log1p、nearbyint、pow、pow2o3、pow3o2、powx、rint、round、sin、sinh、sqrt、tan、tanh、trunk |
float、double |
add、conj、div、mul、mulbyconj、mul、sub |
Ipp32fc、Ipp64fc |
addition、subtraction、division、multiplication |
float、double |
bitwise or、and、xor |
char、short、int (すべて符号なし) |
min、max、sum |
short または符号付き int、float、double |
最適化に関する注意事項 |
---|
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。 注意事項の改訂 #20110804 |