News Intel MKL: Matlab R2020a beinhaltet offiziellen AMD-Workaround

Ich denke der wird nicht kommen, zumindest wenn man rational bei der Sache bleibt.

ZeroStrat schrieb:
Gut dann nehmen wir das jetzt raus aus CX, dann gibt's halt keine Sensordaten mehr. :freaky:

Uff, du verstehst den weiteren Zusammenhang wirklich nicht oder?
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Otsy
aldaric schrieb:
Natürlich ist es das.

Wo ist der Beleg bzgl. diverser Gerichtsurteile bezogen auf den AVX Support?

aldaric schrieb:
Und nein, der Industrie ist das nicht scheiß egal, wo so eine komplett überzogene Behauptung herkommt kann ich mir auch nicht vorstellen.

Wie hoch ist AMD's Marktanteil bei den OEMs?

biohaufen schrieb:
Uff, du verstehst den weiteren Zusammenhang wirklich nicht oder?

Ja, kleiner Scherz. Sorry. :D
 
  • Gefällt mir
Reaktionen: .Sentinel., bad_sign und biohaufen
ZeroStrat schrieb:
Wo ist der Beleg bzgl. diverser Gerichtsurteile bezogen auf den AVX Support.

Es geht nicht um AVX Support, es geht um Vendor-ID Abfragen die sinnvollen Code für andere Hersteller unterbinden soll.

Man muss sich ja nun nicht dumm stellen.
 
  • Gefällt mir
Reaktionen: Ned Flanders, Asmudeus, Bernd/das\Brot und 8 andere
Wie schon gesagt das ist 1:1 das Gleiche wie mit dem Compiler, andere Hersteller werden durch die Herstellerabfrage von der Nutzung lizensierter Erweiterungen ausgeschlossen. Das war und bleibt illegal.
Wenn AMD das unlizensiert nutzen würde dann wäre es was anderes aber dem ist nicht so.
 
  • Gefällt mir
Reaktionen: Smartbomb, s0UL1 und Volkimann
ZeroStrat schrieb:
Das hat nichts mit den Kunden zu tun. Intel ist nicht dafür verantwortlich, dass Kunden des Wettbewerbers Produkte nutzen können auf deren CPUs, wofür Intel selbst Millionen investiert hat.
Ich kann mich deiner Meinung anschließen. Obwohl es natürlich "nicht nett" von Intel ist.
Die Vorgehensweise ist ja folgende:
Code:
if "Intel"+"CPUgen": CPU Featurenutzung -> schnell
else: Fallback -> langsam
und nicht:
Code:
if "AMD": Fallback -> langsam
else: CPU Featurenutzung -> schnell

Fall 2 wäre klare Benachteiligung
Fall 1 hingegen ist einfach das linksliegenlassen der Konkurrenz

edit: auf jeden Fall gut daß hier Matlab mal vorangeht.
 
  • Gefällt mir
Reaktionen: ZeroStrat
ZeroStrat schrieb:
Warum tust du's dann? Wo ist der Beleg?

Die Belege mit dem C-Compiler und anderen Vergehen kann sich jeder selbst im Internet suchen.

Wo sind deine Belege das Intels Verhalten absolut Rechtskonform ist ? Die kannst du halt auch nicht liefern, da Intel schon verurteilt wurde.

Seine eigenen Interessen vertreten ist das eine, einen Fall-Back-Modus anhand der Vendor ID ist das andere.

Der einzige der sich hier massiv dumm stellt, bist dann leider du in der Diskussion.

Und so wie man hier im Thema liest, ist das nicht das erste mal.
 
  • Gefällt mir
Reaktionen: Asmudeus, Bernd/das\Brot, Smartbomb und 2 andere
gaelic schrieb:
Fall 2 wäre klare Benachteiligung
Fall 1 hingegen ist einfach das linksliegenlassen der Konkurrenz
Der Witz daran ist eigentlich das es auf exakt das gleiche Ergebnis hinausläuft. Würde man das ordentlich machen wollen, dann wäre z.B. sowas denkbar:

Code:
if "Vendor ID = Intel": CPU Featurenutzung + spezielle optimierungen -> extra schnell
else: check CPU Featurelevel -> schnell

und alle wären glücklich. Also alle außer Intel... :D

aldaric schrieb:
Der einzige der sich hier massiv dumm stellt, bist dann leider du in der Diskussion.

Ne... @ZeroStrat ist die Problematik wohlbewusst. Er vertritt hier einfach nur ne unpopuläre Meinung. zu den Gründen musste ihn aber selbst fragen.
 
  • Gefällt mir
Reaktionen: Smartbomb, denglisch, Celinna und eine weitere Person
Tzk schrieb:
ZeroStrat ist die Problematik wohlbewusst.
Dann stellt er sich wohl bewusst dumm. Wir haben das ganze schon beim Aufkommen der Meldung durchdiskutiert.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Asmudeus
Tzk schrieb:
Der Witz daran ist eigentlich das es auf exakt das gleiche Ergebnis hinausläuft. Würde man das ordentlich machen wollen, dann wäre z.B. sowas denkbar:

Code:
if "Vendor ID = Intel": CPU Featurenutzung + spezielle optimierungen -> extra schnell
else: check CPU Featurelevel -> schnell

Natürlich, aber wie schon andere angemerkt haben: Intel ist nicht die Caritas und Applaus wird es für so ein "Verhalten" nicht geben.
 
  • Gefällt mir
Reaktionen: .Sentinel. und Tzk
Colindo schrieb:
Die schreiben, dass der Workaround in der neueren MKL-Version enthalten ist. Ich glaube, die haben den CB-Artikel nicht verstanden...

Das ist definitiv falsch und nicht der Fall.

Der Workaround ist weder in der MKL Version 2019 Update 3 (so wie sie nun in Matlab R2020a zum Einsatz kommt) noch in der neusten MKL Version 2019 Update 4 ist der Workaround Bestandteil von MKL.

Das geschiet einzig durch die Laufzeitroutine in Matlab und auch nur dort!

Liebe Grüße
Sven
 
  • Gefällt mir
Reaktionen: Asmudeus, Smartbomb, Otsy und 4 andere
aldaric schrieb:
Wo sind deine Belege das Intels Verhalten absolut Rechtskonform ist ? Die kannst du halt auch nicht liefern, da Intel schon verurteilt wurde.

Bei allen anderen gilt die Unschuldsvermutung. Für Intel machst du eine Ausnahme? Quelle surprise...
 
  • Gefällt mir
Reaktionen: .Sentinel. und bad_sign
Naja ich sehe hier streng juristisch, halt eher die Softwareschmieden in der Pflicht eben einen CPU Feature check zu machen und diesen dann der MKL zu übergeben (so daß diese dann eben gemäß Feature liste läuft) und wenn ein Feature unsauber implementiert ist oder eben nicht korrekt unterstützt ist gibts halt ein Fehler und die "Schuld" ist hier dann der CPU-Hersteller.

Oder eben optional gemäß Vendor-ID direkt auf openBLAS zu setzen für non-genuine Intel (man kann natürlich auch AOCL nutzen und andere Vendor libraries je nach Vendor string (https://developer.amd.com/amd-aocl/ ).
Aber das ist halt dann wieder Zusatzarbeit für die Softwares. Alternativ müssten diese und Intel halt auch exklusiv draufschreiben. Intel MKL läuft nur auf Intel CPUs (Vendor ID check). Aber genau das haben die Gerichte ja schon as illegal herausgestellt. Also muss man eben doch nach "Feature Set" prüfen lassen...

Und genau da liegt der Hase halt so ein bisschen zwischen Intel und den Softwareanbietern.

Intel darf gemäß Gerichte eigentlich nicht "simpel" nach teilweise Vendor ID diskrimieren. Also entweder VOLL oder eben nicht.

Also entweder muss es heissen "Intel CPU" => Läuft. Non-Intel CPU => Läuft nicht. Ich vermute das Intels Juristischer Standpuntk hier aber ist. non-Intel CPU => nur alten x86 Codepfad, keine CPU Featuresets.

Wenn Intel das aber machen würde, dann kann man sich sicher sein, daß 99.99% der Entwickler von Computesoftware quasi sofort auf OpenBLAS umstellen.
Also macht Intel das lieber nicht und nutzt dies auch noch um die Konkurrenz hier und da absichtlich auszubremsen.
 
ZeroStrat schrieb:
Wo bleibt der Shitstrom, dass MathWorks das nicht einsetzt? :D

Das haben sie übrigens sogar getestet, genau wie die OpenBLAS. Da aber Matlab quasi um die MKL herumgebaut wurde ist das scheinbar kein trivaler Task. Zumindest werfen scheinbar "alle alternativen Libs Fehler im LA Testpack von ML" aus.

Möglicherweise wurde das ganze auch von Intel abgesegnet. Möglicherweise sagt Intel einfach "wenn ihr das validiert, dann könnt ihr den Debug Mode benutzen". Im HPC Bereich wird der Mode ja schon länger verwendet. Auch muss der ja irgendwie von Intel herausgegeben worden sein, denn er ist nicht offiziell dokumentiert. So unwahrscheinlich ist das jedenfalls imho nicht. Jedenfalls nicht unwahrscheinlicher als das Mathworks, deren Produkt vollständig an der MKL und damit an Intel hängt, einfach mal ohne Intel gefragt zu haben einen Pro AMD Automatik einbaut die Intel doof aussehen lässt.

Zu eurer Spirale ob das jetzt ok ist, von Intel, oder nicht: Ich glaube auch das die Deutsche Sprache da nicht die richtigen Wörter her gibt. Im Englischen nennt man sowas "to pessimize" was ich elegant finde, weil es das Gegenteil von Optimieren ist, aber noch nicht zwangsläufig Vorsatz unterstellt.

Aber mit solchen Pessimierungen lassen sich allerhand miese Nummern durchziehen, gerade vorsätzlich und die Diskussion hier zeigt ja, dass auch ohne einen nachweisbaren Vorsatz, völlig logisch ist warum Intel das tut. Und dabei hätten sie es nichtmal nötig, denn AVX512 kann kein AMD Prozessor. Warum also selbst AVX2, ja selbst AVX verbieten? Das macht doch wenig Sinn im Angesicht des Shitstorms seit 10 Jahren.

Wäre ich bei Intel für sowas verantwortlich, ich würde das ändern und AVX512 in allen CPUs freischalten.... kommt ja eh bald. Das reicht völlig aus als Alleinstellungsmerkmal in diesem Bereich um im Fall des Falles pro Intel zu entscheiden. Und by the way ist AVX512 ne ziemliche Mess was unterschiedliche Implementierungen in unterschiedlichen CPUs angeht. So einfach wie jetzt über den Debug Mode Set 5 gehts bei AVX512 mit Set 6 sicherlich nicht mehr weiter.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Asmudeus, Fritzler, s0UL1 und 2 andere
ZeroStrat schrieb:
Das hat nichts mit den Kunden zu tun. Intel ist nicht dafür verantwortlich, dass Kunden des Wettbewerbers Produkte nutzen können auf deren CPUs, wofür Intel selbst Millionen investiert hat.

Ansonsten wechseln Industriegrößen wie Matlab oder Numphy zur Open Source Konkurrenz (alleine schon, um nicht selbst Opfer von Klagen zu werden).
Dann kann Intel die Entwicklungskosten komplett abschreiben.
 
Ein guter und richtiger schritt von matlab so schnell darauf einzugehen. Man muss ja immer erstmal alles verifizieren und sich kümmern. Dass es noch in den Hauptrelease gekommen ist habe ich Initial nicht zu hoffen gewagt, aber schön dass es doch geklappt hat. Da werden sich einige Kollegen sehr freuen die viel mit matlab arbeiten.
 
Iscaran schrieb:
ntel MKL läuft nur auf Intel CPUs (Vendor ID check). Aber genau das haben die Gerichte ja schon as illegal herausgestellt.
Wo soll das illegal sein? Wenn Intel klar kommuniziert das die MKL nur auf Intel läuft (sprich schmeisst einen Fehler wenns keine Intel Cpu ist), dann sehe ich dabei kein Problem. Wenn man die Mitbewerber aktiv bremst, dann ist das ein Problem. Wobei die MKL eher ne passive denn aktive Bremse ist und deshalb zwar unschön ist, aber vermutlich nicht illegal.
 
  • Gefällt mir
Reaktionen: .Sentinel. und gaelic
ZeroStrat schrieb:
Bei allen anderen gilt die Unschuldsvermutung. Für Intel machst du eine Ausnahme? Quelle surprise...
Das Verwerfliche ist eigentlich, dass AMD gültige Lizenzen hat um AVX, AVX2 etc. einzubauen!
In der Quintessenz kassiert Intel vorteile aus der Lizenzvereinbarung (x64) und blockt die Verwendung der zur Verfügung gestellten Erweiterungen.
Ob da sogar noch Lizenzzahlungen stattfinden weiss ich leider nicht.

Wo ist das bitteschön eine legitime Vorgehensweise?
 
  • Gefällt mir
Reaktionen: Asmudeus, Smartbomb, denglisch und 4 andere
Argoth schrieb:
Das Verwerfliche ist eigentlich, dass AMD gültige Lizenzen hat um AVX, AVX2 etc. einzubauen!

Was hat nun die Lizensierung dieser Funktionalitäten mit der mkl Library zu tun?

Die lib nutzt diese Funktionen, das tun aber andere auch, z.b. openblas: https://www.phoronix.com/scan.php?page=news_item&px=OpenBLAS-0.3.8-Released
Ergänzung ()

Tzk schrieb:
Wo soll das illegal sein? Wenn Intel klar kommuniziert das die MKL nur auf Intel läuft (sprich schmeisst einen Fehler wenns keine Intel Cpu ist), dann sehe ich dabei kein Problem.
Fehler gibts keinen. Es wird nur kein AVX, etc. verwendet.
 
Zurück
Oben