ペンチマークについては、本ページ下部に掲載されている法務上の注意書きも併せてご参照してください。
線形代数とNumPyユニバーサル関数
これらの関数は、Python* での数値計算のビルディング・ブロックです。Python* 向けインテル® ディストリビューションは、インテル® AVX とマルチコアのパフォーマンス特典を利用して、サーバーで最大 200 倍、デスクトップ・システムで 10 倍高速にキールーチンを実行します。 このディストリビューションでは、BLAS および
LAPACK にインテル® MKL を使用しています。汎用関数の場合、インテル® コンパイラーとベクトル演算ライブラリーを使用します。
インテル® Xeon Phi™ プロセッサーでは、ベクトル - ベクトルと、ベクトル - スカラーの NumPy 算術演算と超越数演算が最大 400 倍まで高速化されます。次のベンチマークは、Black-Scholes
関数をベンチマークすることによって、算術および超越式の高速化のスケールを示しています。
これらのベンチマークは、Python* 向けインテル® ディストリビューションと Black-Scholes を使用したスピードアップを実証しています。
このセットは、Python* 向けインテル® ディストリビューションと Black-Scholes 式を使用したスピードアップを実証しています。これらの結果は、インテル® MKL と併せてネイティブ C を実行することによって得られたパフォーマンスを、パーセンテージで表しています。
Scikit-learn*
最適化された SciPy ライブラリーと NumPy パッケージは、機械学習の最も一般的なパッケージの 1 つである scikit-learn の広範なスピードアップを提供します。また、インテル® DAAL を利用して、scikit-learn 内の選択されたアルゴリズムに最大 140 倍のスピードを実現しています。
高速フーリエ変換(FFT)
FFTは、信号処理および画像処理において最も重要なアルゴリズムの 1 つです。NumPy と SciPy で FFT を最適化し、現実的で複雑な、一次元および多次元のインプレースおよびアウトオブプレイスの結果を得て、パフォーマンスを最大
60 倍向上させます。
乱数ジェネレーターと一般的なディストリビューションによるパフォーマンス向上
乱数を生成する際、通常、モンテカルロ・シミュレーションと暗号化でボトルネックが発生します。Python* 向けインテル® ディストリビューションは、さまざまなディストリビューションの生成を最大
56 倍高速化することでこの問題を解決します。Python* 向けインテル® ディストリビューションの numpy.random_intel パッケージは、Numpy
の拡張機能で、numpy.random のデザインを密接に反映し、インテル® MKL のベクトル統計を使用して大幅なパフォーマンス向上を実現します。
次の表は、一般的なディストリビューションによるパフォーマンスの改善を示しています。 (100,000 回のサンプリング、256 回繰り返し)
ディストリビューション |
タイミング(random) 秒あたり |
タイミング(random_intel) 秒あたり |
スピードアップ・ファクター |
uniform(-1. 1) |
0.357 |
0.034 |
10.52 |
normal(0, 1) |
0.834 |
0.081 |
10.35 |
gamma(5.2, 1) |
1.399 |
0.267 |
5.25 |
beta(0.7, 2.5) |
3.677 |
0.556 |
6.61 |
randint(0. 100) |
0.228 |
0.053 |
4.33 |
poisson(7.6) |
2.990 |
0.052 |
57.44 |
hypergeometric(214, 97, 83) |
11.353 |
0.517 |
21.96 |
法務上の注意書き ※1
全てのベンチマークのシステム構成:
Python* ベンチマーク (英語)
ソフトウェア:
Linux*: Ubuntu*、Python* 3.5.2、NumPy* 1.12.1 (pip でインストール)、scikit-learn 0.18.1
Windows*: Python*
3.5.2、NumPy* 1.12.1 (pip でインストール)、scikit-learn 0.18.1、Python* 向けインテル® ディストリビューション 2017 Update 2
ハードウェア:
インテル® Core™ i5-4300M プロセッサー、2.60GHz および 2.59GHz (1 ソケット、2 コア、コアあたり 2 スレッド)、8GB
DRAM。インテル® Xeon® プロセッサー E5-2698、2.30GHz (2 ソケット、1 ソケットあたり 16 コア、コアあたり
1 スレッド)、64GB DRAM。インテル® Xeon Phi™ プロセッサー 7210、1.30GHz (1 ソケット、64 コア、コアあたり 4
スレッド)、32GB DRAM、16GB MCDRAM (フラット・メモリー・モード)。
変更:
scikit-learn: Windows* 上で conda でインストールされた NumPy* とインテル® MKL を使用 (Windows* 上で pip でインストールされた
SciPy* はインテル® MKL の依存性を含む)。インテル® Core™ i5 プロセッサーのブラックショールズ: Windows*
上で pip でインストールされた NumPy* と conda でインストールされた SciPy* を使用。
※1 性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark*
などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。詳細については、
www.intel.com/benchmarks (英語) を参照してください。
最適化に関する注意事項:
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令
3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。注意事項の改訂
#20110804