Σας γράφω αυτό τον κωδικό 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