OpenCL in iApps?

Joe75

Mitglied
Thread Starter
Dabei seit
14.04.2009
Beiträge
84
Reaktionspunkte
6
Hallo Leute!

Es würde mich mal interessieren, welche iApps schon die mit MacOS 10.6 eingeführte Technologie "OpenCL" nutzen.

Danke!
 
Ja, bisher ist OpenCL leider der (erwartete) Rohrkrepierer. Es gibt zwei drei Benchmarks, aber noch keine(?) einzige echte Applikation, die das nutzt. Selbst unter Windows, wo das Thema schon länger da ist, ist die entsprechende Software sehr rar gesät und irgendwie teils noch im Beta-Stadium.
Es scheint nicht ganz so einfach zu sein, mit OpenCL zu programmieren...

Schade, gerade bei Videokonvertierung, Bildbearbeitung, Rendering wäre eine GPU-Beschleunigung sehr sinnvoll.
 
Zuletzt bearbeitet:
Naja ... unter Windows gibt's einige Tools (zB Videokonverter), die die GPU nutzen!

Ich bin kein Experte in MacOS-Programmierung, aber Adobe heult ja auch rum, dass ihnen APIs "verweigert" werden.

Ist es evtl. Apples Schuld, weil sie so manches Interface nicht freigeben?

... wobei es natürlich lächerlich ist, dass nicht mal Apple-eigene Programme die Technik nutzen.
 
Zuletzt bearbeitet:
Genau, und herrlich auch: bei AMD/ATI werden keine Stream-Treiber wie Catalyst für die GraKa wegen Schwierigkeiten mit Apple und den verweigerten Schnittstellen geschrieben.

Toll, danke Apple. Manchmal ist das eine recht arroganter Laden von dem Herrn Jobs, andererseits habe ich als Blimse auch keinen Einblick in die Firmenpolitik ;)

So long, Thomas
 
... wobei es natürlich lächerlich ist, dass nicht mal Apple-eigene Programme die Technik nutzen.

Genau, dass ist es was mich am meisten wundert!
Statt es anderen zu zeigen wie "wunderbar" OpenCL alles beschleunigt! Mr. Jobs da gehört ordentlich an der Justierschraube gedreht!!! sonst :auslach:
 
Naja ... unter Windows gibt's einige Tools (zB Videokonverter), die die GPU nutzen!

Ich bin kein Experte in MacOS-Programmierung, aber Adobe heult ja auch rum, dass ihnen APIs "verweigert" werden.

Ist es evtl. Apples Schuld, weil sie so manches Interface nicht freigeben?

... wobei es natürlich lächerlich ist, dass nicht mal Apple-eigene Programme die Technik nutzen.

Ähm, Du weißt schon, daß OpenCL ein offener Standard ist, OpenCL selbst stellt die APIs.
Da ist nichts mit Apple gibt dies und jenes nicht frei. OpenCL ist nicht auf MacOs beschränkt, sondern kann auch auf Windows, Linux, etc. laufen. Also wie OpenGL.

Die Krux ist wohl vielmehr, daß bei OpenCL viele Fehler von OpenGL wiederholt wurden, v.a. ist wohl viel zu viel Raum für extrem unterschiedliche Implementierungen, was den eigentlichen Sinn der Schnittstelle ad absurdum treibt. Einmal Programmieren und der Code läuft überall, auf Windows, MacOS, Linux ist da offenbar nicht. Ja selbst auf ein und demselben System muß man den Code wohl zu großen Teilen dann noch spezifisch an die jeweilige NVidia- oder ATI-Implementierung anpassen...

Da fehlt eben gerade die strenge herrschende Hand, wie es z.B. Microsoft bei DirectX betreibt. Es sollte bei OpenCL eine Zertifizierung à la Microsofts WHQL geben, nach der die Treiber eben nur dann gültig sind, wenn sie dir dortigen Kompatibilitätstests bestanden haben.


Und wie schon gesagt: selbst unter Windows, wo das Thema jetzt doch schon wirklich alt ist (seit mindestens der ATI X1800), gibt es immer noch nur einige wenige Videokonverter, die dazu dann noch jeweils auf herstellerspezifische APIs setzen und eben NICHT auf OpenCL.
 
Zuletzt bearbeitet:
Ähm, Du weißt schon, daß OpenCL ein offener Standard ist, OpenCL selbst stellt die APIs.
Da ist nichts mit Apple gibt dies und jenes nicht frei. OpenCL ist nicht auf MacOs beschränkt.

Ändert aber nichts an der Tatsache, dass die Zugriffe durch das Betriebssystem verarbeitet werden müssen, und wenn dort so manche API nicht dokumentiert ist, tut man sich hart.

Wie läuft's denn bei OpenGL?
Wenn Dein Grafikkartentreiber nur OpenGL 2.0 unterstützt, werden Befehle nach OpenGL 3.3 oder 4.0 in der normalen CPU verarbeitet und das war's!
 
Ändert aber nichts an der Tatsache, dass die Zugriffe durch das Betriebssystem verarbeitet werden müssen, und wenn dort so manche API nicht dokumentiert ist, tut man sich hart.

Wie läuft's denn bei OpenGL?
Wenn Dein Grafikkartentreiber nur OpenGL 2.0 unterstützt, werden Befehle nach OpenGL 3.3 oder 4.0 in der normalen CPU verarbeitet und das war's!

Der Grafikkartentreiber wird aber von NVidia und ATI programmiert - Apple hilft da evtl. hie und da bei der Integration ins System aus - aber den eigentlichen Treiber kann nur der GPU-Hersteller selbst schreiben.
Wen die ganze OpenCL-Krux näher interessiert, der kann sich ja mal diesen Thread zu Gemüte führen.

Es gibt selbst von den Grafikkartenherstellern unter Windows erst seit ganz kurzem SDKs, die dann oft noch Beta (oder weniger sind). Mit neuen Versionen des ATI-SDK laufen auf einmal Dinge, die mit der vorhergehenden Version noch gelaufen sind, nicht mehr (und das beim selben System und demselben GPU-Hersteller :eek:)

Davon, daß die von Apple hauptsächlich verbaute ATI 4x00-Reihe wie auch die prä-DX10 GPUs jetzt sowieso primär nicht so wirklich gut für OpenCL geeignet sind, will ich nicht auch noch anfangen.
 
Zuletzt bearbeitet:
Zurück
Oben Unten