Nachrichten

OpenCL-Performance-Probleme mit HD-4000-Karten - Kein Grund für Treiber-Updates?

Grafik | 05.01.2010, 06:30
"General Purpose Computation on Graphics Processing Unit" oder kurz GPGPU ist wohl eines der neuen Schlagwörter der vergangenen Jahre. Als logische Konsequenz bieten die beiden Grafikhersteller NVIDIA und AMD seit kurzem auch Treiber mit Unterstützung für die herstellerunabhängige Programmierschnittstelle OpenCL an. Aufgrund des jungen Alters von OpenCL und den zugehörigen Treibern besteht logischerweise noch in beiden Lagern Optimierungsbedarf. Einem Mitarbeiter-Beitrag im Developer-Forum von AMD zu Folge scheint man die Anstrengungen bei AMD jedoch gänzlich auf die HD-5000-Serie zu richten, und lässt bekannte Performance-Probleme auf der HD-4000-Serie auch zukünftig unbehandelt.

Konkret handelt es sich um den Local Data Store, welcher bei AMD mit dem RV770 (Radeon HD 4870) eingeführt wurde. Dieser kleine Speicherbereich, der bei NVIDIA unter dem Namen Shared Memory bekannt ist, zeichnet sich durch besonders geringe Zugriffszeiten aus. Jedoch unterliegt der Local Data Store der HD-4000-Serie einigen Einschränkungen, die eine Treiber-Umsetzung für OpenCL in dieser Hinsicht erschweren. Aus diesem Grund bilden aktuelle Catalyst-Treiber den "Local Memory" bei HD-4000-Karten derzeit schlicht und einfach komplett auf den deutlich langsameren globalen Speicher ab. Der Local Data Store liegt somit gänzlich brach.

Ein Umstand der je nach Programm-Code zu teilweise erheblichen Performance-Einbußen führen kann. Nichtsdestotrotz scheint man bei AMD dem bekannten Problem mit zukünftigen Treiber-Optimierungen nicht entgegenwirken zu wollen. Laut einem Mitarbeiter im AMD-Developer-Forum läge AMDs Augenmerk bei der Treiber-Entwicklung im Bereich OpenCL ganz klar auf der HD-5000-Serie. Die HD-4000-Serie sei nicht im Hinblick auf OpenCL entworfen worden und es sei nicht geplant OpenCL-spezifische Probleme dieser Modellreihe mit zukünftigen Treibern auszubessern.
[ls]







Stichworte zur Meldung: Data Store Local Lds Hd-4000-serie Opencl
 
9 Kommentare

Re: [News] OpenCL-Performance-Probleme mit HD-4000-Karten - Kein Grund für Treiber-Updates?

Fabian O
(vom 05.01.2010 um 09:20)

Hi,

genau der falsche Weg, den AMD da mal wieder einschlägt. Ich frag mich echt warum das Management bei denen nicht kappiert, dass OpenCL wohl ihre letzte Chance bedeutet, in das Gewinnträchtige HPC-/GPGPU-Geschäft zu kommen. Die meisten vertrauen auf NVIDIAs CUDA-Lösungen, und solche Meldungen, führen bestimmt nicht dazu, dass man zu AMD wechselt. Wer weiß schließlich wie es mit OpenCL 1.1 oder folgenden Spezifikationen aussieht. Wird es die dann nur für nachfolgende Serien performant geben? Einfach nur traurig...

Just my 2 cents

Re: [News] OpenCL-Performance-Probleme mit HD-4000-Karten - Kein Grund für Treiber-Updates?

Drohne
(vom 05.01.2010 um 11:33)

@Fabian O.: Dem stimme ich zu. Was bei AMD passiert, entzieht sich der Logik, betrachtet man die resultierende Situation. Nachdem es nun endlich mit OpenCL ernst wird, scheint ein AMDsches Ränkespiel enttarnt zu werden. Bislang galten AMD Karten, bis hin zur HD4800 Serie, als uneingeschränkt GPGPU-fähig. Dieser Meinung sind jedenfalls sehr viele meiner Kollegen, die derzeit auf den OpenCL-Zug aufspringen möchten. Die Meldung, die zuerst auf Khronos Homepage zu lesen war, besagte, daß beim Vergleich einer GT260 (nVidia) mit einer HD4870 (AMD) letztere nur 1/5 der Leistung der nVidia Karte brachte. Das ist nicht viel und schon gar nicht deutlich mehr als das, was mit einer modernen CPU zu leisten ist.

Es scheint, als würde es sich wirklich zu warten lohnen, bis nVidia mit 'Fermi' die Katze aus dem Sack läßt und man dann im direkten Vergleich sehen kann, was beide, AMD und nVidia, mit standardisierten OpenCL-Kernen auf beiden Systemen zu leisten imstande sind.

Wie Du schon gesagt hast, AMDs Verhalten bzgl. der Treiberkorrektur scheint eher konraproduktiv hinsichtlich Einstieg in den GPGPU/HPC-Markt zu sein. Eventuell sind die technischen Probleme des AMD/ATi-Designs aber so groß, daß es einfach nicht ohne Klimmzüge gehen würde. So oder so bedenklich.

Re: [News] OpenCL-Performance-Probleme mit HD-4000-Karten - Kein Grund für Treiber-Updates?

Robert
(vom 05.01.2010 um 12:18)

Unter der Annahme,das die Aussage von AMD auch das wirkliche Problem beschreibt, wäre es doch aus Sicht des Managements logisch, OpenCL erst auf einem auch dafür geeigneten und ausreichend schnellen Produkt laufen zu lassen. Eine trotz Treiberanpassung schlechte OpenCL-Performance auf der 4xxxer-Generation wäre imagemäßig kontraproduktiv, erst recht, wenn du (Treiber-)Entwicklungsleistungen von der 5xxx-Gerneration dafür abziehen musst. Dann schiesst du dir nämlich doppelt ins Knie.
Vielleicht hat man bei AMD zu spät versucht, die 4xxx noch OpenCL tauglich zu machen.

Re: [News] OpenCL-Performance-Probleme mit HD-4000-Karten - Kein Grund für Treiber-Updates?

Peter
(vom 05.01.2010 um 12:19)

Nun, ich vermute als Grund hier keine Gleichgültigkeit, sondern vielmehr fehlende Manpower.

Re: [News] OpenCL-Performance-Probleme mit HD-4000-Karten - Kein Grund für Treiber-Updates?

Limit64
(vom 05.01.2010 um 13:33)
Naja, als die HD4000er Serie entwickelt und veröffentlicht wurde, war OpenCL noch kein Thema. nVidia hatte CUDA und AMD/ATI hatte Stream. Mit letzteren Schnittstelle kann man den genannten Speicher benutzen (er ist bis zur HD4000 Generation read-only). Das Problem hier ist nun, dass OpenCL keine solchen "read-only" Speicher vorsieht. Man kann ihn also entweder für OpenCL freigeben und bei jeder Schreiboperation gibt es es eine Fehlermeldung oder man benutzt ihn nicht. Man könnte evtl. hier und da noch ein paar Tweaks einbauen, aber viel bringen würde das alles nicht.

Das ganze ist also kein Treiberproblem, sondern einfach eine Beschränkung der Hardware, zu deren Entwicklungszeit GPGPU-Computing nur eine untergeordnete Rolle gespielt hat. nVidia ist schon eine Generation früher umgeschwenkt und hatte daher leichte Vorteile. Erst mit der HD5000 Serie hat AMD/ATI den gleichen Funktionsumfang wie die GT200 Serie (mal ein bisschen weniger, mal ein bisschen mehr). Der Schritt zu Fermi ist dagegen weniger umwälzend. Dort wurde hauptsächlich Augenmerk auf verbesserte DP Performance (haben die AMD/ATis schon länger) und vor allem auf einfachere Programmierbarkeit gelegt.

Übrigens: Im HPC-Markt ist noch garnichts entschieden. Richtig interessant und lukrativ wird es erst dann, wenn die ersten großen Hersteller (IBM, HP, Dell, ...) entsprechende Rechner anbieten. Bisher sind die meisten GPU befeuerten Supercomputer reine Bastellösungen von Forschungseinrichtungen, bei denen die Computer selbst noch Forschungsobjekte sind. Erst wenn die großen Anbieter in den Markt einsteigen und auch entsprechenden Support anbieten werden solche System richtig Fuß fassen können.