概述
我已经让提供的OpenCL内核在C环境中执行,但是当我尝试使用PyOpenCL和提供的代码运行它时,我得到了以下错误:> Traceback (most recent call last):
> File "integral.py", line 38, in
> example.execute()
> File "integral.py", line 26, in execute
> self.program.integrate_f(self.queue, self.a, None, self.a, self.dest_buf)
> File "/Library/Python/2.7/site-packages/pyopencl-2013.3-py2.7-macosx-10.9-
> x86_64.egg/pyopencl/__init__.py", line 506, in kernel_call
> self.set_args(*args)
> File "/Library/Python/2.7/site-packages/pyopencl-2013.3-py2.7-macosx-10.9-
> x86_64.egg/pyopencl/__init__.py", line 559, in kernel_set_args
> % (i+1, str(e), advice))
> pyopencl.LogicError: when processing argument #1 (1-based): Kernel.set_arg failed: invalid value -
> invalid kernel argument
所以看起来我给内核传递了一个无效的参数,但我不知道它为什么抱怨这个。有什么想法吗?在
^{pr2}$
__kernel void integrate_f(const unsigned int n, __global float* c)
{
unsigned int i = get_global_id(0);
float x_i = 0 + i*((2*M_PI_F)/(float)n);
if (x_i != 0 || x_i != 2*M_PI_F)
{
c[i] = exp(((-1)*(x_i*x_i))/(4*(M_PI_F*M_PI_F)));
}
else c[i] = 0;
}
最后
以上就是谦让店员为你收集整理的python open encoding为无效的参数_PyOpenCL,无法设置参数。无效值的全部内容,希望文章能够帮你解决python open encoding为无效的参数_PyOpenCL,无法设置参数。无效值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复