インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

インテルの valarray の実装

インテル® コンパイラーでは、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