Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
News Intel MKL 2020.2: Neuer AMD-Workaround schneller als Zen-Kernel
- Ersteller SVΞN
- Erstellt am
- Zur News: Intel MKL 2020.2: Neuer AMD-Workaround schneller als Zen-Kernel
DocWindows
Vice Admiral
- Registriert
- Mai 2013
- Beiträge
- 6.823
Hab mir mal die Mühe gemacht und die Linuxversion der Windowsversion gegenübergestellt.
Die Windowsversion scheint diese Funktion noch nicht zu haben, wie man hier schön sehen kann.
Links Windows, rechts Linux.
Dafür hat die Windowsversion aber noch deutlich mehr Vendorchecks drin.
Wo man sich bei Linux auf den Vendor Check innerhalb der regulären CPU-Erkennung beschränkt, macht man bei der Windowsversion zusätzlich in verschiedensten Funktionen diese Checks. So wie es in früheren Versionen auch war.
Bin daher mal gespannt ob die Windowsversion auch noch diese universelle CPU-Erkennungsroutine bekommt, oder ob Windowsversionen einer Software dem jeweiligen Linuxpendant gegenüber im Nachteil sein werden, sollte ein AMD-Prozessor zum Einsatz kommen.
Doch ,den gibt es. Wenn du, wie Intel es macht, deinen Kunden die deine Produkte kaufen eine Bibliothek zur Verfügung stellen willst, und anderen Leuten die anderer Firmen Kunden sind nicht.
Die Windowsversion scheint diese Funktion noch nicht zu haben, wie man hier schön sehen kann.
Links Windows, rechts Linux.
Dafür hat die Windowsversion aber noch deutlich mehr Vendorchecks drin.
Wo man sich bei Linux auf den Vendor Check innerhalb der regulären CPU-Erkennung beschränkt, macht man bei der Windowsversion zusätzlich in verschiedensten Funktionen diese Checks. So wie es in früheren Versionen auch war.
Bin daher mal gespannt ob die Windowsversion auch noch diese universelle CPU-Erkennungsroutine bekommt, oder ob Windowsversionen einer Software dem jeweiligen Linuxpendant gegenüber im Nachteil sein werden, sollte ein AMD-Prozessor zum Einsatz kommen.
hoxi schrieb:Es gibt überhaupt keinen Grund, um die CPU Hersteller abzufragen, sondern nur die von der jeweiligen CPU unterstützten Features und Befehlssätze
Doch ,den gibt es. Wenn du, wie Intel es macht, deinen Kunden die deine Produkte kaufen eine Bibliothek zur Verfügung stellen willst, und anderen Leuten die anderer Firmen Kunden sind nicht.
mace1978 schrieb:Was versuchst du denn damit zu erreichen hier hundert mal nach Beweisen zu fragen?
Ich fragte nach einem Beleg für eine Behauptung, das ist ja wohl immer legitim! (Und sollte jeder tun, anstatt etwas unbesehen zu glauben.)
Und Ned Flanders Beitrag hatte ich nicht gesehen, bevor ich danach gefragt habe, sondern nur die andere verlinkte Quelle im Artikel... und dort war es nur eine Vermutung, keine Tatsache.
W
Wadenbeisser
Gast
Wer kommt für die anfallenden Entwicklungskosten auf und was soll eine solche Spaltung des Marktes für den Kunden bringen?calluna schrieb:AMD hat eine eigene Lib, die nur für Zen gedacht ist... und AMD sollte ohnehin in diesem Bereich mehr liefern, vor allem bei der GPU... denn da hat Nvidia das bessere Paket aus Hard- und Software.
Bitte gerne!mace1978 schrieb:Dann füge mich am besten direkt dazu.
@Wadenbeisser
Ich verstehe deine Frage nicht... für den Kunden ist das schlecht; aber aus Sicht des Zulieferers ist das eine Produktpflege, die unter Umständen kaufentscheidend sein kann, so wie CUDA bei Nvidia. Das sind eben verschiedene Perspektiven und es ist nicht ersichtlich, warum man den Konkurrenten Vorteile durch eigene Software verschaffen soll, wenn hier Hardware und Software zusammen ein Produkt bilden? (Aus der Perspektive des Unternehmens, nicht der Kunden!)
Ich verstehe deine Frage nicht... für den Kunden ist das schlecht; aber aus Sicht des Zulieferers ist das eine Produktpflege, die unter Umständen kaufentscheidend sein kann, so wie CUDA bei Nvidia. Das sind eben verschiedene Perspektiven und es ist nicht ersichtlich, warum man den Konkurrenten Vorteile durch eigene Software verschaffen soll, wenn hier Hardware und Software zusammen ein Produkt bilden? (Aus der Perspektive des Unternehmens, nicht der Kunden!)
DocWindows
Vice Admiral
- Registriert
- Mai 2013
- Beiträge
- 6.823
Wadenbeisser schrieb:Wer kommt für die anfallenden Entwicklungskosten auf
Fragt doch bei Intel auch keiner.
Wadenbeisser schrieb:und was soll eine solche Spaltung des Marktes für den Kunden bringen?
Kann dem Kunden egal sein. Der Softwarehersteller integriert einfach beide Libs und nutzt je nach Prozessor die passende.
mace1978 schrieb:Und im Fall von Intel fällt es aber auf der Ebene auch schwer von im Zweifel für den Angeklagten zu sprechen,
da Intel nicht nur Gelegenheitstäter ist, sondern nachgewiesener Weise jedes Mittel recht ist um seine Marktmacht zu festigen.
Dazu mal etwas Grundlegendes: ich weiß, für manche ist bei unserem Hobby AMD und Intel so etwas wie das Imperium und die Rebellen.. und der eine hat mehr Sympathie für Intel, der andere für AMD, obwohl beides amerikanische Unternehmen sind, die sich letztendlich nicht wirklich unterscheiden. ;-)
Aber bei allem, was Intel bisher getan hat, ist dieses Unternehmen im Vergleich zu anderen Unternehmen, wie etwa VW, Nestle, Shell und so weiter, geradezu harmlos.
Und überleg einmal, was "jedes Mittel recht" bedeutet.
Gamefaq
Vice Admiral
- Registriert
- Jan. 2005
- Beiträge
- 7.130
Holt schrieb:Wieso sollte Intel seine Lib überhaupt für CPUs der Konkurrenz optimieren? Soll doch AMD eine eigene Lib oder wenigstens einen Plug In für die mkl anbieten die dann auf AMD CPUs genutzt wird, damit das Thema endlich beerdigt werden kann. Muss etwa Intels Treiber für die Xe demnächst auch noch für die Radeon GPUs optimiert sein? Doch wohl hoffentlich nicht.
Du hast das Thema nicht verstanden. Da wird nichts optimiert! Intel deaktiviert durch diese Erkennung in der Software die Nutzung von AVX wenn keine Intel CPU erkannt wird. Obwohl AMD CPUs AVX ebenso voll unterstützen! Das wäre so als würde eine Video Player Software bei Erkennung einer IGPU (integrierten Grafikkarte in der CPU) von AMD die Hardware Beschleunigung der Videos deaktivieren obwohl sie es kann!
mace1978
Lt. Commander
- Registriert
- Mai 2008
- Beiträge
- 1.174
Das ist nur nicht was passiert ist. Es wurden klare Indizien aufgezeigt. Deine Position konnte man nur interpretieren als, solange es keine Beweise gibt ist alles koscher.calluna schrieb:Ich fragte nach einem Beleg für eine Behauptung, das ist ja wohl immer legitim! (Und sollte jeder tun, anstatt etwas unbesehen zu glauben.)
Die Indizien wurden weder Argumentativ, noch durch Beweise entkräftet und die Historie, die intel in der Sache hat von dir auch völlig ignoriert.
Sich nun als der kritische Geist darzustellen, der nicht alles direkt glaubt, ist doch ziemlich selbst beschönigend.
Auch das ist durchaus eine völlige Fehldarstellung. Man kann zwar nur spekulieren, was AMD gemacht hätte, wenn sie in Intels Lage gewesen wären. Tatsache ist aber, dass Intel juristisch mehrfach wegen Vergehen gegen Kartellrecht und unlautere Wettbewerbspraxis belangt wurde. AMD nicht.calluna schrieb:für manche ist bei unserem Hobby AMD und Intel so etwas wie das Imperium und die Rebellen.. und der eine hat mehr Sympathie für Intel, der andere für AMD, obwohl beides amerikanische Unternehmen sind, die sich letztendlich nicht wirklich unterscheiden. ;-)
So zu tun, als ob diese Unternehmen gleich wären, ist absoluter Nonsense.
Und wie gesagt, handelt es sich bei diesen Angelegenheiten meistens um Fälle von intel vs den Konsumenten und nicht intel vs AMD. AMD hätte auch zu ihren Hochzeiten gar nicht das liefern können, was der Weltmarkt an CPUs verlangt hätte. AMD hätte vielleicht die eine oder andere CPU teurer verkaufen können, an der Marktbeherrschenden Stellung von intel hätte sich auch ohne die Praxis nichts geändert.
Zuletzt bearbeitet:
W
Wadenbeisser
Gast
@DocWindows
Von denen verlangt aber auch keiner das sie mit einem deutlich geringeren Entwicklungsbudget als bei Intel oder Nvidia mit beiden gleichzeitig konkurrieren und jeweils einen gleichwertigen Entwicklungsumfang stemmen sollen.
Genau deshalb die Frage wer für eine realitätsferne Forderung aufkommen soll.
Des weiteren die Frage warum es dem Kunden egal sein soll durch die Spaltung softwareseitig an einen Hersteller gebunden zu sein und sich damit selbst vom Wettbewerb zwischen den Herstellern auszuschließen. Der Software Hersteller will schließlich ebenfalls Kosten sparen und setzt dann eben wie bisher auf die libs von der die meisten Kunden profitieren. Diese Vorgehensweise sieht man ja auch im GPU Umfeld mit CUDA.
Der Kunde ist bei der Spaltung am Ende also immer der Verlierer.
Von denen verlangt aber auch keiner das sie mit einem deutlich geringeren Entwicklungsbudget als bei Intel oder Nvidia mit beiden gleichzeitig konkurrieren und jeweils einen gleichwertigen Entwicklungsumfang stemmen sollen.
Genau deshalb die Frage wer für eine realitätsferne Forderung aufkommen soll.
Des weiteren die Frage warum es dem Kunden egal sein soll durch die Spaltung softwareseitig an einen Hersteller gebunden zu sein und sich damit selbst vom Wettbewerb zwischen den Herstellern auszuschließen. Der Software Hersteller will schließlich ebenfalls Kosten sparen und setzt dann eben wie bisher auf die libs von der die meisten Kunden profitieren. Diese Vorgehensweise sieht man ja auch im GPU Umfeld mit CUDA.
Der Kunde ist bei der Spaltung am Ende also immer der Verlierer.
Vorgartenzwerg
Cadet 4th Year
- Registriert
- Apr. 2015
- Beiträge
- 119
Bei der Überschrift habe ich zuerst an den Linux-zen Kernel gedacht: https://github.com/zen-kernel/zen-kernel
Weil sie sonst validieren müssten ob dies stabil ist und die Ergebnisse auch wirklich immer stimmen, denn es ist ja Intels lib und Intel wäre schuld wenn dem nicht so ist. Warum sollte sich Intel diese mühe machen? Soll doch AMD dies selbst für seine keinen Lib machen.Gamefaq schrieb:Intel deaktiviert durch diese Erkennung in der Software die Nutzung von AVX wenn keine Intel CPU erkannt wird.
- Registriert
- März 2016
- Beiträge
- 333
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?Gamefaq schrieb:Du hast das Thema nicht verstanden. Da wird nichts optimiert! Intel deaktiviert durch diese Erkennung in der Software die Nutzung von AVX wenn keine Intel CPU erkannt wird.
Ich kann nicht sagen, ob es generell mehr oder weniger Aufwand für Intel wäre AMD CPUs einfach genauso wie unbekannte Intel-CPUs zu behandeln. Meine Vermutung nach wäre es simpler, aber da müsste man schon sehr genaue Einblicke in die MKL Entwicklung und den Support haben um das abschließend und mit etzter Sicherheit beantworten zu können.Holt schrieb:, denn um neue Befehle zu verwenden, muss man diese eben auch validieren. Sonst stürzt sie am Ende ab oder liefert falsche Ergebnisse und dies sollte schon gar nicht passieren.
Dieses spezielle Argument (zusätzlicher Validierungsaufwand) scheint mir hier aber nicht zu greifen. Wenn Intel AMD CPUs supporten will, aber Angst davor hat, dass dort nicht alle Instruktionen korrekt umgestzt sind, dann müssten sie ihren Code so oder so auf AMD CPUs validieren - egal ob dort die AVX Instruktionen verwendet werden oder nicht (es könnte ja auch in den SSE befehlen ein fehler sein). Wenn Intel allerdings AMD-CPUs offiziell überhaupt nicht unterstützt oder nur wenn sie "korrekt" arbeiten, dann ist überhaupt keine Validierung auf AMD CPUs nötig.
In beiden Fällen macht es für die Validierung keinen Unterschied, ob auf AMD CPUs der AVX oder der reine x64 Pfad ausgeführt wird (Ich nutze die Bezeichnung AVX hier repräsentativ für was auch immer der höchste Befehlssatzlevel ist, der nominell von einer bestimmten CPU unterstützt wird).
mace1978 schrieb:Deine Position konnte man nur interpretieren als, solange es keine Beweise gibt ist alles koscher.
Konnte man meine Position tatsächlich nur so interpretieren? Vermutlich hast du "Indizien" dafür, dass ich die Einstellung habe: "...solange es keine Beweise gibt, ist alles koscher".
PS: und ich muss keine Indizien mit Beweisen entkräften. Wenn jemand eine Tatsache behauptet, dann ist derjenige auch eine Begründung für die Behauptung schuldig.
mace1978 schrieb:So zu tun, als ob diese Unternehmen gleich wären, ist absoluter Nonsense.
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.
Zuletzt bearbeitet:
Gamefaq
Vice Admiral
- Registriert
- Jan. 2005
- Beiträge
- 7.130
Holt schrieb:Weil sie sonst validieren müssten ob dies stabil ist und die Ergebnisse auch wirklich immer stimmen, denn es ist ja Intels lib und Intel wäre schuld wenn dem nicht so ist. Warum sollte sich Intel diese mühe machen? Soll doch AMD dies selbst für seine keinen Lib machen.
Das ist eine Ausrede. Intel muss nichts validieren weil die Software gar nicht davon ausgeht das etwas anderes als eine (Intel) CPU die AVX kann genutzt wird! Denn dafür ist diese Software da, explizit diese Berechnungen durchzuführen und für die Beschleunigung der Berechnungen AVX zu nutzen.
DocWindows
Vice Admiral
- Registriert
- Mai 2013
- Beiträge
- 6.823
Wadenbeisser schrieb:Von denen verlangt aber auch keiner das sie mit einem deutlich geringeren Entwicklungsbudget als bei Intel oder Nvidia mit beiden gleichzeitig konkurrieren und jeweils einen gleichwertigen Entwicklungsumfang stemmen sollen.
Genau deshalb die Frage wer für eine realitätsferne Forderung aufkommen soll.
Aha, aber von Intel verlangt man dass sie Entwicklungsaufwand betreiben von dem ihr Konkurrenz profitiert?
Wadenbeisser schrieb:Des weiteren die Frage warum es dem Kunden egal sein soll durch die Spaltung softwareseitig an einen Hersteller gebunden zu sein und sich damit selbst vom Wettbewerb zwischen den Herstellern auszuschließen.
Der Kunde kauft ein Produkt und wenn das Produkt ihm nicht mehr passt, kauft er ein anderes.
Sobald er sich für ein Produkt, z.B. Matlab, entscheidet ist er doch eh für eine Zeit an diesen Hersteller gebunden.
Verstehe das Problem Intel/AMD daher nicht. Das ist doch nachgelagert.
Derjenige der verliert ist der Softwarehersteller der Bibliotheken nutzt die nur die CPU eines bestimmten Herstellers performant unterstützt, ein Kunde aber eine andere CPU einsetzen will. Dann hat er eben einen Kunden weniger. Soviel auch zum Thema Wettbewerb. Hier hat nämlich ein potenzieller Wettbewerber die Möglichkeit es besser zu machen und Kunden zu gewinnen.
Powl_0
Commodore
- Registriert
- Sep. 2018
- Beiträge
- 4.564
Dann wärst du ein ziemlich schlechter Entwickler. Optimierungen setzt man je nach Feature-Set ein, nicht je nach Vendor.calluna schrieb:Ich verteidige es, weil ich es ganz genau so machen würde - und ich nehme da verschiedene Perspektiven ein, nicht nur meine als Kunde.
Wenn die CPU AVX kann, soll per default der AVX Pfad laufen, nicht der unoptimierte Pfad. Wenn die Intel CPU spezifisch bei AVX noch etwas besonders abkürzen kann, dann sollte die Lib im AVX Pfad dieses Extra nutzen.
Entwickler, die auf Vendor oder Device IDs optimieren, sollten Branche wechseln.
Ergänzung ()
Nein, müssten sie nicht validieren. Intel garantiert doch eh schon nur die Funktionalität auf Intel CPUs.Holt schrieb:Weil sie sonst validieren müssten ob dies stabil ist und die Ergebnisse auch wirklich immer stimmen, denn es ist ja Intels lib und Intel wäre schuld wenn dem nicht so ist. Warum sollte sich Intel diese mühe machen? Soll doch AMD dies selbst für seine keinen Lib machen.
Bzw anders herum, wenn sie den AVX Pfad validieren müssten, dann müssten sie auch den non-AVX Pfad validieren. Der Aufwand ist also so circa der gleiche.
Was Intel bisher betrieb, war einfach stümperhaftes Softwaredesign im Zeichen des Dominanzmissbrauchs.
Man kann sich schon recht sicher sein, dass mehr Validierungen auch mehr Aufwand sind und wenn neue Befehle verwendet werden, dann muss man dies validieren, sonst hat man am Ende womöglich ein Problem und hat fahrlässig gehandelt, wen man es nicht einmal getestet hat. Von daher ist es auf jeden Fall einfacher für Intel bei jeder CPU die nicht von Intel ist nur die Basisbefehle zu nutzen.Miuwa schrieb:Ich kann nicht sagen, ob es generell mehr oder weniger Aufwand für Intel wäre AMD CPUs einfach genauso wie unbekannte Intel-CPUs zu behandeln. Meine Vermutung nach wäre es simpler, aber da müsste man schon sehr genaue Einblicke in die MKL Entwicklung und den Support haben um das abschließend und mit etzter Sicherheit beantworten zu können.
Wieso nicht? Machst du die Validierung dann für lau damit sie gemacht wurde? Wenn das jemand bei Intel machen muss, dann kostet es Geld, so einfach ist das und Intel verdient keinen Cent an den von AMD verkauften CPUs.Miuwa schrieb:Dieses spezielle Argument (zusätzlicher Validierungsaufwand) scheint mir hier aber nicht zu greifen.
Eben, wenn, aber wieso sollten sie überhaupt? Sie supporten nur, was eben Basis ist und damit ist die Performance halt nicht optimal, der Aufwand aber eben auch praktisch 0 und gut.Miuwa schrieb:Wenn Intel AMD CPUs supporten will
Wer sagt denn, wenn sie korrekt arbeiten? Das erste wäre doch, dass eine SW abstützt, dann kommt der Hersteller der Software und sagt, der Absturz kommt von der MKL, Intel hat also Mist gebaut. Dann muss Intel hingehen, die Sache untersuchen und beweisen, dass aber in Wahrheit AMD Schuld ist, was Kosten und Imageverlust bedeutet, denn natürlich wird dies nicht jeder mitbekommen oder glauben. Also wäre es besser, MKL auf anderen CPUs gar nicht laufen zu lassen, aber dann haben die Hersteller der SW die die MKL nutzt mehr Aufwand und daher hat man wohl diesen Kompromiss drin, dass die zwar läuft, aber eben ohne die neusten Befehlserweiterungen um diese nicht auch noch validieren zu müssen.Miuwa schrieb:Wenn Intel allerdings AMD-CPUs offiziell überhaupt nicht unterstützt oder nur wenn sie "korrekt" arbeiten, dann ist überhaupt keine Validierung auf AMD CPUs nötig.
Ergänzung ()
Auch so, zwei Codepfade zum Preise von einem, wo gibt es denn dies Sonderangebot gerade?Powl_0 schrieb:Bzw anders herum, wenn sie den AVX Pfad validieren müssten, dann müssten sie auch den non-AVX Pfad validieren. Der Aufwand ist also so circa der gleiche.
Ähnliche Themen
- Antworten
- 263
- Aufrufe
- 27.514