PyOpenCL, hvordan du bruker eksponentiell funksjon, (OpenCL)

stemmer
11

Jeg skriver dette OpenCL koden på Python bruke PyOpenCL som involverer eksponensiell funksjon. Men jeg vet ikke hvordan å inkludere dette biblioteket for å gjøre det arbeidet. Så i kjernen, er det rett og slett som dette for eksempel:

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

    }
}

Jeg prøvde å bruke (fra pyopencl.clmath import exp) i begynnelsen, men det fungerer ikke. Da jeg prøvde å bygge programmet den mislykkes og gi dette:

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

Vennligst hjelp.

Høyt verdsatt

Jiajun

Publisert på 12/03/2016 klokken 19:12
bruker
På andre språk...                            

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