PyOpenCL, hoe exponentiële functie te gebruiken, (OpenCL)

stemmen
11

Ik schrijf deze OpenCL code op Python met behulp van PyOpenCL dat exponentiële functie met zich meebrengt. Echter, ik weet niet hoe deze bibliotheek te laten werken omvatten. Dus in de kernel, het is gewoon zoals dit bijvoorbeeld:

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

    }
}

Ik heb geprobeerd om te gebruiken (van pyopencl.clmath import exp) aan het begin, maar het werkt niet. Toen ik probeerde om het programma te bouwen falen en geven deze:

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

Help alstublieft.

Zeer gewaardeerd

Jiajun

De vraag is gesteld op 12/03/2016 om 19:12
user
In andere talen...                            

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