Um OpenCL-Anwendungen auf der NVIDIA Platform zu tracen gibt es den NVIDIA Visual Profiler. Um sie auf der AMD Platform zu tracen gibt es den AMD APP Profiler. Problem gelöst – oder? Leider gibt es ein paar spezielle Situationen in denen das nicht reicht.
Da OpenCL sowohl auf CPUs als auch auf GPUs funktioniert kommt man recht schnell in die Situation in der mehr als ein OpenCL-Device verwendet werden will. Doch was passiert in diesem Fall mit dem kostbaren, weil wenigem, Grafikkartenspeicher? Die Funktion clCreateBuffer bietet ja leider keine Möglichkeit anzugeben auf welchem Device der Speicher allokiert werden soll.
Jeder der das erste mal versucht in einem OpenCL-Kernel eine Headerdatei mit #include "header.h" einzubinden scheitert für gewöhnlich mit einer Fehlermeldung im Stiele von catastrophic error: cannot open source file "header.h". Grund ist, dass der Compiler normalerweise nicht im Quellverzeichnis nach der Headerdatei sucht. Man muss dem Befehl clBuildProgram explizit den Pfad per Compileroption -I /pfad/zu/den/headern/ übergeben.
... ist der Titel meiner Diplomarbeit, mit welcher ich das Studium der Physik erfolgreich abschloss.
Sollten dir die Artikel auf dieser Seite gefallen und du Bitcoin für ein interessantes Experiment halten, so schicke doch eine kleine Spende an 15xm3pCrZN3SpYKFHXMWGiAjki9aMyFkDP .