Alles rund um Compiler und Softwareentwicklung

Alles ein Frage des Blick Winkels.
Wir wollen so viel Infos, wie möglich.

Meta-Data ?

Jeder ist sich bewusst, ich bin nur ein Teil vom Puzzle.
 
Man liest ja nicht mehr so viel über OpenCL, jetzt ist Darktable 4.0* mit "much improved OpenCL performance" erschienen. Das Thema ist also noch aktuell. Ich frage mich auch, ob nicht so einige Projekte sich die Geschichte auf dem heutigen Stand (mit den aktuellen Möglichkeiten, Treibern und Tools) nochmal ansehen müssten.

* Darktable ist eine Software zur Aufbereitung und Verwaltung von digitalen Fotos (speziell auch RAW-Dateien).

 
Zuletzt bearbeitet:
Linux-Distributionen wie openSUSE Tumbleweed, RedHat Enterprise Linux, und andere heben die Hardware-Anforderungen für 2023 behutsam an, auf das Level x86-64-v2. Hierfür sind SSE3, SSE4.1, SSE4.2, SSSE3, CMPXCHG16B, LAHF-SAHF und POPCNT gefordert, sodass man beim AMD FX / Bulldozer landet. Anders als bei Windows wird es aber weiterhin Distributionen geben, die bei extrem niedrigen Hardwareanforderungen bleiben werden.

Die Hauptdistributionen können dadurch intensiven Gebrauch von den neuen Befehlen machen, was natürlich der Performance hilft.
 
Zuletzt bearbeitet:
Mesa 22.3 (für Linux) integriert jetzt RustiCL, das OpenCL 3.0 auf Basis verschiedener Backends in Rust implementiert.
RustiCL bringt auch den optionalen Image-Support mit, sodass sich Software wie Darktable beschleunigen lässt.
Unterstützt werden neben den üblichen Grafikchips von AMD und Intel (bei AMD über RadeonSI, das dürfte auch auf APUs zutreffen) auch beliebige Vulkan-Treiber über Zink!

Den gleichen Weg geht übrigens PoCL, das bisher dafür bekannt ist, OpenCL auf CPUs und "HSA-supported GPUs" auszuführen. Sie arbeiten ebenfalls an einem Vulkan-Treiber, um OpenCL über Vulkan laufen zu lassen.
 
Zuletzt bearbeitet:
Die Videobeschleunigung über Vulkan nimmt langsam Fahrt auf. Nachdem zuerst der AMD-Treiber diese Fähigkeit spendiert bekam, ist als nächstes der Intel-Treiber dran, und von Nvidia hört man mal wieder nichts. Zur Zeit funktionieren H.264 und H.265, VP9 und AV1 sollen nächstes Jahr nachgerüstet werden, für alle außer VP9 ist auch Encoding vorgesehen.
 
Damit hab ich nun gar nicht gerechnet, Hammer!
Jetzt wird auch klar, warum sie für manche Dinge lange gebraucht haben. Die Portierung auf Windows war bestimmt keine Kleinigkeit. Mit beiden Plattformen als Zielgruppe steigt die Bedeutung von ROCm auf jeden Fall an. Und Ressourcen für neue Features werden frei.
 
Ich habe mich früher mal gewundert, warum Grafikchip-Hersteller noch ziemlich lange an OpenGL-Treibern herum geschraubt haben, obwohl Vulkan schon einige Zeit verfügbar war. Wenn Vulkan so zögerlich angenommen wird, konnte das heißen: OpenGL ist 1. von Software-Herstellern bevorzugt, 2. ausgereifter und 3. verbreiteter.

Verbreiteter (bei Software-Produkten) war es zu dem Zeitpunkt bestimmt, aber bei den anderen Punkten ist es offenbar umgekehrt!
Laminar Research, Hersteller des Flugsimulators X-Plane, nutzt jetzt Zink als Übersetzungsschicht von OpenGL nach Vulkan. Als Grund nannte das Unternehmen, dass OpenGL-Treiber zu viele Fehler haben oder sich in der gleichen Situation anders verhalten als ein Konkurrenz-Treiber. Bei Vulkan ist das sehr viel besser, mit Hilfe von "Zink" müssen sie ihren OpenGL-Code auch nicht groß anpassen, weil er on-the-fly nach Vulkan übersetzt wird.

Später wollen sie das gleiche unter mac OS tun, und dann von Vulkan => OpenGL => Metal übersetzen. Performance ist hier offenbar kein Problem, und es zeigt, dass Apple sich mit seiner "exklusiven" Schnittstelle ziemlich verrennt, wenn Hersteller sie über solche Projekte umgehen, weil sie's einheitlich haben wollen.

 
Zuletzt bearbeitet:
Soweit ich das in Erinnerung habe ist die größte Stärke von OpenGL gleichzeitig für Spieler dessen größte Schwäche.
Es ist/war im professionellen Umfeld wichtig und beherrscht deshalb vieles was (vorerst) für Spiele noch keine Rolle spielt weil es nicht für die realtime Ausführung mit hoher Framerate gedacht war ABER es müssen sich eben alle beteiligten Absprechen um es in dem Standard aufzunehmen und das kostet vor allem Geschwindigkeit bei der Umsetzung neuer Features für Spieler, was DirectX zu nutzen wußte und genau hier setzt Vulkan an. Die Schnittstelle ist primär für Spieler gedacht und bei der Einführung neuer Funktionen muss man deshalb nicht die Interessen des professionellen Marktes berücksichtigen oder auf deren OK warten. Die können sich ja weiterhin mit OpenGL austoben.

Dass das Übersetzung über 2 APIs hinweg so wenig Geschwindigkeit kostet liegt vielleicht daran das vor allem die Ausführung des Codes Leistung kostet und das geschieht erst ganz am Ende. Der Code selbst transportiert ja "nur" die Funktionen. OpenGL ist dabei lediglich Mittelsmann zwischen Apples Plattform und dem Rest der Welt weil dies für alle Plattformen verfügbar ist. Dabei sind wir wieder bei dessen Stärken.
 
AMD hat sieben Vorträge von der Game Developers Conference auf einer Seite zusammengefasst, jeweils mit Foliensatz und Youtube-Links.
z. B. Ryzen Processor software optimization und Fidelity FX 3.0

@pipin: Falls da etwas für die Startseite dabei ist.
 
Das Fidelity FX SDK 1.0 ist fertig, und steht als Open Source zum Download zur Verfügung
 
Welche MIPS, die Einheiten in "Million Instructions Per Second"

Auch bekannt unter den 7zip Nutzer. ;)

7zip-benchendepnfwy.png
 
Zuletzt bearbeitet:
Viele Webseiten liefern Inhalte mit Brotli-Kompression aus, weil sie um 20 % besser komprimiert als gzip.
AMD hat seine Brotli-Bibliothek jetzt so erweitert, dass das Entpacken auch auf der Grafikkarte (respektive APU) erfolgen kann.

Im Alltag ist das einer von vielen nützlichen Bausteinen, um die Performance zu steigern. Ob Benchmarks den Usecase "Webseite herunterladen und anzeigen" realistisch erfassen können, kann ich nicht sagen.
 

Man müsste mal Testen, ob das ganze auch mit BOINC Cuda Anwendungen funktioniert und ob das dann schneller ist.
Vielleicht könne wir dann beim Penta etwas Boden bei GPU Projekten gut machen.
 
Zuletzt bearbeitet:

Man müsste mal Testen, ob das ganze auch mit BOINC Cuda Anwendungen funktioniert und ob das dann schneller ist.
Vielleicht könne wir dann beim Penta etwas Boden bei GPU Projekten gut machen.
Müsste man tatsächlich mal... Würde sich einer der P3D Kavallerie dazu bereiterklären? :)
 
Zurück
Oben Unten