我有一个关于使用 Continuum 的 Accelerate 和 numba 包中的 Python CUDA 库的问题。正在使用装饰器@jit
与 target = gpu
同 @cuda.jit
?
最佳答案
不,它们不一样,尽管最终编译到 PTX 到汇编程序的路径是。 @jit
装饰器是通用编译器路径,可以选择将其引导到 CUDA 设备上。 @cuda.jit
装饰器实际上是 Continuum Analytics 开发的低级 Python CUDA 内核方言。因此,您可以获得对 CUDA 内置变量的支持,例如 threadIdx
和内存空间说明符,如 __shared__
在 @cuda.jit
.
如果你想用 Python 编写一个 CUDA 内核并编译和运行它,使用 @cuda.jit
.否则,如果您想加速现有的 Python 片段,请使用 @jit
带有 CUDA 目标。
关于cuda - @cuda.jit 和 @jit(target ='gpu') 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35890045/