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