Estou escrevendo este código OpenCL em Python utilizando PyOpenCL que envolve função exponencial. No entanto, eu não sei como incluir esta biblioteca para fazê-lo funcionar. Assim, no kernel, é simplesmente como esta, por exemplo:
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);
}
}
Eu tentei usar (de pyopencl.clmath exp importação) no início, mas ele não funciona. Quando eu tentei construir o programa ele falhar e dar a este:
<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 ajude.
Muito apreciado
Jiajun