Ausführen von OpenCL auf Hardware von gemischten Anbietern

Ich habe mit der ATI OpenCL-Implementierung in der Betaversion von Stream 2.0 gespielt. Die OpenCL in der aktuellen Beta nutzt vorerst nur die CPU, die nächste Version soll GPU-Kernel unterstützen. Ich habe Stream heruntergeladen, weil meine Arbeitsmaschine eine ATI-GPU enthält.

Ich schreibe Software, die von den Vorteilen der GPU enorm profitiert. Wie auch immer diese Software auf Kundencomputern ausgeführt wird, ich habe nicht den Luxus (wie es in vielen wissenschaftlichen Computerumgebungen der Fall ist), die genaue Hardware für die Entwicklung auszuwählen und diese zu optimieren. Wenn ich also die ATI OpenCL-Implementierung mit meiner Anwendung verteile, heißt das, dass sie z. NVidia-Grafikkarten? Und wenn ich das NVidia OpenCL SDK verwende, läuft es dann nie optimal auf AMD-Chips (unter Berücksichtigung des ATI / AMD-Links)?

Mit anderen Worten, wer ist letztendlich für die Bereitstellung der OpenCL-Implementierung verantwortlich? Werden Benutzer in der Lage sein, z.B. Installieren Sie einen OpenCL-Treiber für Ihre NVidia-Grafikkarte, zusammen mit einem Treiber, der eine optimale Leistung für Ihre AMD-CPU bietet?

Abgesehen davon, gibt es neben den Khronos-Foren auch gute / aktive Support-Foren für OpenCL, oder ist das der richtige Ort? Ich habe gesehen, dass ATI ein Board hat und NVidia vermutlich ein eigenes, wo hängt die OpenCL-Benutzer- / Entwickler-Community ab? Hat es sich bereits an einem Ort konsolidiert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage