Ich habe gerade versucht, mich mit OpenCL vertraut zu machen, aber ich war total verwirrt, als alle im Internet darüber sprachen, ein herstellerspezifisches OpenCL-SDK herunterzuladen. Warum sollte ich das brauchen?Brauche ich wirklich ein OpenCL SDK?
Mein Verständnis OpenCL die Verwendung war der folgende:
- die OpenCL-Header-Dateien herunterladen, die von Kronos im Khronos OpenCL Registry gehalten werden und es zu Ihrem Compiler zur Verfügung stellen.
- Kompilieren Sie Ihren Code und verknüpfen Sie mit der OpenCL.dll.
Der Grund, warum es mich verwirrt, ist, weil ich dachte, dass OpenCL herstellerspezifische Implementierungen weg abstrahieren sollte. Wenn ich jetzt ein herstellerspezifisches SDK runterlade, dann ist dieser Vorteil nicht zerstört?
Kann jemand bitte dies klar machen?
Perfekte Antwort Danke! Ich konnte diese Informationen im Internet nicht finden. Vielen Dank auch für die Erklärung der Details mit der OpenCL.lib, denn das wäre meine nächste Frage gewesen. – denim
Der nächste Schritt ist das dynamische Laden, in diesem Fall brauchen Sie nicht einmal die "OpenCL.lib", nur die Header und den Code, um den Zeiger auf die Funktionen aufzulösen, einige Leute kodierten bereits Werkzeuge dafür: https://github.com/martijnberger/clew – DarkZeros
Danke, ich war mir der dynamischen Belastung bewusst, war aber neugierig zu wissen, warum niemand es wirklich im Internet erwähnt. Alle redeten über die Verwendung eines herstellerspezifischen SDK. Jetzt weiß ich, dass die SDKs nicht schaden und dass sie optional sind. – denim