GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

numba

numba – LLVMを使用したNumPy対応動的Pythonコンパイラ

投稿日:

LLVMを使用したNumPy対応動的Pythonコンパイラ http://numba.pydata.org/

Numba

Python配列と数値関数のコンパイラ

NumbaはAnaconda、Inc.が主催するPythonのオープンソースNumPy対応最適化コンパイラです。Python構文をマシンコードにコンパイルするために、優れたLLVMコンパイラインフラストラクチャを使用しています。

NumPy配列は型付きメモリ領域として認識されているため、NumPy配列を使用してコードを高速化できます。 それ以外のタイプのコードはPython C-API呼び出しに変換され、 “インタープリタ”は効果的に削除されますが、動的間接は削除されません。

NumbaはトレースJITでもありません。 実行時型情報またはデコレータで指定した型情報を使用てコードが実行される前に、コードをコンパイルします。

Numbaは、Python構文から機械コードを生成し、NumPyに存在するものなどの型付きデータ構造を生成するためのメカニズムです。

依存関係

  • llvmlite
  • numpy(バージョン1.9以上)
  • funcsigs(Python 2用)

インストール

numbaをインストールしてアップデートを入手する最も簡単な方法は、Anaconda Distributionを使用することです: https ://www.anaconda.com/download

$ conda install numba

ソースからNumbaをコンパイルする場合は、複数の独立した開発環境を維持するためにconda環境を使用することをお勧めします。 Numba開発のための新しい環境を作成するには:

$ conda create -p ~/dev/mynumba python numpy llvmlite

インストールされているバージョンを選択するには、パッケージ名に “= VERSION”を追加します。 “VERSION”はバージョン番号です。 例えば:

$ conda create -p ~/dev/mynumba python=2.7 numpy=1.9 llvmlite

Python 2.7とNumpy 1.9を使用する。

CUDAサポートが必要な場合は、CUDAツールキットもインストールする必要があります。

$ conda install cudatoolkit

これにより、CUDA Toolkitバージョン7.5がインストールされます。これには、ドライババージョン352.79以降がインストールされている必要があります。

カスタムPython環境

condaを使用していない場合は、llvmliteを自分でビルドする必要があります:

llvmliteのビルドとインストール

最新の手順については、 https://github.com/numba/llvmliteを参照してください LLVM 5.0.xのビルドが必要です。

$ git clone https://github.com/numba/llvmlite
$ cd llvmlite
$ python setup.py install

Numbaのインストール
$ git clone https://github.com/numba/numba.git
$ cd numba
$ pip install -r requirements.txt
$ python setup.py build_ext --inplace
$ python setup.py install

または単に

$ pip install numba

CUDAサポートを有効にするには、CUDA Toolkit 7.5をインストールする必要があります。 ツールキットをインストールした後は、標準の検索パスを上書きするために環境変数を指定する必要があります。

NUMBAPRO_CUDA_DRIVER
CUDAドライバ共有ライブラリへのパス
NUMBAPRO_NVVM
CUDA libNVVM共有ライブラリファイルへのパス
NUMBAPRO_LIBDEVICE
.bcファイルを含むCUDA libNVVM libdeviceディレクトリへのパス

ドキュメンテーション

http://numba.pydata.org/numba-doc/dev/index.html

メーリングリスト

numbaメーリングリストnumba-users@continuum.ioに参加してくださいhttps : //groups.google.com/a/continuum.io/d/forum/numba-users

またはGmaneミラーを介してアクセスします。http : //news.gmane.org/gmane.comp.python.numba.user

古いアーカイブはhttp://librelist.com/browser/numba/にあります。

ウェブサイト

スポンサーがあなたを助けることができるかどうか(このプロジェクトを助けることができるかどうか参照): https : //www.anaconda.com

http://numba.pydata.org

継続的インテグレーション

https://travis-ci.org/numba/numba







-numba

執筆者: