Ich versuche Matrixmultiplikation mit OpenCl zu machen. A ist 1000x1000, B ist 1000x1000, also ist mein C = AxB auch 1000x1000. Mein local_size ist zum Beispiel 14.Wie wählt man richtig work_group_size?
size_t local_item_size[2] = { local_size, local_size };
ich, dass die Arbeitsgruppe Größe gelesen haben es die Größe ist mein Problem. C hat zwei Dimensionen, so dass ich versuchen würde,
size_t work_group_size[2] =
{ N, N };
err = clEnqueueNDRangeKernel(dev.queue, kernel, 2, 0,
global_item_size, work_group_size,
0, NULL, &event);
zu setzen Aber ich bekomme ein CL_INVALID_WORK_GROUP_SIZE
. Wie kann ich richtig wählen global_item_size Die maximale Arbeitsgruppengröße meines PCs beträgt 1024. Bedeutet das, dass ich nicht mit größeren Matrizen arbeiten kann? Vielen Dank