Die Frage ist, warum du es dann Notlösung nennst, wenn jene doch gut performt ?
Weil ich nicht auf die Performance schaue, sondern auf die Implementierung. Das sollte man immer sauber trennen.
Ausserdem, wer sagt dir, dass es immer gut performt? Wie schon gesagt, unter bestimmten Workloads kann einem diese Notlösung auf die Füsse fallen.
Wenn da Einwände kommen, braucht man sich also nicht auf irgendwelche Aversionen stützen.
Wieso soll "Notlösung" ein polarisierender Begriff sein? Das ist nun mal eine passende Umschreibung. Welcher Begriff wäre dir denn lieber? Workaround? Übergangslösung? Aussagen wie "setze die Brille ab" sind zudem keine Einwände, sondern einfach nur kindische Provokationen.
HT4U beschreibt relativ gut, was das aktuelle Problem von Bulldozer ist, nämlich die noch nicht ausreichende Unterstützung.
Nein. HT4U ist auf dem Holzweg und liefert leider eine irreführende Erklärung. Sie betrachten es wie folgt:
128-bit SIMD: BD : SB == 1 : 1
256-bit SIMD: BD : SB == 1 : 2
Und leiten daraus ab, dass BD ein Problem mit AVX hätte. Das ist aber falsch. Denn in Wirklichkeit schaut es wie folgt aus:
128-bit SIMD: BD : SB == 2 : 1
256-bit SIMD: BD : SB == 2 : 2
Bulldozer hat keinen Nachteil bei 256-bit SIMD, sondern einen Vorteil bei 128-bit SIMD. Und gerade mit FMA kann man diesen Vorteil ausspielen, da man so pro Takt ein MUL und ein ADD ausführen kann, wofür SB zwei getrennte Rechenwerke besitzt. Ganz zu schweigen davon, dass man mittels FMA genauere Ergebnisse erhält, da die Rundung nach den MUL entfällt.