News Intel MKL: Workaround erhöht Leistung auf AMD Ryzen signifikant

Dai6oro schrieb:
Was ich aber schon wieder geil finde ist, dass Intel legitreviews vorgeschlagen hat MATLAB fürs CPU testing zu nehmen. Ein dickmove von der Firma nach dem anderen. Alles! was dieser Verein vorschlägt sollte 2x-3x geprüft und im Zweifelsfalle nicht verwendet werden.
Bei jedem Hersteller sollte man "Vorschläge" genau prüfen. Du tust so, als würden andere Hersteller nicht ihre eigenen Produkte besser dastehen lassen als die der Konkurrenz.
Der Vorschlag von Intel müsste auch ein Bumerang gewesen sein, denn die 400% müssten bei CPU Tests doch aufgefallen sein.
 
  • Gefällt mir
Reaktionen: Makso
v_ossi schrieb:
Moralisch ist das verwerflich, auf legaler Ebene aber wohl nicht direkt strafbar.

Das kann durch aus Strafbar sein. Intel hat ein Quasimonopol bei x86 CPUs. Das kann extrem unangenehm werden für Intel. Auch ist Intel dafür ja bekannt Konkurrenten Stöcke zwischen die Beine werfen zu wollen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: konkretor und Tapion3388
gaelic schrieb:
Was wird denn verändert? Es wird eine Environment Variable gesetzt, nichts weiter. Mach dich nicht lächerlich.

Ich habe von dieser Materie keine Ahnung, aber wird dadurch nicht Code verändert bzw. umgangen?
Das wird Intel in den Nutzungsbedingungen mit Sicherheit untersagen.
 
hRy schrieb:
Ich habe von dieser Materie keine Ahnung, aber wird dadurch nicht Code verändert bzw. umgangen?

Dann stelle doch keine Mutmaßungen an! Die MKL schaut nach den Umgebungsvariablen und reagiert wie gewünscht darauf. Dadurch kann man ohne ständigen neues compilieren oder anlegen von config files Parameter ändern.

hRy schrieb:
Das wird Intel in den Nutzungsbedingungen mit Sicherheit untersagen.
Nein, das hat damit auch nichts zu tun. Wenn Intel das unterbinden will, würden sie die Debug Optionen einfach entfernen oder das nur zulassen wenn eine Intel CPU vorhanden ist.
 
  • Gefällt mir
Reaktionen: yummycandy
nille02 schrieb:
So Funktioniert es in der x86 Welt aber nicht.

So funktioniert aber die Geschäftswelt. Wenn ich ein Produkt verkaufe und meinen Kunden einen extra Bonus einräumen will, dann grenze ich diesen Bonus eben so ab, dass er nur mit meinen Produkten sinnvoll nutzbar ist.

Wäre Intel richtig arschig gewesen, hätten sie den Vendorstring abgefragt und bei was anderem als "Intel" die Bibliothek gar nicht arbeiten lassen.

SV3N schrieb:
die Frage die sich mir stellt und die man vielleicht ganz allgemein mal stellen sollte, warum existiert ein solches Problem seit 10 Jahren und warum unternimmt niemand etwas dagegen?

Welche Relevanz hatte AMD denn in den letzten 10 Jahren in den Bereichen in denen die MKL eingesetzt wird?
Ich denke es war einfach unwichtig. Der bequeme Weg alles vorgefertigt nutzen zu können war attraktiver als von vornherein alle Wege offen zu halten.

hRy schrieb:
Ich habe von dieser Materie keine Ahnung, aber wird dadurch nicht Code verändert bzw. umgangen?

Nein, dadurch wird kein Code verändert. Der Code nimmt lediglich eine andere Abzweigung als er normalerweise nehmen würde.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: RalphS und gaelic
@ZRUF

Prozentuale Verhältnisse die vermutlich gerade durch diese Machenschaften entstanden sind?!
Und warum sollte der Wechsel zu OpenBLAS keine Alternative sein? Weil früher mal FMA4 abgefragt wurde das nur bei den Bulldozer Modellen zum Einsatz kam? Und ist das immernoch der Fall?
Immer wieder faszinierend wenn Entscheidungen in der Vergangenheit mit dem heutigen ist Zustand begründet werden, wobei es noch faszinierender ist wenn der heutige Ist Zustand mit einem Status irgendwann in der Vergangenheit begründet wird um daran bloß nichts zu ändern.
So nebenbei, gehe ich recht in der Annahme das es bei OpenBLAS kein größeres Problem wäre entsprechende Optimierungsarbeiten vorzunehmen denen Intel bei seiner Lösung einen Riegel vorgeschoben hat?
 
@gaelic
Ich mach mich lächerlich? Damit, dass ich sage, dass die Lib nicht im geringsten verändern darf? Zumindest ohne Zustimmung Intels! Ich würde mich das nicht trauen.

Nochmal: Finde ich das doof? Ja!
Würde ich mir die beste Performance auf allen System Wünschen? Ja?
Hat intel die Bremse womöglich absichtlich eingebaut? Gut möglich!
Hat MathWorks scheiße gebaut? Teilweise ja! Vor allem, weil sie AVX2 auch für AMD-Prozessoren empfehlen und damit den Eindruck eines funktionierenden AVX2-Pfads suggerieren, der wohl nicht gegeben ist.
Hat MathWorks böswillig AMD benachteiligt? Vermutlich nicht, weil man eben keine Risiken bezüglich Lizenzbedingungen eingehen wollte. Sollte intel aber Schmiergeld gezahlt haben (wird wohl schwer zu beweisen), dann hätten beide Firmen richtig Scheiße gebaut und sollten entsprechend abgestraft werden.
 
  • Gefällt mir
Reaktionen: Heschel und Makso
nille02 schrieb:
Dann stelle doch keine Mutmaßungen an!
Hab auch keine Mutmaßungen sondern eine Frage gestellt, aber danke.
 
ZRUF schrieb:
@gaelic
Ich mach mich lächerlich? Damit, dass ich sage, dass die Lib nicht im geringsten verändern darf? Zumindest ohne Zustimmung Intels! Ich würde mich das nicht trauen.

Das setzen einer Environment Variable verändert die Lib nicht im geringsten -> lächerlich daraus ein legistisches Problem zu stricken.
 
@Wadenbeisser
Das ist nicht auszuschließen, dass vieles davon erst entstanden ist, weil Intel vor 2009 unbemerkt viele solche Spielchen getrieben hat.
OpenBLAS scheint gemäß dessen was ich im Sammelthread gesehen habe auf Intel schlechter zu sein als MKL. Nicht um Faktor 2 oder mehr, aber schlechter. Deshalb ist stand jetzt OpenBLAS für intel die schlechtere Alternative. Natürlich könnte man auch OpenBLAS wohl weiter optimieren. Aber die Arbeitszeit muss auch einer bezahlen. (Wäre vermutlich aber trotzdem der richtige Weg.)
 
ZRUF schrieb:
OpenBLAS scheint gemäß dessen was ich im Sammelthread gesehen habe auf Intel schlechter zu sein als MKL.

Dazu gibt es im Sammelthread keine Daten. Noch nicht...
 
Kleines Suchspiel. Irgendwo hier ist der Vendorstring versteckt. Wer findet ihn zuerst? :D

suchspiel.png
 
  • Gefällt mir
Reaktionen: Floppes, iNFECTED_pHILZ, Tapion3388 und 4 andere
@DocWindows

Ich sag mal... da wo rechts $$Genuu (ntel steht. :daumen:

Aber ich bin nicht so geübt darin die Matrix zu lesen.
 
  • Gefällt mir
Reaktionen: iNFECTED_pHILZ
nille02 schrieb:
Entschuldige bitte, ich habe gerade erst gesehen das du in den Handlungsstrang eingestiegene warst. Wie gesagt, da wird nichts verändert oder Umgangen. https://de.wikipedia.org/wiki/Umgebungsvariable
Kein Problem ;)
Ich möchte das jetzt nicht vertiefen.
Verstanden habe ich das jetzt so: Es wird praktisch nur eine Variable gesetzt (z.B. mithilfe einer Batch) mit der dann MathLab dann folgerichtig die Befehlserweiterungen nutzt über MKL?
 
Wadenbeisser schrieb:
In der goldenen Mitte? ;)

D'oh. Ich muss das Ziel auch immer recht weit in die Mitte stellen :D

Ned Flanders schrieb:
Ich sag mal... da wo rechts $$Genuu (ntel steht. :daumen:

Was wäre wohl wenn da AuthenticAMD (etwas zerhackt) stünde? Hmm.
AMD schnell, Intel langsam. ;)

Ok, jetzt ist aber auch genug mit amateurhaftem Reverseengineering. Feierabend :cool_alt:
 
  • Gefällt mir
Reaktionen: Ned Flanders
Was mich eher wundert ist, das AMD da keine Taskforce hat, sonders es scheinbar klaglos hinnimmt, teilweise massiv benachteiligt zu werden.
 
Man könnte sich das File auch mal mit Ghidra anschauen. Wäre interessant ob es eine Feature Tabelle nutzt pro Generation oder nur ein Vendor Check gemacht wird und dann dennoch jedes Feature geprüft wird.

Norebo schrieb:
Was mich eher wundert ist, das AMD da keine Taskforce hat, sonders es scheinbar klaglos hinnimmt, teilweise massiv benachteiligt zu werden.

Intel hatte schon mal über eine Milliarde an AMD gezahlt wegen Missbrauchs ihrer Marktmacht.
 
Zurück
Oben