gpt4 book ai didi

python - PyCUDA 按值将变量传递给内核

转载 作者:太空狗 更新时间:2023-10-30 02:06:08 25 4
gpt4 key购买 nike

应该足够简单;我确实想将一个 int 发送到 SourceModule 内核声明,其中 C 函数

__global__......(int value,.....)

随着值的声明和调用...

value = 256
...
...
func(value,...)

但是我从 pycuda 收到了各种错误,表明我使用了错误的类型。

最佳答案

标准 PyCUDA 函数接口(interface)要求参数具有 numpy 数据类型,因为它在内部确实映射到引擎盖下的 C 类型。因此,对于按值传递的标量参数,您需要先“转换”为合适的 numpy dtype。有点像

value = 256
va = numpy.int32(value)

func(va)

应该可以。如果您要传递单精度浮点值或数组,请确保明确使用 np.float32 数据类型,因为 numpy 默认使用 double ,您最终会遇到类似的错误。

关于python - PyCUDA 按值将变量传递给内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5710690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com