インテル® Distribution for Python* の紹介

同カテゴリーの次の記事

インテル® Xeon Phi™ プロセッサー/コプロセッサーの実行性能の比較

はじめに

Python* (パイソン) は、現在ディープラーニングで注目を集めているプログラミング言語です。ディープラーニング用のライブラリーやフレームワークが Python* は豊富ということもあり、ディープラーニング = Python* と認識されてきているように感じます。C 言語などよりも簡単に書けるため、プログラマーではない研究者の方でも気軽に取り組むことができるからというのも Python* でディープラーニングを行う理由の1つになっています。

しかし、C 言語などと比較すると Python* はとても計算速度が遅いという問題があります。しかも大量の計算を行うディープラーニングを Python* で実行するとなれば特に時間が掛ってしまいます。そこで、この記事では Python* のパフォーマンス向上につながる「インテル® Distribution for Python*」を紹介します。

  • 本記事はベータ版の機能を参考にしており、製品版の内容とは異なる可能性があります。ご了承ください。
  • インテル® Distribution for Python* は、インテル® Parallel Studio XE にも同梱されています。

インテル® Distribution for Python* とは

インテル® Distribution for Python* (インテル® Python*) とは既存の Python* よりもパフォーマンスが向上するツールです。インテル® Python* の実行環境を使用することで、コードを修正することなくアプリケーションのパフォーマンスを向上させることができます。

【参考】

サポート環境

インテル® Python*
OS Windows、Linux、OS X
バージョン Python* 2.7、3.5

インストールされるコンポーネント

インテル® Python* をインストールすると Python* 実行環境だけではなく、NumPy などのライブラリーも同時にインストールされるため、簡単に環境を構築することができます。
(下記以外のライブラリーやフレームワークなどは各自インストールする必要があります)

また、同時にインテル® MKL などの関数も使用することができます。インテル® MKL の他にも、クラスターシステム向けのインテル® MPI ライブラリーや、マルチスレッド・テンプレート・ライブラリーであるインテル® TBB、ディープラーニング及びビッグデータ解析用のライブラリーであるインテル® DAAL を使用することができます。

Python* インテル® Distribution for Python*
使用できるコンポーネント
  • NumPy
  • SciPy
  • Scikit-Learn
  • Numba
  • Cython
  • mpi4py
  • conda
  • NumPy
  • SciPy
  • Scikit-Learn
  • Numba
  • Cython
  • mpi4py
  • conda
高速化や並列化を目的としたパフォーマンス・ライブラリー

インテル® Python* でパフォーマンスが向上する理由

インテル® MKL は、インテルが提供している最適化や並列化された数値演算ライブラリーです。インテル® Python* から NumPy や SciPy を使用すると自動的にインテル® MKL が呼び出されるため、パフォーマンスが大幅に向上します。

速度比較

コレスキー分解や行列積和などの計算を、既存の Python とインテル® Python* で実行し比較を行った結果です。

インテル® Python* に切り替えるだけでもパフォーマンスは向上していますが、プロセッサーのコア数が増えるにつれて、更にパフォーマンスが向上することがわかります。

ベータ版 インテル® Distribution for Python* 2017 と Ubuntu* Python*

引用: Intel® Distribution for Python* 2017 Beta

  • コード、計算方法、コア数によっては異なる性能となる可能性があります

まとめ

ディープラーニングなどで注目が高まっている Python* ですが、インテル® Distribution for Python* を利用することでインテルのパフォーマンス・ライブラリーの恩恵を享受することができ、簡単にアプリケーションのパフォーマンスを向上させることができる可能性があります。

インテル® Distribution for Python* はインテル® Parallel Studio XE にも同梱されていますので、30日の無料評価版でお試しいただくことも可能です。

今回はインテル® Distribution for Python* を簡単に紹介しましたが、次回は具体的な設定・活用方法に関してご説明していく予定です。

関連記事

  • インテル® MPI ライブラリーを利用した Python* の並列プログラミングインテル® MPI ライブラリーを利用した Python* の並列プログラミング この記事は、インテルの The Parallel Universe Magazine 25 号に収録されている、インテル® MPI ライブラリーを利用して Python* 並列プログラミングのパフォーマンスを向上する方法に関する章を抜粋翻訳したものです。 ハイパフォーマンス・コンピューティング (HPC) […]
  • インテル® VTune™ Amplifier XE を利用した Python* コードの高速化インテル® VTune™ Amplifier XE を利用した Python* コードの高速化 この記事は、インテルの The Parallel Universe Magazine 25 号に収録されている、インテル® VTune™ Amplifier XE を利用して非常に低いオーバーヘッドで Python* コードのプロファイリング情報を得る方法に関する章を抜粋翻訳したものです。 インテル® VTune™ […]
  • Python* プロファイルPython* プロファイル この記事は、インテル® デベロッパー・ゾーンに公開されている「Python* Profiling」の日本語参考訳です。 Python*/C/C++ が混在したコードのパフォーマンス解析機能 - ベータ 混在したアプリケーション・コードの隠れたホットスポットを検出 インテル® VTune™ […]
  • インテルと Anaconda* によるオープン・データ・サイエンス向け Python* の強化インテルと Anaconda* によるオープン・データ・サイエンス向け Python* の強化 この記事は、インテルの The Parallel Universe Magazine 25 号に収録されている、ビッグデータの課題への取り組みにおいて Python* を強化するテクノロジーに関する章を抜粋翻訳したものです。 現在、最も注目されている計算分野は、ハイパフォーマンス・コンピューティング […]
  • オープンソース Python*、R、Julia ベースの HPC アプリケーションの高速化オープンソース Python*、R、Julia ベースの HPC アプリケーションの高速化 インテル® コンパイラーとインテル® マス・カーネル・ライブラリー (インテル® MKL) によるパフォーマンスの向上 HPC コミュニティーでは、Python*、R、新しい Julia などのオープンソース言語に対する関心が高まっています。この記事では、GNU* コンパイラーと NumPy/SciPy、R、Julia […]