我使用 numba 库中的装饰器 @jit 优化了一些 python 代码。但是,我想指示 @jit 明确使用我的 GPU 设备。来自:@cuda.jit 和 @jit(target='gpu') 之间的区别,我知道我需要使用 @jit(target="cuda") 来做到这一点。
我尝试通过做这样的事情来做到这一点:
from numba import jit, cuda
@jit(target='cuda') # The code runs normally without (target='cuda')
def function(args):
# some code
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
KeyError: "Unrecognized options: {'target'}. Known options are dict_keys(['_nrt', 'boundscheck', 'debug', 'error_model', 'fastmath', 'forceinline', 'forceobj', 'inline', 'looplift', 'no_cfunc_wrapper', 'no_cpython_wrapper', 'no_rewrites', 'nogil', 'nopython', 'parallel', 'target_backend'])"
Run Code Online (Sandbox Code Playgroud)
我读过这篇文章:How to run numba.jitdecorated function on GPU? 但该解决方案不起作用。
我希望得到一些帮助,使 @jit(target='cuda') 工作而无需使用 @cuda.jit 重写代码,因为最后一个是用于在 Python 中编写 CUDA 内核并编译和运行它。
提前谢谢了!