PyOpenCL, jak korzystać z funkcji wykładniczej (OpenCL)

głosy
11

Piszę ten kod OpenCL w Pythonie przy użyciu PyOpenCL która obejmuje funkcję wykładniczą. Jednak nie wiem jak to tej biblioteki, aby to działało. Więc w jądrze, to jest po prostu jak to na przykład:

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

    }
}

Próbowałem użyć (z pyopencl.clmath importowej exp) na początku, ale to nie działa. Kiedy próbowałem budować program nie powiedzie się i dać w ten sposób:

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

Proszę pomóż.

cenione

Jiajun

Utwórz 12/03/2016 o 19:12
użytkownik
W innych językach...                            

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