PyOpenCL, come utilizzare la funzione esponenziale, (OpenCL)

voti
11

Sto scrivendo questo codice OpenCL su Python utilizzando PyOpenCL che coinvolge funzione esponenziale. Tuttavia, non so come includere questa libreria per farlo funzionare. Così nel kernel, è semplicemente in questo modo, per esempio:

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

    }
}

Ho cercato di usare (da pyopencl.clmath import exp) all'inizio, ma non funziona. Quando ho provato a costruire il programma fallire e dare a questo:

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

Per favore aiuto.

Molto apprezzato

Jiajun

È pubblicato 12/03/2016 alle 19:12
dall'utente
In altre lingue...                            

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