Python Numba - 如何调试缓存以查看编译何时发生
Python Numba - How to debug caching to see when compilation happens
我正在尝试确定 Numba 何时编译或使用缓存函数。
示例:
import numpy as np
from numba import njit
@njit(cache=True)
def sq(x):
return x**2
@njit(cache=True)
def f(x):
return sq(x)*sq(x);
# scalar signature
x = 1
y = f(x)
# vector signature
x = np.asarray([1,2,3])
y = f(x)
有没有办法让 numba 指示它何时编译函数或使用缓存?
您可以设置环境变量 NUMBA_DEBUG_CACHE
以获取更多信息,请参阅 https://numba.pydata.org/numba-doc/dev/reference/envvars.html#caching-options。
这可以通过添加
来完成
import os
os.environ['NUMBA_DEBUG_CACHE'] = "1"
在你的脚本前。
当 运行 你的脚本时,你会发现输出行如下:
[cache] index saved to '/path/to/cache/script_name.something.nbi'
[cache] data saved to '/path/to/cache/script_name.something.nbc'
这就是您要找的东西
我正在尝试确定 Numba 何时编译或使用缓存函数。
示例:
import numpy as np
from numba import njit
@njit(cache=True)
def sq(x):
return x**2
@njit(cache=True)
def f(x):
return sq(x)*sq(x);
# scalar signature
x = 1
y = f(x)
# vector signature
x = np.asarray([1,2,3])
y = f(x)
有没有办法让 numba 指示它何时编译函数或使用缓存?
您可以设置环境变量 NUMBA_DEBUG_CACHE
以获取更多信息,请参阅 https://numba.pydata.org/numba-doc/dev/reference/envvars.html#caching-options。
这可以通过添加
来完成import os
os.environ['NUMBA_DEBUG_CACHE'] = "1"
在你的脚本前。
当 运行 你的脚本时,你会发现输出行如下:
[cache] index saved to '/path/to/cache/script_name.something.nbi'
[cache] data saved to '/path/to/cache/script_name.something.nbc'
这就是您要找的东西