Forum: PC-Programmierung OpenCl C Identifier Undefined


von Christian V. (michse)


Lesenswert?

der Kernel:
1
__kernel void distances(constant float* data, int n, int D, int k, global float* centroids,
2
                       global int* cluster, global float* distances  ){
3
                    local float l_distances[64];
4
               private    int idg=(int)get_global_id(0);
5
                    int idl=(int)get_local_id(0);
6
                    private double sqdist=0;
7
8
                    for(int i=0; i<k;i++){
9
                            sqdist=0;
10
                    for (int j=0; j<D;j++){
11
                        sqdist=fma((double)(centroids[i*D] -data[D*idg+j]),(double)(centroids[i*D]-data[D*idg+j]),sqdist);
12
                    }
13
                    l_distances[k*idl+i]=sqrt(sqdist);
14
15
16
                    }
17
18
19
                    private float d_min=0;
20
                    for(int i=0;i<k;i++){
21
                            d_min  =d_min<l_distances[k*idl+i]?l_distances[k*idl+i]:d_min;
22
                            cluster[idg]=d_min=l_distances[k*idl+i]?i:cluster[idg];
23
24
25
26
                    }
27
28
29
           distances[idg]=l_distances[idl];
30
31
32
}
die Fehlermeldungen: alle identifier in der letzten Zeile sind 
undefined, nach der Abschließenden Klammer erwartet der Compiler eine 
deklaration

von nicht"Gast" (Gast)


Lesenswert?

Wow,

selten so einen liebevoll dahin geklatschten Code gesehen.

Dann will ich mal in deer gleichen weise Antworten:

Vermutlich

  private    int idg=(int)get_global_id(0);

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.