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