OpenCL: Nvidia vs. ATI



  • Hiho,

    ich beschäftige mich seit geraumer Zeit mit Programmierung auf der GraKa und will nun eben diese aufrüsten. Da ich für die API vom Hersteller unabhängig sein möchte, habe ich mich für OpenCL entschieden. Dann stellt sich dennoch die Frage welche GraKa besser geeignet ist. Ich habe aus meinem Umfeld verschiedene Meinungen gehört und bin daher gerade etwas unschlüssig. Das Budget liegt bei maximal 500€.
    Die Anwendung geht in Richtung Bildverarbeitung, Computer Vision, Machine Learning.
    Die Frage, hat jemand Erfahrung mit beiden Herstellern oder kennt eine gute Vergleichsseite, wo nicht nur Spiele verglichen werden sondern auch explizit auf die Umsetzung/Performance von OpenCL eingegangen wird?

    Vielen Dank schon mal im Voraus!



  • Ich habe ein ähnliches Problem und mich aus dem gleichen Grund für OpenCl entschieden. Da ich für diverse Programme unbedingt eine Cuda-Unterstützung brauche hatte ich mir eine Nvidia Titan Black gekauft. Preis/Leistung ist was double precision angeht sehr gut. Allerdings legt Nvidia nicht so viel Wert auf OpenCl und die Unterstützung von OpenCl 1.2 ist nicht wirklich super (2.0 schon gar nicht).

    Der Vorteil bei OpenCl ist aber dass du trotzdem den Code auf der CPU laufen lassen kannst. Wenn du nicht auf andere Programme angewiesen bist, die durch Cuda-Unterstützung effizienter laufen, dann würde ich eine AMD-Karte kaufen. Die neuen R390X-Modelle sind recht günstig, sehr Leistungsstark und haben einen großen Speicher. AMD beschneidet die Karten im Gegensatz zu Nvidia auch nicht zu sehr bei der double precision perfomance.



  • Fuer's experimentieren und lernen reicht sowieso eine CPU und wenn man es dochmal auf der Graka ausprobieren will, war selbst meine alte Radean HD 5670 war noch fantastisch schnell, wenn auch double precision fehlte.

    Ich bin der Ansicht, dass AMD das bessere Preis-leistungs-verhaeltnis hat, insbesondere wenn man den opencl-basierten Luxmark-benchmark anschaut. Zudem hat man unbeschnittene double-precision und es sieht so aus, als wuerde NVidia OpenCl bewusst veraltet halten und sogar etwas ausbremsen, um sich CUDA zu erhalten.

    Auf der Gegenseite hat AMD ziemlich schlechte Compiler, die mit grossen Programmen (z.B. cycles) kaum klar kommen und auch sonst langsam sind.
    Allerdings wird daran wohl ziemlich stark gearbeitet. Zudem bin gerade nicht so informiert, wie es mit der implementierung von vorkompiliertem Bytecode zur Zeit aussieht, denn der wird auch die programmstartzeit reduzieren.



  • Ich hab mich jetzt für eine nvidia GTX 970 entschieden, auch weil ich noch andere Bibliotheken benutzen muss, die CUDA brauchen.
    Werde mein Zeug aber in OpenCL schreiben. Es ist tatsächlich schade, dass die nvidia-Karten im OpenCL Standard etwas hinterhängen. Zwar steht teilweise schon Support für OpenCL 1.2 da, aber die Realität sieht dann doch etwas anders aus :-(.
    Danke aber für das Feedback.



  • dafuer haengt opencl wiederrum cuda hinterher, gerade manche kleinigkeit kann bei cuda echt viel bringen. eigentlich ist man am ende mit beiden entscheidungen ein wenig unzufrieden 😉


Log in to reply