2014-02-26 9 views
8

Ich frage mich, ob nvidia spir backend unterstützt oder nicht? Wenn ja, konnte ich kein Dokument und Beispiel dazu finden. aber wenn nicht, gibt es eine möglichkeit, spir backend auf nvidia gpus zu arbeiten? Dank im VorausUnterstützt NVidia OpenCL SPIR?

+0

Unterstützt * any * Anbieter SPIR noch? Die Spezifikation wurde erst vor einem Monat fertiggestellt. – delnan

+0

eigentlich weiß ich nicht, welcher Hersteller derzeit SPIR unterstützt. Gibt es irgendeine Zwischensprache (wie PTX), die von Radeon-Geräten verwendet wird? – grypp

+2

Es ist unwahrscheinlich, dass dies in absehbarer Zeit auch geschieht. nVidia bemüht sich seit Jahren darum, die schlechteste OpenCL-Unterstützung bereitzustellen (z. B. "ARB_cl_event" und "cl_khr_gl_event" kategorisch nicht zu implementieren, was OpenCL für 80-90% seiner Anwendungen nutzlos macht, unabhängig von der Version). Natürlich würden sie gerne, wenn Sie stattdessen CUDA verwenden. – Damon

Antwort

4

Da SPIR auf OpenCL Version 1.2 aufbaut und bisher Nvidia keine OpenCL 1.2 Treiber zur Verfügung gestellt hat, ist es nicht möglich, SPIR mit Nvidia GPUs zu verwenden. Wie in den Kommentaren erwähnt, hat Nvidia PTX als Zwischensprache verfügbar gemacht (ebenfalls basierend auf LLVM IR). Man könnte erwägen, SPIR in PTX zu übersetzen, aber ich weiß nicht, wie realistisch das wäre.

Andere Hersteller wie AMD und Intel zeigen bereits Unterstützung für SPIR. Dies kann überprüft werden, indem die CL_DEVICE_EXTENSIONS mit der clGetDeviceInfo OpenCL API abgefragt wird. Wenn die Ergebniszeichenfolge cl_khr_spir enthält, unterstützt der Treiber SPIR.