【发布时间】:2019-05-03 20:55:19
【问题描述】:
我有一个 Nvidia GPU,下载了 CUDA,并且正在尝试使用它。
假设我有这个代码:
#@cuda.jit (Attempted fix #1)
#@cuda.jit(device = True) (Attempted fix #2)
#@cuda.jit(int32(int32,int32)) (Attempted fix #3)
@njit
def product(rho, theta):
x = rho * (theta)
return(x)
a = product(1,2)
print(a)
如何使它与 cuda.jit 装饰器而不是 njit 一起工作?
我尝试过的事情:
当我将装饰器从 @njit 切换到 @cuda.jit 时,我得到:TypingError: No conversion from int64 to none for '$0.5', defined at None。
当我切换装饰器@cuda.jit(device = True) 时,我得到:TypeError: 'DeviceFunctionTemplate' object is not callable。
当我为输入和输出指定类型并使用装饰器 @cuda.jit(int32(int32,int32)) 时,我得到:TypeError: CUDA kernel must have void return type。
【问题讨论】: