我最近一直在尝试PyCuda
我现在想做一些非常简单的事情,分配一些内存。我假设我有一些基本的误解,因为这是一个相当简单的任务。我的理解是,通过下面的代码,我将创建一个512宽、160高、elementsize为1字节的2d Cuda阵列
下面是一些测试代码
import pycuda.driver as cuda
import pycuda.autoinit
# Alloc some gpu memory
test_pitch = cuda.mem_alloc_pitch(512,160,1)
当我试着运行这段代码时,我得到了以下错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pycuda._driver.LogicError: cuMemAllocPitch failed: invalid argument
如果有人对我做错了什么有任何见解,我们将不胜感激
引用CUDA驱动程序APIdocumentation
在本例中,前两个参数是PyCUDA调用中
mem_alloc_pitch
的返回值,而ElementSizeBytes
是access_size
你有:
也就是说,你的
access_size
是1,这是非法的。只有4、8或16是合法的。这就是错误相关问题 更多 >
编程相关推荐