Jeg skriver dette OpenCL koden på Python bruke PyOpenCL som involverer eksponensiell funksjon. Men jeg vet ikke hvordan å inkludere dette biblioteket for å gjøre det arbeidet. Så i kjernen, er det rett og slett som dette for eksempel:
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);
}
}
Jeg prøvde å bruke (fra pyopencl.clmath import exp) i begynnelsen, men det fungerer ikke. Da jeg prøvde å bygge programmet den mislykkes og gi dette:
<program source>:28:66: error: call to '__fast_relax_exp' is ambiguous
res[i * dim + k] = (datacl[i * dim + k] - poscl[k]) *exp(0);
Vennligst hjelp.
Høyt verdsatt
Jiajun