@cuda.jit 和 @jit(target='gpu') 的区别

Per*_*len 5 cuda numba

我有一个关于使用 Continuum 的 Accelerate 和 numba 包中的 Python CUDA 库的问题。是用装饰@jittarget = gpu一样的@cuda.jit

tal*_*ies 8

不,它们不一样,尽管最终编译到 PTX 到汇编程序的路径是。的@jit装饰是一般编译器的路径,其可以任选地转向到CUDA设备。该@cuda.jit装饰实际上是其连续Analytics(分析)已经开发出了低级别的Python CUDA内核方言。因此,您可以获得对 CUDA 内置变量(如 in )threadIdx和内存空间说明符__shared__的支持@cuda.jit

如果您想用 Python 编写 CUDA 内核并编译和运行它,请使用@cuda.jit. 否则,如果您想使用@jitCUDA 目标加速现有的 Python 使用。