当我将标量值作为内核参数传递时,OpenCl给出错误的结果。但是,当我对内核中的值进行硬编码时,它可以完美工作。我认为我在内核代码中犯了一些错误。请帮助。
我尝试将参数作为全局参数传递,并从全局参数创建私有变量。
Subject
预期: 11.5,12.5,13.5,11.5,12.5,13.5,....... n
实际: 11.5,12.5,13.5, 0,12.5,13.5, 11.5,0,13.5, 11.5,12.5,0, 11.5,12.5,13.5, 0,12.5,13.5, 11.5,0,13.5, 11.5,12.5,0,....... n
答案 0 :(得分:0)
所有内核参数必须是__global,__local或__constant限定词。 您可以直接在需要的地方硬编码常量,也可以通过以下方式将其烘焙到OpenCL代码字符串中:
"\r\n #define fsx " + to_string(some_float_number) + "f \r\n"
或将它们声明为__constant值。