第 2 世代インテル® Xeon Phi™ プロセッサー上のインテル® Distribution for Python*: デフォルト設定のパフォーマンス

同カテゴリーの次の記事

インテル Parallel Universe 29 号日本語版の公開

この記事は、Go Parallel に公開されている「INTEL PYTHON ON 2ND GENERATION INTEL XEON PHI PROCESSORS: OUT-OF-THE-BOX PERFORMANCE」 (https://goparallel.sourceforge.net/wp-content/uploads/2016/06/Colfax-Python.pdf) の日本語参考訳です。


この文献は、第 2 世代インテル® Xeon Phi ™ プロセッサー (開発コード名 Knights Landing) 上でインテル® Distribution for Python* 2017 Beta を使用した計算アプリケーションの価値とパフォーマンスに関する報告です。SciPy* および NumPy* ライブラリーの LU 分解、コレスキー分解、特異値分解、および倍精度の一般的な行列-行列乗算ルーチンのベンチマークを使用して、高帯域幅メモリー (HBM) 向けのチューニング手法を示します。

1. コンピューティングにおける Python* のケーススタディー

Python* は、計算アプリケーションで人気のあるスクリプト言語です。科学計算向けの基本ツール、NumPy* および SciPy* ライブラリーにより、Python* アプリケーションは行列と線形代数方程式に対する操作を、簡潔で便利な基本線形代数 (BLAS) および線形代数パッケージ (LAPACK) 関数で表すことができます。

BLAS と LAPACK で優れたパフォーマンスを発揮する第 2 世代インテル® Xeon Phi™ プロセッサー (開発コード名 Knights Landing または KNL) は、Python*/ NumPy*/ SciPy* アプリケーション向けのコンピューティング・プラットフォームとして最適です。しかし、標準の Python* ディストリビューションである CPython は、インテル® Xeon Phi™ プロセッサーのベースである インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーの利点をまだ活用することができません。

この問題に対応するため、インテル® Distribution for Python* は、インテル® マス・カーネル・ライブラリー (インテル® MKL) を利用して線形代数を高速化します。さらに、このディストリビューションは、インテル® スレッディング・ビルディング・ブロック (インテル® TBB)、インテル®データ・アナリティクス・アクセラレーション・ライブラリー (インテル® DAAL)、インテル® MPI ライブラリーとのインターフェイスを提供します。

この文献では、インテル® Xeon Phi™ プロセッサー上での BLAS および LAPACK の基本サブセット (LU 分解、コレスキー分解、特異値分解 (SVD)、および一般的な行列-行列乗算) の利便性とパフォーマンスについて報告します。CPython とインテル® Distribution for Python* のベンチマークを比較します。

関連記事