[News] Intel: Programmbibliothek Math Kernel Library MKL durch Trick auf Intel optimiert.

Holzmann

The Saint
Thread Starter
Mitglied seit
02.05.2017
Beiträge
41.014
Findige User von CB haben herausgefunden, dass die Bibliothek in einen "Fallback-Modus" fällt sobald eine AMD CPU erkannt wird.

Dieser Modus soll sich nun wiederum austricksen lassen, sodass AMD CPUs hier Zen bis zu 258 Prozent mehr Leistung in zb Matlab haben.

Dabei stellt sich natürlich jetzt die Frage, ob es nun Intels oder die Schuld von Metalbs ist?

Quellen:
How-To force Matlab to use a fast codepath on AMD Ryzen/TR CPUs - up to 250% performance gains : matlab
Intel MKL: Workaround erhöht Leistung auf AMD Ryzen signifikant - ComputerBase
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hammer Aktion... das war wohl noch nicht alles.
Ich will gar nicht wissen, wie viele alte Programme da draußen noch schlummern mit "GenuineIntel"

Selbst die Redaktionen nutzen alte Versionen der Vergleichbarkeit...

Aha
 
Zuletzt bearbeitet:
Na ja bei Spielen interessiert das nicht oder sind da auch Beschränkungen versteckt welche CPU genutzt wird?
Das ist ein Problem bei wissenschaftlichen Berechnungen oder werden damit andere Programme und Anwendungen auch ausgebremst?

Solches Problem gab es ja schon früher mal. Hier mal was aus 2009.

https://www.agner.org/optimize/blog/read.php?i=49#49

Intel macht sich in letzter Zeit nicht viel Freunde, sollte so was auch in Gamecodes gefunden werden, müssten alle aber wirklich alle Benchmarks neu erstellt werden. Wie würde es dann mit dem Intel Vorsprung im Gaming aussehen.

Jetzt muss man so ziemlich jeden Benchmark unter Vorbehalt betrachten. Glaube das hier wird kein Sturm im Wasserglas, eher ein ausgewachsener Orkan.
 
@Gamer1969
Das kommt darauf an, AVX wird schon fleißig genutzt z.B. bei GRID2 oder GRID Motorsport.
AVX2 wird wirklich nur Wissenschaftliche Bereiche betreffen, allerdings ist alles Mathe was die CPU Hauptsächlich macht.

Raytracing geht auch eher in die Wissenschaftliche Nische -> GPU viel Fließkomma Berechnungen.
 
Das erinnert mich an VW und Co. Die Software erkennt, dass der Wagen auf einem Prüfstand ist.
Bin auf ein Statement von Intel gespannt, respektive Metalbs. :eek:
 
Nichts anderes kann man von dem Drecksladen erwarten. Holt ist bestimmt stolz darauf.
 
Holt Incoming …

Wird bestimmt eine schlaflose Nacht für den Guten. ;)

AMD sollte über einen MicroCode Update nachdenken, dass die AMD VendorID auf GenuineIntel setzt. :shot:
 
Zuletzt bearbeitet:
Mhmok,
ich bin jetzt wirklich nicht als Holtbeispringer bekannt, aber muss man der Fairness halber nicht konstatieren, dass das mehr eine Softwareproblematik der spezifischen Anwendung ist, als etwas, das man Intel ankreiden könnte?
 
Mhmok,
ich bin jetzt wirklich nicht als Holtbeispringer bekannt, aber muss man der Fairness halber nicht konstatieren, dass das mehr eine Softwareproblematik der spezifischen Anwendung ist, als etwas, das man Intel ankreiden könnte?

Hast du den Artikel dazu durchgelesen, die Links?
Sie prüfen auf „Intel“ und schalten bei false alles ab...
 
Herzlichen Glückwunsch, ihr habt ein 10 Jahre altes Phänomen einer von Intel programmierten und händisch optimierten Math Library wiederentdeckt um euch aufzuregen.
Math Kernel Library - Wikipedia

Aber naja, einen ganzen Wikipedia-Artikel inklusive Quellen lesen ist halt auch echt zu viel verlangt...
 
Herzlichen Glückwunsch, ihr habt ein 10 Jahre altes Phänomen einer von Intel programmierten und händisch optimierten Math Library wiederentdeckt um euch aufzuregen.
Math Kernel Library - Wikipedia

Aber naja, einen ganzen Wikipedia-Artikel inklusive Quellen lesen ist halt auch echt zu viel verlangt...
Herzlichen Glühstrumpf, die Allgemeinheit hat ein Delay von 10 Jahren.

Last uns weiter, altes Wissen verbreiten.
Die Menschheit degeneriert von selbst...
 
Hast du den Artikel dazu durchgelesen, die Links?
Sie prüfen auf „Intel“ und schalten bei false alles ab...

Und was ist daran jetzt so schlimm, dass man dazu unbedingt ein Statement veröffentlichen müsste?

Intel hat diese Library entwickelt und stellt diese Entwicklern zur Verfügung. Ist doch klar, dass diese, von Intel erstellte Library, auf die eigne Hardware optimiert wurde. Warum sollte Intel auch die Nutzung von AVX2 oder anderer Instruktionen auf nicht Intel CPUs gewährleisten?

AMD steht es frei, auch so eine Library zu entwickeln und diese den Entwicklern zur Verfügung zu stellen. Auch steht es Entwicklern frei eine andere Library zu nutzen.

Btw.: Auch finde ich es geil, wie der Redakteur von CB einfach mal ganz dreist hier abgeschrieben hat bzw. den Artikel einfach nur übersetzt hat, ohne dies zu vermerken..
 
Bis zum Statement von Intel oder Metalbs muss man natürlich beide für unschuldig halten.
Allerdings lassen die Erfahrung aus der Vergangenheit da aber kaum Interpretationsspielraum.:hust:
 
Wenn man eine AMD CPU hat, kann man doch einfach die AMD Math Library (LibM), wieso sollte man da erwarten das die Intel Lib auf AMD optimiert ist? Es wird auch keiner von der AMD Math Library erwarten, dass sie auf Intel CPUs optimiert sein wird. Was soll also der Sturm im Wasserglas?
 
Bis zum Statement von Intel oder Metalbs muss man natürlich beide für unschuldig halten.
Allerdings lassen die Erfahrung aus der Vergangenheit da aber kaum Interpretationsspielraum.:hust:

Liest du dir Quellen eigentlich jemals durch oder soll einfach nur dein Post-Counter hoch? Wieso Statement? Die Library gibt es seit 16 Jahren, seit 2009 Intel und AMD eine außergerichtliche Vereinbarung getroffen wurde bezüglich Compilerzeiten und Flags, wird die Library als Intel optimiert,auf Intel Hardware optimiert von Intel entwickelt und beworben. Dazu wird es keine Statements mehr geben, weil du 10 Jahre zu spät bist um ein Fass aufzumachen :rolleyes:
 
AMD steht es frei, auch so eine Library zu entwickeln und diese den Entwicklern zur Verfügung zu stellen. Auch steht es Entwicklern frei eine andere Library zu nutzen.
Die gibt es doch und ich wette wenn man die nimmt, schneiden Intel CPUs damit schlechter ab als AMD CPUs, da auch AMD sicher nicht auf Intel CPUs optimiert, so wie Intel eben nicht für AMD optimiert, dies muss schon jeder Hersteller selbst machen.

Btw.: Auch finde ich es geil, wie der Redakteur von CB einfach mal ganz dreist hier abgeschrieben hat bzw. den Artikel einfach nur übersetzt hat, ohne dies zu vermerken..
Du weißt doch von wem der Artikel geschrieben wurde und wenn Du Dir die Artikel von dem Ansiehst, dann weißt Du auch wie wenig neutral der Typ ist.
 
Zuletzt bearbeitet:
Aber naja, einen ganzen Wikipedia-Artikel inklusive Quellen lesen ist halt auch echt zu viel verlangt...

Das schockierende ist doch, dass sich in zehn Jahren bei Intels Verhalten rein garnichts getan hat.

Das coole wiederum ist, dass es jetzt einen Workaround gibt.

Übrigensbetrifft das Problem nicht nur Matlab. Python, R... alles läuft mit MKL.

Die gibt es doch und ich wette wenn man die nimmt, schneiden Intel CPUs damit schlechter ab als AMD CPUs, da auch AMD sicher nicht auf Intel CPUs optimiert, so wie Intel eben nicht für AMD optimiert, dies muss schon jeder Hersteller selbst machen.


Es gibt einen Unterschied zwischen "nicht optimieren" und aktiv alles abschalten was Performance bringt.

Ist dir irgendeine Software auf der Welt bekannt außer Intel Libs, die nach Vendor String Hardwarefähigkeiten beurteilen?

Mir nicht... und ich find man muss diesen scheiss nicht auch noch verteidigen.
 
Zuletzt bearbeitet:
Und was ist daran jetzt so schlimm, dass man dazu unbedingt ein Statement veröffentlichen müsste?

Intel hat diese Library entwickelt und stellt diese Entwicklern zur Verfügung. Ist doch klar, dass diese, von Intel erstellte Library, auf die eigne Hardware optimiert wurde. Warum sollte Intel auch die Nutzung von AVX2 oder anderer Instruktionen auf nicht Intel CPUs gewährleisten?

Optimieren ist aber was grundlegend anderes, als künstlich ausbremsen.
 
Eben, es geht nicht darum, dass die Software für Intel nicht für AMD optimiert ist. Die Software ignoriert einfach viele Funktionen der CPUs, wenn nicht Intel zurück gemeldet wird, obwohl die CPUs die Featuresets unterstützen.
Das hat nichts mehr mit Optimieren zu tun!
 
Zuletzt bearbeitet:
Es gibt einen Unterschied zwischen "nicht optimieren" und aktiv alles abschalten was Performance bringt.
Was heißt abschalten? Da wird nichts abgeschaltet, sondern einfach nur der Codepfad mit den Standardbefehle genutzt. Um Befehlserweiterungen wie AVX zu nutzen, müsste man diese validieren, die Programme sollen ja weder abstürzen noch falsche Ergebnisse liefern und man kann wirklich nicht verlangen, dass ein Hersteller seine Software auch noch für die Hardware des Konkurrenten validiert. BMW gibt für seine Felgen auch keine Freigaben für Audi oder Mercedes.

Ist dir irgendeine Software auf der Welt bekannt außer Intel Libs, die nach Vendor String Hardwarefähigkeiten beurteilen?
Interessiert mich das? Wenn es das würde, würde ich zuerst die AMD Math Lib durchforsten, ob da nicht die Kennung des CPU Herstellers abgefragt wird.

Mir nicht... und ich find man muss diesen scheiss nicht auch noch verteidigen.
Da gibt es nichts worüber man sich aufregen kann, außer dass bestimmte Softwarehersteller die die MKL nutzen, dann nicht darauf hinweisen und keine getrennten Versionen für AMD und Intel anbieten. Dafür kann man aber kaum Intel die Schuld geben und von Intel zu verlangen seine Lib auf AMD zu optimieren, ist einfach unrealistisch, wieso sollten sie dies tun? Es ist die Aufgabe von AMD für die Softwareunterstützung von AMD Produkten zu sorgen, nicht die der Wettbewerber!
 
Ob da Intel Mal wieder die Geldkoffer hat wandern lassen, da gerade die allmächtige Schublade versagt?
Man muss ja schließlich vorne bleiben, egal um welchen Preis...
 
Optimieren ist aber was grundlegend anderes, als künstlich ausbremsen.

Es wird hier aber nicht künstlich ausgebremst, sondern werden einfach bei den CPUs von anderen Herstellern nicht die gleichen Optimierungen angewandt, welche bei den eignen CPUs angewandt werden. Die CPUs von anderen Herstellern werden einfach nicht beachtet und bekommen kein Leistungspuls.

Klar könnte Intel eine Prüfung einbauen, welche Features von der jeweiligen CPU unterstützt werden. Doch warum sollte man das tun? Um die Konkurrenz zu unterstützen?
Bei den eignen CPUs weiß man, welche Features unterstützt werden und daher reicht eine einfache Unterscheidung anhand der CPUID.

Intel selbst gibt doch auch an, dass deren MKL nur für die eignen CPUs optimiert wird...


Ob da Intel Mal wieder die Geldkoffer hat wandern lassen, da gerade die allmächtige Schublade versagt?
Man muss ja schließlich vorne bleiben, egal um welchen Preis...

Nur ist diese angebliche Problematik nichts neues...
 
Jetzt mal im Ernst, eine Vendor String Abfrage wurde bereits schon Mal zu Recht als illegal angesehen.
Das Intel hier als Markführer über die Software fast 100% des Marktes ausschließt, dürfe sicherlich auch die Politik interessieren ...
 
Zuletzt bearbeitet:
Jetzt mal im Ernst, eine Vendor String Abfrage wurde bereits schon Mal zu Recht als illegal angesehen.
Das Intel hier als Markführer über die Software 90% des Marktes ausschließt, dürfe sicherlich auch die Politik interessieren ...

Ach, echt?
Dann zeig doch mal her.

Falls du den Fall mit den Intel-Compiler von damals meinst, dann solltest du noch einmal genauer nachlesen, was das Urteil war. Intel muss nur darauf hinweisen, dass die CPUs von anderen Herstellern keine Optimierungen erfahren.
 
Intel selbst gibt doch auch an, dass deren MKL nur für die eignen CPUs optimiert wird...

Machen sie das??
Also wenn ich mir die MKL Produkt Page ansehe, dann prangert da in so ziemlich der größten Schrift auf der ganzen Page dick und fett "The Fastest and Most-Used Math Library for Intel-Based Systems"
Intel® Math Kernel Library (Intel® MKL) | Intel® Software

Weiterhin:
"Supported Hardware
Intel® Xeon® processor
Intel® Core™ processor family
Intel Atom® processor
Intel® Xeon Phi™ processor
"

Thats it. Nicht mehr und nicht weniger... Da wird eine Alternative nichtmal erwähnt...


Irgendwie wird hier ne Mücke aus nem Elefanten gemacht.


Nach bisschen rumsuchen im Netz stieß ich auf nen Kommentar aus dem Intel Forum, der angeblich von einem der Entwickler hinter MKL geschrieben wurde:
supported processors
Der erste Teil wirkt in 2019 zwar bisschen komisch, weil es in 2019 eben durchaus Alternativen gibt (was 2010 noch deutlich schlechter ausschaute), aber der Mittelteil erklärt schonmal einiges.

Egal wie man es dreht, da gehts klar um eine Optimierung auf Drittanbieter-Hardware, die seitens des Produkts aber vollkommen ausgenommen wurde. Nur versteht das offenbar wieder mal sogut wie keiner - vor allem die AMDler nicht, die sich direkt wieder benachteiligt fühlen anstatt ihre eigene Software zu nutzen und einfach mal zufrieden zu sein mit dem, was sie haben...

Ob das jetzt allerdings ein feiner Schachzug seitens den Jungs hinter Mathlab ist, muss jeder für sich entscheiden. Möglicherweise hat das aber eben auch einfach nur technische Gründe, die so nicht von extern zu bewerten gehen? Wer kennt hier denn im Detail alle Funktionen, die Mathlab von MKL nutzt und ob da nicht vllt in MKL doch noch ein paar drin sind, die auf AMD Hardware schlicht nicht laufen??

Wenn man da mal tiefer in den Weiten des INets rumbohrt, dann findet man auch interessante Vergleiche zu AMD vs. Intel bei dem Thema:
AMD Ryzen 3900X vs Intel Xeon 2175W Python numpy - MKL vs OpenBLAS

Das Intel hier als Markführer über die Software fast 100% des Marktes ausschließt, dürfe sicherlich auch die Politik interessieren ...

Wo nur und ausschließlich Intel Support beworben wird, wird auch nix ausgeschlossen... MKL ist Intel only. Nachzulesen auf der Produktpage von MKL. Wer es auf Drittanbieter Hardware nutzt, nutzt halt den kleinsten gemeinsamen Nenner - in dem Fall soll das SSE2 sein. (entgegen Flenders seiner SSE1 Behauptung)
 
Intel selbst gibt doch auch an, dass deren MKL nur für die eignen CPUs optimiert wird...

Machen sie das??
Also wenn ich mir die MKL Produkt Page ansehe, dann prangert da in so ziemlich der größten Schrift auf der ganzen Page dick und fett "The Fastest and Most-Used Math Library for Intel-Based Systems"
Intel® Math Kernel Library (Intel® MKL) | Intel® Software

Weiterhin:
"Supported Hardware
Intel® Xeon® processor
Intel® Core™ processor family
Intel Atom® processor
Intel® Xeon Phi™ processor
"

Thats it. Nicht mehr und nicht weniger... Da wird eine Alternative nichtmal erwähnt...


Irgendwie wird hier ne Mücke aus nem Elefanten gemacht.


Nach bisschen rumsuchen im Netz stieß ich auf nen Kommentar aus dem Intel Forum, der angeblich von einem der Entwickler hinter MKL geschrieben wurde:
supported processors
Der erste Teil wirkt in 2019 zwar bisschen komisch, weil es in 2019 eben durchaus Alternativen gibt (was 2010 noch deutlich schlechter ausschaute), aber der Mittelteil erklärt schonmal einiges.

Egal wie man es dreht, da gehts klar um eine Optimierung auf Drittanbieter-Hardware, die seitens des Produkts aber vollkommen ausgenommen wurde. Nur versteht das offenbar wieder mal sogut wie keiner - vor allem die AMDler nicht, die sich direkt wieder benachteiligt fühlen anstatt ihre eigene Software zu nutzen und einfach mal zufrieden zu sein mit dem, was sie haben...

Ob das jetzt allerdings ein feiner Schachzug seitens den Jungs hinter Mathlab ist, muss jeder für sich entscheiden. Möglicherweise hat das aber eben auch einfach nur technische Gründe, die so nicht von extern zu bewerten gehen? Wer kennt hier denn im Detail alle Funktionen, die Mathlab von MKL nutzt und ob da nicht vllt in MKL doch noch ein paar drin sind, die auf AMD Hardware schlicht nicht laufen??

Wenn man da mal tiefer in den Weiten des INets rumbohrt, dann findet man auch interessante Vergleiche zu AMD vs. Intel bei dem Thema:
https://www.pugetsystems.com/labs/hpc/AMD-Ryzen-3900X-vs-Intel-Xeon-2175W-Python-numpy---MKL-vs-OpenBLAS-1560/

Das Intel hier als Markführer über die Software fast 100% des Marktes ausschließt, dürfe sicherlich auch die Politik interessieren ...

Wo nur und ausschließlich Intel Support beworben wird, wird auch nix ausgeschlossen... MKL ist Intel only. Nachzulesen auf der Produktpage von MKL. Wer es auf Drittanbieter Hardware nutzt, nutzt halt den kleinsten gemeinsamen Nenner - in dem Fall soll das SSE2 sein. (entgegen Flenders seiner SSE1 Behauptung)


Da ging es um die Gewährung von Rabatten im Handel durch Intel.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh