コンテンツにスキップ

Numba

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Numba
作者 Anaconda, Inc.
初版 2012年8月15日 (12年前) (2012-08-15)
最新版
0.61.0[1] ウィキデータを編集 / 2025年1月21日 (6日前)
リポジトリ ウィキデータを編集
プログラミング
言語
Python, C言語
プラットフォーム x86-64, ARM64, POWER, NVIDIA GPU
ライセンス 二条項BSDライセンス
公式サイト numba.pydata.org
テンプレートを表示

NumbaPythonおよびNumPyのサブセットのソースコードを高速に実行する機械語に変換するJITコンパイラ。llvmliteにて、LLVMをバックエンドに使用し、CPUおよびNVIDIA CUDA向けにコンパイルする。Anaconda, Inc.がスポンサーになっている。

実行時コンパイル

[編集]

Pythonの関数に @jit のデコレーターを付けることで、実行時にJITコンパイルされる。

下記の例においては、Numba 0.27.0において、Pythonよりも200倍高速に動作し、NumPyの組み込みのsum()関数よりも30%高速に動作する[2][3]

from numba import jit

@jit
def sum1d(ary):
    total = 0.0
    for i in range(ary.shape[0]):
        total += ary[i]
    return total

参照

[編集]
  1. ^ Release 0.61.0” (21 1月 2025). 26 1月 2025閲覧。
  2. ^ A Speed Comparison Of C, Julia, Python, Numba, and Cython on LU Factorization”. 2019年1月25日閲覧。
  3. ^ Numba vs. Cython: Take 2”. 2019年1月25日閲覧。

関連項目

[編集]

外部リンク

[編集]