PyOpenCL, jak používat exponenciální funkci, (OpenCL)

hlasů
11

Píši tento kód OpenCL na Python pomocí PyOpenCL který zahrnuje exponenciální funkci. Nicméně, já nevím, jak zahrnout tuto knihovnu, aby to fungovalo. Takže v jádře, je to prostě takhle například:

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);

    }
}

Snažil jsem se použít (od pyopencl.clmath dovozu exp) na začátku, ale to nefunguje. Když jsem se pokusil sestavit program nezdaří a dát toto:

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

Prosím pomozte.

Vysoce ceněné

Jiajun

Položena 12/03/2016 v 19:12
uživatelem
V jiných jazycích...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more