Planet 3DNow! Logo  

 
English Français Русский язык Español Italiano Japanese Chinese

FORUM AKTUELL

   

Donnerstag, 19. August 2010

16:49 - Autor: Nero24

Benachteiligung durch Intel-Compiler auf AMD-Systemen umgehen

Das Thema ist grundsätzlich bereits einige Jahre alt und auch bei uns im Forum hinreichend diskutiert, weshalb wir hier einfach mal auf die entsprechenden Threads und Meldungen verweisen:Kurz und knapp zusammengefasst: Intel pflegt einen eigenen Compiler und das mit hohem finanziellen Aufwand. Nun kann man darüber streiten, ob es "fair" ist - sofern dieser Begriff in einer Konkurrenz-Situation auf dem freien Markt überhaupt anwendbar ist - dass Intel dafür sorgt, dass die Optimierungen des Intel-Compilers hauptsächlich Intel-Prozessoren zu Gute kommen und AMD-Prozessoren - obwohl sie eventuell von den Optimierungen auch profitieren würden - nicht.

Bereits vor 2 Jahren haben wir ausführlich berichtet, welchen Unterschied es in Sachen Leistung machen kann, wenn Hersteller spezifische Optimierungen genutzt werden oder auch nicht. Damals wurde der VIA Nano Prozessor als Vergleich herangezogen, der es ermöglicht die Vendor CPUID des VIA-Prozessors zu ändern und dem Programm - in diesem Fall dem Futuremark PCMark2005 - eine Intel-CPU vorzugaukeln. Daraufhin stieg der Wert im Memory-Benchmarks von 1845 (CPUID = VIA) auf 2721 (CPUID = Intel) Punkte.

Bei einem AMD-Prozessor dagegen ist es nicht so einfach die sichtbare Vendor ID für die Programme zu manipulieren. Einzige Möglichkeit hier: Virtualisierung. Richtet man über VMWare ein virtualisiertes System ein, ist es sehr wohl möglich, dem Gastsystem eine andere CPUID zu verpassen, als das Hostsystem tatsächlich besitzt. In Agners CPU-Blog wird beschrieben, wie das funktioniert:
By analogy to Andrew's code, I assume that you can make an AMD processor spoof to be "GenuineIntel" with these lines:

cpuid.0.ebx="0111:0101:0110:1110:0110:0101:0100:0111"
cpuid.0.edx="0100:1001:0110:0101:0110:1110:0110:1001"
epuid.0.ecx="0110:1100:0110:0101:0111:0100:0110:1110"

The Intel software also checks the family number, which should be set to 6:

cpuid.1.eax="0000:0000:0000:0001:0000:0110:0111:0001"
Anschließend sieht die Software innerhalb des Gastsystems einen Intel-Prozessor, selbst wenn das Host-System eine AMD-CPU besitzt. Ist die performance-kritische Software, die eingesetzt werden soll, mit einem Intel-Compiler übersetzt, sollte das die Leistung erheblich steigern. Voraussetzung ist allerdings, dass die eingesetzte Software sämtliche Flags korrekt abfragt, denn nicht immer beherrschen aktuelle AMD-Prozessoren auch sämtliche Befehle der vergleichbaren Intel-Prozessoren. Beispiel: SSSE3, das bisher kein AMD-Prozessor beherrscht, oder spezielle SMT SIMD-Befehle älterer Intel-Prozessoren, die auf AMD-Prozessoren in Ermangelung von SMT nicht implementiert waren. Fragt die Software sämtliche relevanten Flags korrekt ab, ist das kein Problem. Ist die Software jedoch schlampig programmiert und "denkt sich", "ah, Intel Prozessor, dann muss dies und jenes ja unterstützt werden", stürzt das Programm bei der Anwendung dieses Virtualisierungstricks kurzerhand ab.

» Kommentare
Planet 3DNow! RSS XML Newsfeed Planet 3DNow! Newsfeed bei iGoogle-Seite hinzufügen Planet 3DNow! Newsfeed bei My Yahoo! hinzufügen Planet 3DNow! Newsfeed bei Microsoft Live hinzufügen Planet 3DNow! Newsfeed bei My AOL hinzufügen

Weitere News:
Intern: Umleitungsprobleme
Intern: Planet 3DNow! ab 18:00 Uhr eingeschränkt erreichbar
Never Settle Forever: AMD überlässt Zusammenstellung der Spielebündel seinen Kunden
Microsoft Patchday August 2013
Der Partner-Webwatch von Planet 3DNow! (13.08.2013)
Kühler- und Gehäuse-Webwatch (11.08.2013)
Ankündigung Microsoft Patchday August 2013
Vorerst kein Frame Pacing für AMD-Systeme mit Dual Graphics
Intern: kommende Woche eingeschränkte Erreichbarkeit auf Planet 3DNow!
Kaveri verschoben und keine neuen FX-Prozessoren von AMD [3. Update]
AMD plant Vorstellung neuer High-End-Grafikkarte Hawaii im September
Kaveri verschoben und keine neuen FX-Prozessoren von AMD [Update]
Der Partner-Webwatch von Planet 3DNow! (06.08.2013)
Kaveri verschoben und keine neuen FX-Prozessoren von AMD
AMD startet neue "Never-Settle-Forever"-Spielebündel für Radeon Grafikkarten
Neuer Artikel: SilverStone Fortress FT04 - Die Hardware steht Kopf

 

Nach oben

 

Copyright © 1999 - 2019 Planet 3DNow!
Datenschutzerklärung