PyOpenCL, πώς να χρησιμοποιούν εκθετική συνάρτηση, (OpenCL)

ψήφοι
11

Σας γράφω αυτό τον κωδικό OpenCL σε Python χρησιμοποιώντας PyOpenCL που περιλαμβάνει εκθετική συνάρτηση. Ωστόσο, δεν ξέρω πώς να συμπεριλάβει αυτήν τη βιβλιοθήκη για να την κάνουμε να λειτουργήσει. Έτσι, στον πυρήνα, είναι απλά σαν αυτό για παράδειγμα:

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

    }
}

Προσπάθησα να χρησιμοποιήσει (από pyopencl.clmath exp εισαγωγής) στην αρχή, αλλά δεν λειτουργεί. Όταν προσπάθησα να οικοδομήσουμε το πρόγραμμα θα αποτύχει και να δώσει αυτό:

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

Παρακαλώ βοηθήστε.

πολύ εκτίμησα

Jiajun

Δημοσιεύθηκε 12/03/2016 στις 19:12
χρήστη
Σε άλλες γλώσσες...                            

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