1

Ich bin neu in Visual Studio und ich verwende es, um ein einfaches paralleles Sortierprogramm mit OpenCL zu schreiben. Wenn ich es ausführe, bekomme ich eine Zeile vor meiner Ausgabe (d. H. Vor, bevor ich den Ergebnispuffer erhalte und drucke) und sage "5 Errors Generated.". Ich nehme an, das sagt mir, dass ich Fehler in meiner Kernel-Datei habe, und wenn ich absichtlich Fehler in meiner Kernel-Datei schreibe, erhöht sich diese Zahl.Fehler in OpenCL Kernel-Code zur Laufzeit

Ich würde wirklich gerne wissen, was diese Fehler sind, damit ich mein Programm korrigieren kann. Da ich mit VS nicht vertraut bin, kann ich sie nirgends finden. Weiß jemand, wo ich finde, welche Fehler generiert werden. Danke

Antwort

2

Sie müssen clGetProgramBuidlInfo aufrufen für CL_PROGRAM_BUILD_LOG, um die Laufzeitfehler des Compilers zu erhalten.

char result[4096]; 
size_t size; 
clGetProgramBuildInfo(program, device, CL_PROGRAM_BUILD_LOG, sizeof(result), result, &size); 
printf("%s\n", result);