News Tuxedo: Aus für Linux-Notebook mit Snapdragon X Elite

mae schrieb:
Da kenne ich durchaus einige Leute. Ein relativ bekanntes Beispiel ist z.B. Alexander Yee.
Das sind Free-Lancer, die für ihre Arbeit bezahlt werden.

Niemand hindert AMD die anzuheuern. Bei ROCm passiert es ja im großen Stil.

mae schrieb:
Aber wenn eine Firma will, dass bestimmter Code optimiert wird, dann engagiert sie eben solche Leute, oder sie wenden sich an ihren CPU- oder ggf. GPU-Lieferanten.
Wenn es um das Umsetzen der eigenen Algorithmen geht, kann einem das niemand anders abnehmen. Entweder hat man die Experten in House oder heuert Freelancer an.

Aber für Standardalgorithmen in Standardbibliotheken und für die Open Source Tools sind nun Mal die Hersteller der Hardware verantwortlich. Der Witz an der Sache ist, dass es keine bessere Dokumentation als gut geschriebener Source Code gibt. Also wenn ein Hersteller will, dass die eigene Hardware das volle Potential ausspielen kann, muss der Hersteller die Basis schaffen.

mae schrieb:
Und Intel will natuerlich auch, dass die neueste Befehlssatzerweiterung schnell unterstuetzt wird, bevor AMD sie auch hat, und sie wollen auch, dass die Befehle verwendet werden, die auf Intel schnell sind, und nicht die, die auf Intel langsam sind.
Intel wird das vielleicht auch machen. Intel hat es in der Vergangenheit so gemacht.

Aber es wäre doch seit 2022 die Gelegenheit für AMD gewesen Intel mit AVX-512 vorzuführen. AMD hat es soweit ich mitbekommen habe, nicht gemacht.
 
ETI1120 schrieb:
Wenn es um das Umsetzen der eigenen Algorithmen geht, kann einem das niemand anders abnehmen. Entweder hat man die Experten in House oder heuert Freelancer an.

Ich habe mehrfach Berichte gelesen, dass Intel-Mitarbeiter in anderen Unternehmen (wohl wichtigen Intel-Kunden oder ISVs) mit den Softwareentwicklern dort zusammengearbeitet haben, und ihnen geholfen haben, Intel-Befehlssatzerweiterungen einzusetzen.

Aber für Standardalgorithmen in Standardbibliotheken und für die Open Source Tools sind nun Mal die Hersteller der Hardware verantwortlich.

Bei freier Software und open source sind zunaechst einmal die Maintainer der Software verantwortlich. Ein Hardwarehersteller kann da mithelfen, indem er ihnen Hardware oder Accounts zur Verfuegung stellt, und/oder patches.

Der Witz an der Sache ist, dass es keine bessere Dokumentation als gut geschriebener Source Code gibt.

Wenn das so waere, koennten wir uns die Muehe sparen, Dokumentation zu schreiben.

Aber es wäre doch seit 2022 die Gelegenheit für AMD gewesen Intel mit AVX-512 vorzuführen. AMD hat es soweit ich mitbekommen habe, nicht gemacht.

AMD hatte halt seit 4 Jahrzehnten die Rolle, der kleine Intel-kompatible CPU-Hersteller zu sein. Sie haben sich darauf konzentriert, dass Ihre Hardware bei dem Code, der fuer Intel optimiert wurde, auch schnell ist. Und sie hatten lange nicht den Marktanteil, dass sich ISVs und Maintainer freier Software damit belasten wuerden, AMD-spezifische Optimierungen zu machen; so ist z.B. 3DNow sang- und klanglos untergegangen, und AMD hat letztlich die Unterstuetzung fuer 3DNow in AMD-Prozessoren ab Bulldozer und Bobcat nicht mehr implementiert. Von daher waeren solche Bemuehungen von AMD auf wenig Gegenliebe gestossen. Vielleicht aendert sich das langsam, aber es dauert sowohl won der Seite AMDs als auch von der Seite der Software-Entwickler, bis so etwas wirklich ankommt und Fruechte traegt.
 
mae schrieb:
Ich habe mehrfach Berichte gelesen, dass Intel-Mitarbeiter in anderen Unternehmen (wohl wichtigen Intel-Kunden oder ISVs) mit den Softwareentwicklern dort zusammengearbeitet haben, und ihnen geholfen haben, Intel-Befehlssatzerweiterungen einzusetzen.
Intel hat traditionell eine sehr gute Unterstützung ihrer Kunden durch Field Engineers. Da ist schon so, bevor es den 8086 gab.

Der hervorragende Support durch Field Engineers ist auch einer der Gründe warum es Intel letztendlich geschafft hat, den an sich schlechteren 8086, gegen die besseren CPUs 68000 und Z80 im Markt zu etablieren. Dabei ist der IBM PC nur einer von 2000 design wins die Intel am Ende von 1980 hatte. Intel hat dabei noch Ende 1979 wie der sichere Verlierer ausgesehen.*)

AFAIU zählen die Field Engineers nicht zur Entwicklung sondern zum Marketing

Weil der Support durch Field Engineers durch AMD bisher sehr schlecht war, hatte AMD auch sehr große Probleme im Embedded Markt Fuß zu fassen.
mae schrieb:
Bei freier Software und open source sind zunaechst einmal die Maintainer der Software verantwortlich. Ein Hardwarehersteller kann da mithelfen, indem er ihnen Hardware oder Accounts zur Verfuegung stellt, und/oder patches.
Nein. So läuft es nicht. Bei Linux sind die Hersteller dafür verantwortlich, dass ihre Hardware anständige Treiber hat. Das ist doch Eurer Thema, dass sich hier Qualcomm nicht ausreichend genug engagiert hat.

mae schrieb:
Wenn das so waere, koennten wir uns die Muehe sparen, Dokumentation zu schreiben.
Was Softwareerstellung angeht ist funktionierender Code die Basis jeder brauchbaren Dokumentation.

Du erkennst eine schlechte Softwarereferenz daran, dass keine Codeschnipsel enthalten sind.

mae schrieb:
AMD hatte halt seit 4 Jahrzehnten die Rolle, der kleine Intel-kompatible CPU-Hersteller zu sein. Sie haben sich darauf konzentriert, dass Ihre Hardware bei dem Code, der fuer Intel optimiert wurde, auch schnell ist.
Das war das vorgehen von AMD als CPU Hersteller. Sie haben Intel im Massenmarkt angegriffen.
mae schrieb:
Und sie hatten lange nicht den Marktanteil, dass sich ISVs und Maintainer freier Software damit belasten wuerden, AMD-spezifische Optimierungen zu machen; so ist z.B. 3DNow sang- und klanglos untergegangen, und AMD hat letztlich die Unterstuetzung fuer 3DNow in AMD-Prozessoren ab Bulldozer und Bobcat nicht mehr implementiert.
Das musste AMD machen, da AMD keinen Zugriff auf die Befehlssatzerweiterungen von Intel hatte und Intel über die Befehlssatzerweiterungen die Konkurrenz distanzieren wollte.

Aber eben auch hier gilt, einfach eine Befehlssatzerweiterung zu machen und dann keine Field Engineers bereitstellen, die helfen diese Befehlssatzerweiterung in den gängigsten Programmen implementieren, scheitert. Vor allem wenn man der kleinere Wettbewerber ist.

3DNow wurde unnötig weil AMD durch das Patenttauschabkommen Zugriff auf SSE etc. bekommen hat.

mae schrieb:
Von daher waeren solche Bemuehungen von AMD auf wenig Gegenliebe gestossen.
Jede Bemühung von AMD in der Open Source wurde wohlwollend registriert und angenommen. Aber AMD hat auch das Engagement in den Nachwehen des Bulldozer Fiaskos drastisch gekürzt. Und anstatt eigene Leute zu beschäftigen bezahlt AMD AFAIU SUSE für die Arbeit an den Compilern.

mae schrieb:
Vielleicht aendert sich das langsam, aber es dauert sowohl won der Seite AMDs als auch von der Seite der Software-Entwickler, bis so etwas wirklich ankommt und Fruechte traegt.
Es wird von Seiten AMD besser, aber es ist IMO nicht angemessen. Und hier ist nicht Nvidia der Massstab sondern Intel. Nvidia hat zwar lange auf dem Blob beharrt, hatte aber im Gegensatz zu AMD immer gute Treiber für Linux.

*) Die Geschichte der Operation Crush, ist der Aufhänger des Buches "Marketing High Techlogy" von William H. Davidow. Dadurch dass sich Computerplattformen etabliert haben treffen einige Aussagen des Buchs nicht mehr auf CPUs zu. Durch das Internet haben sich auch die Vertriebswege gewandelt.

Aber die Essenz ist geblieben. Ein Computerchip ist kein vollständiges Produkt.

Im übrigen, der erste Satz des ersten Kapitels ist, MARKETING IS CIVILISED WARFARE.

PS. Ich habe vor über Weihnachten "The Pentium Chronicles" von Robert P. Colwell endlich komplett durchzulesen
 
  • Gefällt mir
Reaktionen: ILoveShooter132 und Piktogramm
ETI1120 schrieb:
AFAIU zählen die Field Engineers nicht zur Entwicklung sondern zum Marketing

Sehe ich auch so.

Nein. So läuft es nicht. Bei Linux sind die Hersteller dafür verantwortlich, dass ihre Hardware anständige Treiber hat. Das ist doch Eurer Thema, dass sich hier Qualcomm nicht ausreichend genug engagiert hat.

Urspruenglich wurden die Treiber von den Linux-Kernel-Entwicklern fuer die Hardware entwickelt, die sie halt hatten, und die dokumentierte Interfaces hatte (das war damals allerdings normal). Dabei gab's zwangsweise eine Verzoegerung zwischen Marktstart und dem Erscheinen des Linux-Treibers (und fuer speziellere Hardware wurden gar keine Treiber entwickelt). Als Linux-Support fuer gewisse Hardware zu einem wichtigen Thema im Marketing wurde, haben halt die Hardware-Hersteller angefangen, selbst Treiber zu entwickeln, damit sie zum Marktstart vorhanden ist. Gleichzeitig gab's eine Entwicklung, dass die Hardware-Interfaces immer komplizierter wurden und die Hardware-Hersteller dazu uebergegangen sind, die Treiber statt der Doku herauszugeben. Und da lag dann fuer entsprechend geneigte Hersteller (eigentlich alle) die Idee nahe, den Code proprietaer als binary herauszugeben, um es anderen noch etwas schwerer zu machen, etwas ueber das Interface herauszufinden. In Windows ist das ohnehin der Normalfall, in Linux ist das unerwuenscht, und wird schwer gemacht.

[edit]Zum Qualcomm-Aspekt: Die geben ja weder Doku fuer die Hardware her, die sie verkaufen, noch Linux-Treiber. Als Ergebnis gibt es weder Linux-Treiber von ihnen noch von sonst jemandem.[/edit]

Was Softwareerstellung angeht ist funktionierender Code die Basis jeder brauchbaren Dokumentation.

Das ist etwas anderes als Du urspruenglich behauptet hast ("keine bessere Dokumentation als gut geschriebener Source code"), aber selbst das stimmt nicht. Code, von dem der Autor meint, dass er funktiniert, kann einfach ein mistiges Interface haben, wie man beim Schreiben der Doku erkennt. Dann aendert man den Code so, dass er ein sauberes Interface hat. Umgekehrt kann man auch zuerst die Doku schreiben, und kommt dann beim Schreiben des Codes drauf, dass man's besser doch anders macht (und aendert dann die Dokumentation). Code und Dokumentation sind symbiotisch miteinander verbunden.

Du erkennst eine schlechte Softwarereferenz daran, dass keine Codeschnipsel enthalten sind.

Eigentlich erkenne ich eine schlechte Dokumentation daran, dass ich nach Codeschnipseln suche, die das ergaenzen, was im Text fehlt. Codeschnipsel koennen zwar als Abkuerzung hilfreich sein, sind aber kein Ersatz fuer eine vollstaendige Doku.

Das musste AMD machen, da AMD keinen Zugriff auf die Befehlssatzerweiterungen von Intel hatte und Intel über die Befehlssatzerweiterungen die Konkurrenz distanzieren wollte.

Wieso meinst Du, dass sie diesen Zugriff nicht hatten? Sie haben im K6 (1997-04-02) jedenfall MMX implementiert (eine Intel-Erweiterung, eingefuehrt mit dem Pentium MMX (1997-01-08)). Sie haben im K6-2 (1998-05-28) zusaetzlich noch ihr eigenes 3DNow implementiert; zu dem Zeitpunkt hatte Intel keine SIMD-Erweiterung fuer FP. Intel brachte dann mit dem Pentium-III (1999-02-28 eingefuehrt) SSE und mit dem Pentium 4 (2000-11-20) SSE2. AMD hat dann im Athlon XP (2001-10-09) SSE implementiert und im Opteron (2003-04-22) SSE2. Es schaut fuer mich nicht danach aus, als haetten sie irgendwelche Hindernisse gehabt, die verhindert haben, dass sie Intel-Befehlssatzerweiterungen implementieren.

AMD hat 3DNow implementiert, weil Intel damals in dem Bereich nichts hatte und weil es dieselbe Einschraenkung einhielt wie MMX (kein zusaetzlicher Zustand, den das Betriebssystem beim context switch abspeichern muss). Intel hat diese Einschraenkung bei SSE nicht mehr eingehalten und hat die Betriebssystemhersteller auf anderem Weg dazu gebracht, den zusaetzlichen Zustand zu speichern.

Und mit SSE war 3DNow dann erst recht uninteressant. Davor war es uninteressant, weil AMD so eine schwache Stellung im Markt hatte.

Aber eben auch hier gilt, einfach eine Befehlssatzerweiterung zu machen und dann keine Field Engineers bereitstellen, die helfen diese Befehlssatzerweiterung in den gängigsten Programmen implementieren, scheitert. Vor allem wenn man der kleinere Wettbewerber ist.

Ich glaube nicht, dass Field Engineers viel geholfen haetten, dafuer war der Marktanteil des K6-2 und von AMD allgemein zu klein, und SSE kam zu schnell (9 Monate nach 3DNow).

3DNow wurde unnötig weil AMD durch das Patenttauschabkommen Zugriff auf SSE etc. bekommen hat.

Wie man an MMX sieht, hatte AMD solche Abkommen und solchen Zugriff auch davor.

Es wird von Seiten AMD besser, aber es ist IMO nicht angemessen. Und hier ist nicht Nvidia der Massstab sondern Intel. Nvidia hat zwar lange auf dem Blob beharrt, hatte aber im Gegensatz zu AMD immer gute Treiber für Linux.

Das kann mein Kollege, der Linux auf einem PowerBook (Nvidia-Grafik) laufen lassen wollte, nicht bestaetigen. Ich hatte dagegen ein iBook mit ATI-Grafik, da lief Linux samt grafischer Oberflaeche. Und ich denke, mein Kollege war nicht der einzige.
 
Zuletzt bearbeitet:
mae schrieb:
Urspruenglich wurden die Treiber von den Linux-Kernel-Entwicklern fuer die Hardware entwickelt, die sie halt hatten, und die dokumentierte Interfaces hatte (das war damals allerdings normal). Dabei gab's zwangsweise eine Verzoegerung zwischen Marktstart und dem Erscheinen des Linux-Treibers (und fuer speziellere Hardware wurden gar keine Treiber entwickelt). Als Linux-Support fuer gewisse Hardware zu einem wichtigen Thema,
Am Anfang war es ein Projekt von Enthusiasten. Und das war es eben für die Community notwendig, Treiber selbst zu schreiben. Aber das hat sich schon lange geändert. Linux wird in vielen Bereichen kommerziell genutzt und ohne Treiber entfällt der Markt.

Ich denke auf dem Client gibt es noch die größten Probleme, da viele Anbieter mit Windows als Markt zufrieden sind.

mae schrieb:
[edit]Zum Qualcomm-Aspekt: Die geben ja weder Doku fuer die Hardware her, die sie verkaufen, noch Linux-Treiber. Als Ergebnis gibt es weder Linux-Treiber von ihnen noch von sonst jemandem.[/edit]
Die Doku herauszugeben ist unter Umständen gar nicht möglich.

Den Treiber selbst zu schreiben ermöglich es dem Hersteller die Teile, die er gar nicht offenlegen will oder darf in einen Blob zu packen der vom Open Source Treiber aufgerufen wird.

mae schrieb:
Das ist etwas anderes als Du urspruenglich behauptet hast ... sind aber kein Ersatz fuer eine vollstaendige Doku.
Darauf antworte ich gesondert.

mae schrieb:
Wieso meinst Du, dass sie diesen Zugriff nicht hatten?
Da habe ich wohl was durcheinander geworfen.

mae schrieb:
Ich glaube nicht, dass Field Engineers viel geholfen haetten, dafuer war der Marktanteil des K6-2 und von AMD allgemein zu klein, und SSE kam zu schnell (9 Monate nach 3DNow).
Möglich, aber Hardwarefeatures rauszuhauen und sich nicht darum zu kümmern, dass sie verwendet werden können ist typisch AMD.

mae schrieb:
Das kann mein Kollege, der Linux auf einem PowerBook (Nvidia-Grafik) laufen lassen wollte, nicht bestaetigen. Ich hatte dagegen ein iBook mit ATI-Grafik, da lief Linux samt grafischer Oberflaeche. Und ich denke, mein Kollege war nicht der einzige.
Das mag sich geändert haben.

Aber eher von Seiten Linux/Distributionen als von Nvidia. Nachdem AMD einen Open Source Kernel Treiber hat, werden gegenüber Nvidia die Daumenschrauben angezogen.
 
ETI1120 schrieb:
Die Doku herauszugeben ist unter Umständen gar nicht möglich.

Den Treiber selbst zu schreiben ermöglich es dem Hersteller die Teile, die er gar nicht offenlegen will oder darf in einen Blob zu packen der vom Open Source Treiber aufgerufen wird.
Welche Dokumentation meinst du? Hardwareenabelment betreibt Qualcomm selber im Kernel und betreibt damit großartig auch Dokumentation der Hardware. Der Userspaceteil ist mehr oder weniger LLVM Backend, wo kaum Kritisches zu erwarten ist. Zudem eine entsprechende Implementierung durch Dritte existiert.
Einzig irgendwelche Schnittstellen für Kundengängelung (Rechtemanagement) kann schwerlich offengelegt werden.
ETI1120 schrieb:
Möglich, aber Hardwarefeatures rauszuhauen und sich nicht darum zu kümmern, dass sie verwendet werden können ist typisch AMD.
Soooo schlimm ist die Bude auch nicht mehr in den letzten Jahren. GPUs inkl De- und Endcoding laufen, Compiler können mit den CPUs umgehen. RoCm entwickelt sich positiv.

ETI1120 schrieb:
Das mag sich geändert haben.

Aber eher von Seiten Linux/Distributionen als von Nvidia. Nachdem AMD einen Open Source Kernel Treiber hat, werden gegenüber Nvidia die Daumenschrauben angezogen.
Naja, AMD wollte anfangs ein Abstraktionslayer für die Windowstreiber in den Kernel patchen und ist daran gescheitert, weil die Maintainer vom Kernel da kein Bock drauf hatten. Wobei auch damals schon die Ansage war, dass ein Treiber Out of Tree keinerlei Berücksichtigung finden wird, beim Entwickeln des Kernels. Interne APIs wie ABIs sind ja nicht garantiert stabil.

Wobei die Schrauben für die GPL API-Calls nicht nur für Nvidia sondern alle anderen Out of Tree Basteleien ohne GPL verschärft wurden. PowerVR und dessen Ableger, die ganzen ARM SoCs, ...
 
Piktogramm schrieb:
Welche Dokumentation meinst du?
Ich habe hier auf den Einwurf geantwortet die machen nicht Mal Doku.

So wie ich es verstehe keine Software sondern nur die Doku bereitstellen die man bräuchte um den Treiber zu erstellen.
Piktogramm schrieb:
Soooo schlimm ist die Bude auch nicht mehr in den letzten Jahren. GPUs inkl De- und Endcoding laufen, Compiler können mit den CPUs umgehen. RoCm entwickelt sich positiv.
Es hat sich einiges verbessert.

Aber so wie AMD bei der NPU in Phoenix agiert hat war der Klassiker. Und das obwohl alles bei AMD Embedded vorhanden war.

ROCm hat aber erst so richtig Drive seit Anush Elangovan hier pusht.

Piktogramm schrieb:
Naja, AMD wollte anfangs ein Abstraktionslayer für die Windowstreiber in den Kernel patchen und ist daran gescheitert, weil die Maintainer vom Kernel da kein Bock drauf hatten. Wobei auch damals schon die Ansage war, dass ein Treiber Out of Tree keinerlei Berücksichtigung finden wird, beim Entwickeln des Kernels. Interne APIs wie ABIs sind ja nicht garantiert stabil.
Das ist doch das Schöne am Kernel. Man redet drüber und es gibt immer eine Entscheidung.

Und am Kernel erkennt man das große Defizit der Dinge außen herum. Es gibt niemanden der es zusammen hält.

Piktogramm schrieb:
Wobei die Schrauben für die GPL API-Calls nicht nur für Nvidia sondern alle anderen Out of Tree Basteleien ohne GPL verschärft wurden. PowerVR und dessen Ableger, die ganzen ARM SoCs, ...
Einer der Vorteile von Open Source ist, dass es im Fall der Fälle einfach ist zu debuggen. Was natürlich nicht mehr geht wenn der Kernel einen Blob aufruft.

Man darf auch die Cloud Provider bei der Geschichte nicht vergessen. Die machen auch massiv Druck was die Firmware anbelangt. Wenn AMD tatsächlich OpenSil ausrollt wird es für die anderen Halbleiter Hersteller nicht einfacher.
 
Zurück
Oben