News Intel MKL 2020.2: Neuer AMD-Workaround schneller als Zen-Kernel

Miuwa schrieb:
Darf man sich eigentlich nur über Verhalten von Firmen beschweren, wenn es gegen Gesetze verstößt?

Nein, ich teile da deine Meinung. Aber bei der MKL habe ich bisher nie ein Problem gesehen, weil das für mich immer Produktpflege für Intel-Produkte gewesen ist. Deswegen finde ich es moralisch auch nicht verwerflich.

Natürlich wäre es mir als Kunde lieber, wenn die MKL auch mit AMD-CPUs perfekt funktionieren würde.

Powl_0 schrieb:
Sowas erwarte ich von einem Praktikanten, nicht von hochbezahlten Entwicklern.

Ich verstehe nicht, was du mit deinem Software-Design willst? Das ist ganz sicher nicht etwas, was die Entwickler freiwillig getan haben...
 
Natürlich ist das freiwillig. Außer die Entwickler arbeiten unter Waffengewalt.
 
  • Gefällt mir
Reaktionen: CableGuy82
Was wäre es schön, wenn man bei der Installation von Matlab wählen könnte, welche MKL man haben möchte. (OpenBlas z.B.). Bei R kann man sich immerhin seine Wunschconfig kompilieren, wenn die Info noch stimmt.
 
  • Gefällt mir
Reaktionen: CableGuy82
Salamimander schrieb:
Ich verstehe nicht, was du mit deinem Software-Design willst? Das ist ganz sicher nicht etwas, was die Entwickler freiwillig getan haben...
Was gibts da nicht zu verstehen?
Ja, vermutlich haben die Entwickler das nicht freiwillig getan. Das machts umso verwerflicher.
Ob es also Unvermögen oder böse Absicht ist, wieso verteidigst du es?

Keins von beidem ist vertretbar.
 
  • Gefällt mir
Reaktionen: CableGuy82
Wie wäre es, wenn du dich für einen Standpunkt entscheiden könntest?

calluna schrieb:
Mein Pessimismus in dieser Hinsicht stammt aus meiner Zeit, als ich selbst in den USA in der Halbleiterbranche gearbeitet habe... und hat viel mit amerikanischer Unternehmenskultur zu tun. Ich glaube einfach nicht, dass die Menschen, die für AMD arbeiten, grundsätzlich andere sind bzw. dort die Zusammensetzung an Persönlichkeiten eine andere ist.
calluna schrieb:
Ja, das wäre der Fall, wenn der Entwickler nicht für die Firma arbeitet, für deren Hardware er Software entwickeln soll.

Und mein "ich würde es genau so machen" bezog sich nicht auf das Entwickeln von Software, sondern darauf, nur eigenen Produkten einen Vorteil zu verschaffen - was aus unternehmerischer Sicht für mich rational nachvollziehbar ist. Als Kunde finde ich das natürlich Mist.
Du verteidigst die ganze Zeit ein verhalten, was du selber nicht gut findest. Und der Konzern, der es bis zum erbrechen praktiziert, und es auch insbesondere aufgrund seiner Marktbeherrschende Stellung machen kann, dem räumst du da völlig alle Freiheiten ein.
Vermutlich sogar Freiheiten, die aus gutem Grunde nicht gestattet sind.
 
  • Gefällt mir
Reaktionen: CableGuy82 und Iscaran
DocWindows schrieb:
Es ist von anfang an klar was die Bibliothek macht und welche CPUs unterstützt werden. Wenn man damit als Softwarehersteller nicht einverstanden ist, dann kann man sie eben nicht nutzen. Wenn ich mit der Lizenz einer Bibliothek für mein persönliches Projekt nicht einverstanden bin, muss ich eben auch weitersuchen.

Ist halt ziemlich undurchsichtig dokumentiert. Im Grunde steht dort ja nur, das die MKL für non-Intel CPUs "may or may not be optimized to the same extend as for Intel CPUs" und im Dev. Guide "MKL also runs well on non-Intel CPUs". Das die MKL bislang bei Erkennung eines nicht Intel Prozessors jeden SIMD support verhindert kann ich da nicht draus ableiten. Ich bin aber auch kein Software Entwickler, wie du weisst und kann nicht beurteilen wie gängig solche Praxis ist.

Hast Du dir mal die Zusammenfassung von Agner Fog durchgelesen?
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: CableGuy82, Iscaran und Miuwa
Gamefaq schrieb:
Dragon0001 schrieb:
Was ist für dich "mkl_blas_def_dgemm_kernel_zen", wenn das keine Optimierung für AMD sein soll? Und warum läuft diese dann so gut auf AMD-Prozessoren?
Ohh Mann du redest grade gehörig am Thema vorbei. Das ist eine Erkennung, keine Optimierung.
Hast du die Quelle eigentlich gelesen? Das ist der name der Routine, die die MKL auf AMD Prozessoren für die Implementierung der dgemm funktion nutzt. Die Erkennung die in dem neuen Workaround ausgehebelt wird erfolgt via mkl_serv_intel_cpu_true().

Herrlich (eigentlich traurig) wie häufig Leute in diesem Thread erst anderen vorwerfen sie wüssten nicht wovon sie reden nur um dann selbst völligen Blödsinn zu posten, weil sie sich nicht die Mühe machen noch mal 5min in die überprüfung ihre eigenen Aussagen zu stecken (und ja, ich bin mir bewusst, dass ich früher wahrscheinlich meine eigenen Worte fressen werden muss ;)).

Gamefaq schrieb:
Denn du hast nicht verstanden das OHNE diese Erkennung es auf AMD Prozessoren BESSER läuft!
Das hat sich im wesentlichen auf Funktonen bezogen für die es eben noch keine ZEN Version gibt. Bei der von @Dragon0001 erwähnten Funktion mkl_blas_def_dgemm_kernel_zen ist zwar auch ein Unterschied [EDIT: gegenüber der "generischen" AVX(2)? Version] vorhanden ( 382 vs 430 auf dem System des Testers), aber weit von den Einbrüchen entfernt die man bei komplett unoptimierten Versionen in der Vergangenheit gesehen hat. Was man jetzt davon halten soll, dass Intel eine spezielle ZEN Version gebaut hat, die immer noch langsamer ist, als die generische AVX2 version sei mal dahin gestellt - kann natürlich auch sein, dass der einzelne Test von Daniël de Kok nicht repräsentativ war.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Iscaran und Forum-Fraggle
Rickmer schrieb:
Wie kann denn der R5 2600X im ersten Screenshot signifikant schneller sein als der R7 3700X?
Das Konkurrenzprodukt wird der 3700x sein, bzw. die Episode von Zen ... und nicht das alte - daher "bremste" man wohl diese aus... ekelhaftes Zucken eines Riesen :D
 
Dragon0001 schrieb:
Entweder hast du die Quelle des Artikels nicht gelesen oder du lügst ganz bewusst. "mkl_blas_def_dgemm_kernel_zen" ist der "Zen-optimized kernel", der aber noch nicht für alle Funktionen verwendet wird.
https://danieldk.eu/Posts/2020-08-31-MKL-Zen.html

Ich rede von DIESEM Artikel und nicht dem Link den du meinst. Es geht einzig um "mkl_serv_intel_cpu_true".
Beantwortet man diese Abfrage mit 1 = true obwohl eine AMD CPU verbaut ist dann läuft das Programm besser mit einer AMD CPU. Daher kann von Optimierungen seitens Intel keine Rede sein weil Optimierungen etwas verbessern , nicht verschlechtern sollen.
 
  • Gefällt mir
Reaktionen: CableGuy82 und Forum-Fraggle
Ned Flanders schrieb:
Ist halt ziemlich undurchsichtig dokumentiert. Im Grunde steht dort ja nur, das die MKL für non-Intel CPUs "may or may not be optimized to the same extend as Intel CPUs" und im Dev. Guide "MKL also runs well on non-Intel CPUs".

MKL runnt doch auch auf anderen Prozessoren well. Verrechnet sich nicht und tut das was sie soll. Nur eben nicht schnell und nicht optimiert.

Ned Flanders schrieb:
Hast Du dir mal die Zusammenfassung von Agner Fog durchgelesen?

Nö. Wer ist das?
 
calluna schrieb:
@Sightus

Oder man verwendet Octave, falls man Matlab ohnehin nur in der Standard-Version für 2000 Euro ohne weitere Pakete verwendet.
Ja, das kann man als "einfacher Anwender" definitiv tun, zumal Octave mittlerweile durchaus brauchbar ist. Wenn man aber wie bei mir noch ca. 10 Toolboxen verwendet, dann bleibt man halt (leider) bei Matlab.
 
Powl_0 schrieb:
Weil es hier komplett wurst is ob es um unbekannte CPU von AMD oder Intel ES oder sonstwas geht. Löst euch doch endlich von diesem AMD vs Intel Blödsinn.

Das hat nichts mit Intel vs. AMD zu tun, sondern mit der ganz einfachen Tatsache dass Intel seinen Kunden einen Mehrwert bieten will und deshalb diese Funktionssammlung kostenfrei zur Verfügung stellt. Seinen Kunden! Nicht den Kunden von AMD. Das hat auch nichts mit gutem oder schlechtem Softwaredesign zu tun, sondern mit der Idee unter der die Bibliothek entwickelt wurde.
Was eine CPU kann oder nicht kann ist da völlig egal. Es ist ein Produkt für die eigenen Kunden, vielleicht auch ein Anreiz sich für eine Intel CPU zu entscheiden, wenn man sowas wie MKL einsetzen möchte. Ein - wie man so schön sagt - Incentive.

Das ist doch nun wirklich keine neue Erfindung, dass man eigenen Kunden sowas anbietet. Gibts schon zu Hauf in anderen Branchen.
 
Powl_0 schrieb:
Was gibts da nicht zu verstehen?
Ja, vermutlich haben die Entwickler das nicht freiwillig getan. Das machts umso verwerflicher.
Ob es also Unvermögen oder böse Absicht ist, wieso verteidigst du es?

Keins von beidem ist vertretbar.
Hey, das habe ich nicht geschrieben :P

DocWindows schrieb:
Das hat nichts mit Intel vs. AMD zu tun, sondern mit der ganz einfachen Tatsache dass Intel seinen Kunden einen Mehrwert bieten will und deshalb diese Funktionssammlung kostenfrei zur Verfügung stellt. Seinen Kunden! Nicht den Kunden von AMD. Das hat auch nichts mit gutem oder schlechtem Softwaredesign zu tun, sondern mit der Idee unter der die Bibliothek entwickelt wurde.
Was eine CPU kann oder nicht kann ist da völlig egal. Es ist ein Produkt für die eigenen Kunden, vielleicht auch ein Anreiz sich für eine Intel CPU zu entscheiden, wenn man sowas wie MKL einsetzen möchte. Ein - wie man so schön sagt - Incentive.

Das ist doch nun wirklich keine neue Erfindung, dass man eigenen Kunden sowas anbietet. Gibts schon zu Hauf in anderen Branchen.
Wirklich? So siehst du das WIRKLICH? Dann soll das Ding einfach NICHT auf AMD laufen. Stattdessen lügt man aber Frech in dem man die Konkurrenz schlechter macht als sie ist.
 
  • Gefällt mir
Reaktionen: CableGuy82
Holt schrieb:
Wo beherrscht Intel den Markt mit der MKL, wenn es doch genug Alternativen gibt, auch OpenSource, die dann jeder selbst für seine CPU optimieren kann? Nein, eine marktbeherrschende Stellung sehe ich für die MKL nicht.

Die marktbeherrschende Stellung liegt nicht bei MKL sondern bei den Prozessoren und diese versucht man hier eben im Bereich MKL etc. auszunutzen. Man kommt einfach an der Intel MKL kaum vorbei da die Prozessoren beinahe überall im Einsatz sind. Sämtliche MKL-Lösungen anderer Hersteller sind also maximal Bonus in der Umsetzung. Ähnlich den Browsern bei Windows, man versucht hier eine marktbeherrschende Stellung in einem Bereich auf einen anderen auszuweiten um dort dann gezielt Konkurrenten aus beiden Märkten quasi auszugrenzen.
 
  • Gefällt mir
Reaktionen: CableGuy82 und Iscaran
calluna schrieb:
Nein, ich teile da deine Meinung. Aber bei der MKL habe ich bisher nie ein Problem gesehen, weil das für mich immer Produktpflege für Intel-Produkte gewesen ist. Deswegen finde ich es moralisch auch nicht verwerflich.
Darf man wegen mir auch gerne so sehen.
Ich persönlich folge da halt der Ansicht, dass es sehr nach absichtlichen Ausbremsen von AMD CPUs aussieht und zwar auf eine Art und Weise, dass es dem unbedarften Entwickler erstmal nicht auffällt und ihm so evtl. garnicht bewusst ist, dass seine Anwendung auf AMD viel schlechter läuft als eigentlich möglich ist.
Was ich OK gefunden hätte ist, wenn die MKL entweder überhaupt nicht auf AMD -CPUs funktionieren würde (ähnlich CUDA) oder man einfach sagen würde: "Wenn eine unbekannte CPU behauptet sie unterstützt AVX2, dann nutzen wir das auch, aber wir unternehmen keine Anstrengeungen um um mögliche Fehler in der Implementierung in AMD CPUs herum zu arbeiten" - dafür sind die Flags da.

Wie hier schon jemand anderes geschrieben hat hat Intel halt einfach schon zu viel auf dem Kerbholz, als dass ich hier "Im Zweifel für den Angeklagten" zählen lassen würde. Vor allem haben sie ja scheinbar auch immer wieder versucht das Problem zu verheimlichen (https://www.agner.org/optimize/blog/read.php?i=49) anstatt einfach offen zu sagen "Wir nutzen auf AMD nur die langsamste Variante, weil ...".
 
  • Gefällt mir
Reaktionen: CableGuy82, Vindoriel und Cpt.Willard
DocWindows schrieb:
MKL runnt doch auch auf anderen Prozessoren well. Verrechnet sich nicht und tut das was sie soll. Nur eben nicht schnell und nicht optimiert.

Suggestion ist ein mächtiges Werkzeug :-) May or may not ;-)

Fog is ist ein Dänischer Professor an der Technical University of Denmark der Software Optimization Guides rausbringt. Der hat zu dem ganzen auch einen ziemlich ausführlichen Blog Eintrag.
 
  • Gefällt mir
Reaktionen: CableGuy82 und Iscaran
Ned Flanders schrieb:
Fog is ist ein Dänischer Professor an der Technical University of Denmark der Software Optimization Guides rausbringt. Der hat zu dem ganzen auch einen ziemlich ausführlichen Blog Eintrag.

Ich nehme mal an dass es da nur um technische Fragen und nicht um strategische Fragen im Rahmen einer Firmen-Kundenbeziehung geht? Dann brauch ich es nicht lesen, denn die technische Seite ist mir durchaus klar.

Ned Flanders schrieb:
Suggestion ist ein mächtiges Werkzeug :-)

Eher Interpretation. Die Kunst freundlich formulierte Phrasen als das zu lesen was sie wirklich bedeuten.
Dazu braucht man aber ne gehörige Portion Zynismus :D

Salamimander schrieb:
Wirklich? So siehst du das WIRKLICH? Dann soll das Ding einfach NICHT auf AMD laufen

Klar sehe ich das so. Wenn ich meinem Kunden einen Vorteil einräume wenn er mit meinem Produkt arbeiten will, dann räume ich diesen Vorteil natürlich nicht ein wenn er mit einem Konkurrenzprodukt arbeiten will.

Wenn ein Hersteller - sagen wir mal ein fiktiver Grafikkartenhersteller Pixeltech - eine Alt-gegen-Neu Upgrade-Aktion macht, wo du deine alte Grafikkarte einschicken kannst und dann eine neue rabattiert kaufen kannst, dann wird er dies wohl auf Altkarten der Marke Pixeltech beschränken. Diesen Rabatt-Vorteil wird er dir nicht gewähren wenn du ne Gigabyte-Karte einschickst.

Erst letztens habe ich einen Sonderpreis für eine neue Version für O&O DiskImage bekommen weil ich bereits O&O Kunde bin und dieses Produkt nutze. Würde ich wahrscheinlich als Acronis-Kunde nicht bekommen. Da nöle ich auch nicht rum.
 
Zuletzt bearbeitet:
@DocWindows

Da gehts um die Verschleierung und wie undurchsichtig das Ganze ist. Again, ich beurteile den Inhalt nicht, ich fand es aber interessant zu lesen.
 
Zurück
Oben