PyOpenCL, cómo utilizar la función exponencial, (OpenCL)

votos
11

Estoy escribiendo este código OpenCL en Python usando PyOpenCL que implica la función exponencial. Sin embargo, no sé cómo incluir esta biblioteca para que funcione. Así que en el núcleo, es simplemente así por ejemplo:

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

    }
}

He intentado utilizar (de pyopencl.clmath exp importación) al principio, pero no funciona. Cuando traté de construir el programa de fallar y dar a esto:

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

Por favor ayuda.

Muy apreciado

Jiajun

Publicado el 12/03/2016 a las 16:12
por usuario
En otros idiomas...                            

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