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

标签 cuda numba

我有一个关于使用 Continuum 的 Accelerate 和 numba 包中的 Python CUDA 库的问题。正在使用装饰器@jittarget = 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/

相关文章:

cuda - 为什么每个线程在warp中都有自己的指令地址计数器?

python - 比较 numba 编译函数中的字符串

python - Numba jitclass 和继承

opengl - 将蒙娜丽莎渲染为 PBO

c++ - 使用 cuda_add_executable 命令的 Cmake 错误

c++ - 如何定义可由 CUDA 内核和常规 C++ 函数调用的利用函数

c - 非确定性 CUDA C 内核

python - Numba - 字符串类型

numba - 如何在协作室中使用numba

python - 我怎么知道我的 Embarrassingly Parallel 任务是否适合 GPU?