PyOpenCL,如何使用指数函数,(OpenCL)

时间:2016-03-12 21:12:19

标签: python parallel-processing opencl pyopencl

我正在使用包含指数函数的PyOpenCL在Python上编写这个OpenCL代码。但是,我不知道如何包含此库以使其工作。所以在内核中,它就像这样:

kernelsource = """
__kernel void forceFinder(
    const int N,
    __global float* datacl,
    __global float* poscl,
    __global float* res)
{
    int i = get_global_id(0); // Global id;
    if (i < N) {

         res[i] = (datacl[i ] - poscl[i]) *exp(100);

    }
}
"""

我尝试在开头使用(来自pyopencl.clmath import exp),但它不起作用。当我尝试构建程序时,它失败并给出了这个:

<program source>:28:66: error: call to '__fast_relax_exp' is ambiguous
            res[i * dim + k] = (datacl[i * dim + k] - poscl[k]) *exp(0);

请帮忙。

非常感谢

嘉俊

0 个答案:

没有答案