@cuda.jit 和@jit(target='gpu') 的区别
Difference between @cuda.jit and @jit(target='gpu')
我对使用来自 Continuum 的 Accelerate 和 numba 包的 Python CUDA 库有疑问。将装饰器 @jit
与 target = gpu
一起使用与 @cuda.jit
相同吗?
不,它们不一样,尽管最终将 PTX 编译成汇编程序的路径是。 @jit
装饰器是通用编译器路径,可以选择将其引导到 CUDA 设备上。 @cuda.jit
装饰器实际上是 Continuum Analytics 开发的低级 Python CUDA 内核方言。因此,您可以获得对 CUDA 内置变量的支持,例如 threadIdx
和内存 space 说明符,例如 @cuda.jit
.
中的 __shared__
如果你想在 Python 中编写一个 CUDA 内核并编译并 运行 它,请使用 @cuda.jit
。否则,如果您想加速 Python 的现有部分,请将 @jit
与 CUDA 目标一起使用。
我对使用来自 Continuum 的 Accelerate 和 numba 包的 Python CUDA 库有疑问。将装饰器 @jit
与 target = gpu
一起使用与 @cuda.jit
相同吗?
不,它们不一样,尽管最终将 PTX 编译成汇编程序的路径是。 @jit
装饰器是通用编译器路径,可以选择将其引导到 CUDA 设备上。 @cuda.jit
装饰器实际上是 Continuum Analytics 开发的低级 Python CUDA 内核方言。因此,您可以获得对 CUDA 内置变量的支持,例如 threadIdx
和内存 space 说明符,例如 @cuda.jit
.
__shared__
如果你想在 Python 中编写一个 CUDA 内核并编译并 运行 它,请使用 @cuda.jit
。否则,如果您想加速 Python 的现有部分,请将 @jit
与 CUDA 目标一起使用。