x86-64 a Intel vs. AMD [Was: Hledani uzkeho mista ve vykonu]

Ing. Pavel PaJaSoft Janoušek PaJaSoft na FoNet.Cz
Středa Říjen 5 09:22:38 CEST 2005


Jan Houstek <mailto:jan.houstek na mff.cuni.cz> wrote:
> optimalizace -- to je právě to, na co se ptám. Mě je jasné, že se asi
> Intel nebude hrnout do co nejlepší podpory AMD procesorů, ale zajímá
> mě, 
> jestli rozdíl
> mezi jeho velmi optimálním kódem pro vlastní procesory proti
> suboptimálnímu pro AMD přebije to, že ten dvoujaderný Athlon 64 bude
> výkonnější než srovnatelně drahé řešení od Intelu.

	Aniž bych to zkoušel, tak snad dvě poznámky - Intel C kompilátor byl
vždy vyhlášen díky optimálnímu a optimalizovanému kódu (však byl taky
pekelně pomalý, ale výsledek stál za to) - ostatní Intel kompilátory (jiné
jazyky - Fortranem počínaje) na tom byly stejně nebo velmi podobně (ať si
kdo chce co chce říká, toto není urban myth).

	Problém je ale v něčem jiném a sice, že ekvivalentní kód z hlediska
strojových instrukcí vede ke zcela jinému mikrokódu v případě Intelu a v
případě AMD a to i dokonce v rámci řady. A v tom je ta zásadní potíž...
Nevím nakolik Intel překladač optimalizuje až na tuto úroveň - vzhledem k
tomu, že Pentium 4 a) není Pentium 4 b) - už třeba z důvodů, že pod tímto
marketingovým označením (Intel Pentium 4) máme na trhu několik procesoru,
které vnitřně jsou úplně jiné - ať už počet jader, množství a typy cache,
délka pipeline apod... - tak se domnívám, že až na tuto úroveň jít
optimalizace nemůže (leda, že by se zadávalo kompilátoru přímo to "Intel
číslování") a pokud ano, tak to bude optimální pouze na jednom typu a na
jiném to může být naopak zcela neoptimální až šnečí. Vycházím i z toho, jak
se občas strojově optimalizuje až na úroveň a množství L1 cache... (třeba
hledání Mersennových prvočísel - viz. www.mersenne.org - tedy v podstatě
syntetický výpočetní kód - obečně označované jako vědeckotechnické výpočty -
zřejmě Váš případ)

	Z podobného pohledu bych se na to díval i Intel vs AMD - jaký je ale
procentuelní rozdíl ve výkonu si odhadnout netroufnu... ale s ohledem na
zkušenosti s výše uvedeným projektem to můžou být i desítky procent za den
na 1 CPU.

-------------------------------------------------------------------
Ing. Pavel Janousek (PaJaSoft)             FoNet, spol. s r. o.
Technicka podpora, Intranet/Internet     Sokolova 67, 619 00 Brno
E-mail: mailto:Janousek na FoNet.Cz         Tel.: +420  5  4324 4749
WWW:    http://WWW.FoNet.Cz/           E-mail: mailto:Info na FoNet.Cz
-------------------------------------------------------------------  



Další informace o konferenci Linux