高速 Python*: コードを変更せずに Python* をさらに高速化

インテル® ディストリビューションの Python*

この記事は、インテル® デベロッパー・ゾーンに公開されている「Accelerated Python: Give Python an Even Bigger Boost with No Code Changes」 (https://www.infoworld.com/article/3314716/software/accelerated-python-give-python-an-even-bigger-boost-with-no-code-changes.html) の日本語参考訳です。


istock 614226664

インテルによる高速 Python* のサポートは、パフォーマンスを重視する Python* ユーザーにとって必然的な選択肢となっています (そして、無料で利用できます!)。インテル® Distribution for Python* は、オープンソースの Python* をチューニングしたものです。さまざまな手法により、優れたパフォーマンスを提供するようにビルドされており、特にインテル® パフォーマンス・ライブラリーを使用して x86 および x86-64 のパフォーマンスを向上する点が重要です。つまり、Python* コードを変更せずにパフォーマンスを向上できます。

インテル® Distribution for Python* を使用すると、Numpy* や SciPy* を使用するコードなど、大量の数値計算を行う Python* コードでパフォーマンスの大幅な向上が見られることは珍しくありません。以前の記事では 20 倍のスピードアップ (http://bit.ly/2Clt8MU) について述べ、 Google* のブログ (英語) では最大 23 倍のスピードアップを紹介しました。

非常に高速なマシンラーニング

最近、インテルは注目に値するベンチマーク結果を公表しました (「スピードとスケーラビリティー向けにビルド」 (https://intel.ly/2CmIy3J) を参照)。次の 2 つのグラフは、標準 Python* と高速 Python* (インテル® Distribution for Python*) の scikit-learn* パフォーマンスを比較したものです。インテル® パフォーマンス・ライブラリー (インテル® データ・アナリティクス・アクセラレーション・ライブラリー (インテル® DAAL)) を使用する C コードのスコアを 100% として示しています。標準 Python* は、C コードと比較すると非常に低速です。一方、インテル® Distribution for Python* では、C でコードを書き直してインテル® マス・カーネル・ライブラリー (インテル® MKL) を直接使用した場合とほぼ同じパフォーマンスを達成できます。2 つ目のグラフは、強力なプロセッサーを使用した場合、標準 Python* はほとんどのケースで 0% かそれに近い値にしか向上しないことを示しています (2 つ目のグラフは、インテル® Xeon® プロセッサーを使用しており、1 つ目のグラフで使用されているインテル® Core™ プロセッサーよりも数値演算能力に優れています)。

Intel

インテル® Distribution for Python* は、Python* インタープリターと、科学および工学コンピューティング、ビッグデータ、データサイエンス、マシンラーニングなどの計算およびデータ集約型ドメインで広範に使用されているパッケージのバイナリー・ディストリビューションです。Windows*、Linux*、macOS* 上で Python* 2 と 3 をサポートします。事前設定済みのバイナリー形式のパッケージが必要な依存関係とともに提供されるため、Python* を簡単にインストールできます。

最新バージョンは、インテル® Parallel Studio XE 2019 のコンポーネントまたは単体としてインストールできます。Anaconda* の intel チャネル (英語) からほかの最適化されたルーチンとともに利用することもできます。(“conda create –name intelpy python=ver” コマンドを使用します。ver は 2.7 または 3.6 です。)インテル® Parallel Studio XE では、特にインテル® VTune™ Amplifier とインテル® DAAL で追加の Python* サポートが得られます。最新のリリースでは、SVM 分類アルゴリズムと K 平均法の予測に scikit-learn* の最適化が追加されました。また Linux* では、Python* インターフェイスを備えた、最適化された分散勾配ブースティング・ライブラリーの XGBoost (英語) を利用できます。パフォーマンスが最適化された TensorFlow* と Caffe* ライブラリーは、conda や pip を使用して簡単にインストール (英語) できます。

高速 Python* には、NumPy*、SciPy*、scikit-learn* の最適化バージョンが含まれており、インテル® パフォーマンス・ライブラリーと統合して高度に最適化された x86 および x86-64 サポートを提供します。さらに、Python* 向けの最適化コンパイラーである Numba (英語) と Cython (英語) でベクトル命令とマルチスレッド命令をサポートし、インテル® スレッディング・ビルディング・ブロック (インテル® TBB) による構成可能な並列処理もサポートします。

詳細は、製品 Web サイトを参照してください。こちら (英語) から無料でソフトウェアをダウンロードできます。

関連情報

  • インテル® Distribution for Python* (英語)
  • ベンチマーク – 「スピードとスケーラビリティー向けにビルド
    https://software.intel.com/distribution-for-python/benchmarks
  • インテル® Parallel Studio XE 2019
  • Tech.Decoded の動画: 「開発ツールがこれまでになく重要な理由
    https://techdecoded.intel.io/big-picture/why-development-tools-are-more-important-now-than-ever/

インテル® DAAL の無料ダウンロード
https://intel.ly/2CopSkb
インテル® Distribution for Python* (英語) の無料ダウンロード

タイトルとURLをコピーしました