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

: Bearbeitet durch User
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.