2024-03-29 12:37:47 发布
网友
应该很简单;我实际上想向a SourceModule内核声明发送一个int,其中C函数
__global__......(int value,.....)
在声明和调用值时。。。在
但是我从pycuda那里得到了很多错误,我使用了错误的类型。在
标准的PyCUDA函数接口要求参数有numpy的数据类型,因为它在内部暗中映射到C类型。因此,对于按值传递的标量参数,您需要首先“强制转换”为合适的numpy数据类型。有点像
value = 256 va = numpy.int32(value) func(va)
应该行得通。如果要传递单精度浮点值或数组,请确保显式使用np.浮动32,因为numpy在默认情况下使用双精度,因此您将出现类似的错误。在
标准的PyCUDA函数接口要求参数有numpy的数据类型,因为它在内部暗中映射到C类型。因此,对于按值传递的标量参数,您需要首先“强制转换”为合适的numpy数据类型。有点像
应该行得通。如果要传递单精度浮点值或数组,请确保显式使用np.浮动32,因为numpy在默认情况下使用双精度,因此您将出现类似的错误。在
相关问题 更多 >
编程相关推荐