PyOpenCL, comment utiliser la fonction exponentielle, (OpenCL)

voix
11

Je vous écris ce code OpenCL sur Python en utilisant PyOpenCL qui implique la fonction exponentielle. Cependant, je ne sais pas comment inclure cette bibliothèque pour le faire fonctionner. Ainsi, dans le noyau, il est tout simplement comme celui-ci par exemple:

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

    }
}

J'ai essayé d'utiliser (de exp import pyopencl.clmath) au début, mais il ne fonctionne pas. Quand j'ai essayé de construire le programme échouer et donner ceci:

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

S'il vous plaît aider.

Très appréciée

Jiajun

Créé 12/03/2016 à 19:12
utilisateur
Dans d'autres langues...                            

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