monteboy je napisao(la):
A da nisi mozda dosao na ideju da su kompilirali Source koji bi radio i na masinama koje ne podrzavaju SSE2 cisto radi kompatibilnosti na dolje ?
Recimo Athlon XP savrseno podrzava graficke koje su u mogucnostima da odrade sasvim solidno posao. Zasto bi zbog bulja FPU'a jednog P4 zabranio korisnicima jednog Athlon XP'a ovu igru ?
Citas li ti pazljivo ili sta?
audiofreak je napisao(la):
Nije mi smesno, bilo bi dovoljno da su stavili /O2 /G7 /arch:SSE kad su prevodili program
Vidis da sam napisao SSE imajuci bas u vidu Athlon XP i Pentium 3. Oni cak ni to nisu imali u vidu.
3Maj je napisao(la):
Poenta - SSE2 uopste nisu morali da koriste, samo bi bilo sporije. SSE su mogli itekako.
Ne zaboravi da SSE2 ima i integerski deo (isto kao MMX samo dupla sirina registra). Ali apsolutno se slazem da bi SSE trebao biti minimum.
Monteboy je napisao(la):
SSE su mogli slazem se ali zbog cega onda to znaci da se isto nebi izvrsavalo i na AMD masinama brze ?
Iz istog razloga iz kog i dan danas Netburst brze izvrsava SSE i SSE2 kod?
Monteboy je napisao(la):
tako da je logicno da gore navedena aplikacija ako se kompilira na istom compajleru sa SSE optimizacijom da ce za obadvije platforme rezultirati prilicno istim povecanjem performansi.
Sto bi automatski znacilo da Intel nebi imao skoro nikakvu prednost u odnosu na AMD da je gore navedeni source cisti SSE !
Stalno ponavljam, a niko ne razume -- AMD jednako dobro izvrsava i FPU i SSE kod. Ako ga izvrsava jednako dobro onda ne moze SSE da izvrsava brze nego FPU jer bi to onda bilo "brze nego", a ne "jednako". Kod Intela je situacija drugacija, on izvrsava SSE/SSE2 dosta bolje nego FPU tako da on time dolazi na AMD-ov nivo, a AMD ostaje gde jeste, niti degradira niti profitira jer je vec na maksimumu koji moze da ponudi.
Monteboy je napisao(la):
konkretna razlika izemedju P4 i AMD sistema bi bila od prilike ista. Jedino ako koristis specialno Intelov kompajler sa G7 opcijom koju je audio gore pomenuo imas poseban benefit na P4 platformi jer optimizuje code posebno za NetBurst
Ne bih se kladio da bi bila ista razlika. Video si sta superpi patch moze da uradi, a to je bila zamena samo jedne legacy instrukcije.
/G7 opcija ima smisla i kad se koristi M$ compiler jer sve preko /G6 (PPro, P2, P3) omogucava kompajleru koriscenje MOVcc (conditional move) instrukcija umesto uslovnih skokova.
Monteboy je napisao(la):
Ipak nebih stavio tezinu toliko na SSE , to inache voli audio da koristi kao argumenat da bi odbranio Intel platormu. Usko grlo je uvijek bila memorija i pristup istoj gdje ja vidim najvecu prednost AMD arhitekture.
Juce sam bas poterao Everest na A64 3200+ S939 (nF4 Ultra) sa 2GB Geil 3-4-4-8 DDR400 memorije. Sva podesavanja su bila na defaultu. Rezultat za read je 5517MB/sec sto je skoro identicno kao kod mene na mom racunaru (5506MB/sec kad je sve na defaultu) tako da mi nije bas jasno sta si hteo da kazes. Ono sto stoji je da je latencija dosta manja na AMD-u ali to ima uticaja kod algoritama koji pristupaju memoriji nelinearno. Vecina optimizovanih aplikacija pristupa linearno i jednom kad streaming pocne brzina i bandwidth zavisi samo od radne frekvencije memorije i magistrale.
Monteboy je napisao(la):
Jednostavno mozes testirati uticaj -> izradi aplikaciju koja odradjuje recimo miliardu SSE operacija dok recimo svaka 100 operacija pristupi memoriji
i onda izradi drugu aplikaciju koja 100 puta pristupi memoriji a onda tek odradi jedan SSE proracun naravno sve ukupno miliardu puta videces enormnu prednost AMD arhitekture kad je cest pristup memoriji u pitanju.
Prvo, u prvom slucaju vreme ce biti konstantno i u direktnoj zavisnosti od trajanja svake instrukcije, a u drugom slucaju ako se pristupa istoj memorijskoj lokaciji ili ako je pattern pristupa regularan (rastuci) vec drugi (i svaki sledeci) pristup ce biti iz cachea i aktivirace se hardverski prefetcher tako da ce biti kao da pristupa memoriji ni nema.
Drugo, koja aplikacija ima potrebu da ucita sto podataka (i u sta kad nema toliko registara?) pa tek onda da radi neko racunanje? U praksi to ide max do 4:1 (mem. pristup : proracun), nikad do 100:1 tako da bi test bio sinteticki i ne bi znacio nista.
Sa jednim ces se valjda sloziti, a to je da je bolje bilo kakva optimizacija nego nikakva i da softver treba da koristi sve mogucnosti hardvera, a ne da ga sputava.