Nego, što si prešao na Core arhitekturu? NetBurst je imao potencijala :d (naročito mi se sviđalo što se brže surfuje)
A ti kao ne znas zasto developeri uvek koriste najnoviji hardver? :trust:
Ja trenutno pisem/odrzavam/optimizujem kod koji mora raditi na Pentium III, Pentium 4, Prescott, Core 2 Duo/Quad (i naravno AMD varijantama toga). Od nedavno sam to dodao i kod specifican za Penryn iako ga jos nemam u masini, ali bice valjda i toga.
ivanbo2003 je napisao(la):
Nehalem je zasnovan na Core-u
Molim?!? Da ne idemo ovde u off, ali to nije bas tacno.
Nedjo je napisao(la):
nesto o ptimizaciji kompajlera za K10 arhitekturu:
Ne vidim sta je tu novo/revolucionarno u odnosu na ono sto konkurencija odavno nudi.
Fedji cu ja da odgovorim za Intelov kompajler posto ga koristim svaki dan:
drfedja je napisao(la):
da je Intelov komajler optimizovan za AMD procesore ?
Ne da je optimizovan za AMD, vec da optimizuje kod i za AMD. Od verzije 9 (ili bese 9.1?) postoji switch -QxO i -QaxO koji omogucava generisanje SSE3 koda koji radi na AMD procesorima, umesto dosadasnjeg fallback-a na generic x86/FPU kod. Znaci, cim je dovoljno AMD developera to trazilo, Intel im je udovoljio, a onoliko se tupilo o tome ranije.
drfedja je napisao(la):
ili da su ostali kompajleri njesra u odnosu na Intelov ?
Definitivno DA kada su u pitanju performanse generisanog koda. Naravno, i Intel kompajler ima bugova i ima problema sa prevodjenjem vecih/kompleksnijih projekata, ali to se lagano ispravlja u novim verzijama.
drfedja je napisao(la):
mozda bi kao sto neki tvrde ovde, AMD trebalo da pocne da pravi kompajlere umesto procesora
Ne, ali bi morali imati svoj kompajler. Ovako deluju neozbiljno jer nisu complete solution provider.
Drugo, i dalje ne postoji ni jedan vektorizujuci kompajler za x86/x64 (citaj: koji postize paralelizam na nivou obrade podataka SIMD instrukcijama, a ne samo na nivou vise CPU jezgara) osim Intel-a i Codeplay VectorC-a koji kad sam ga poslednji put probao nije bio u stanju da generise .exe koji ne puca kad ga pokrenes.
Novi Portland Group koji je Nedjo pomenuo ima auto-paralelizaciju (za multi-core) ali to Intel kompajler ima odavno, a ta opcija nije bas ni neophodna s obzirom da je procenat koda koji se moze automatski paralelizovati veoma mali kao i da svi moderni kompajleri (ukljucujuci i MSVC 2005) podrzavaju OpenMP direktive, sa kojima je moguce postici bolje rezultate nego sa tom automatikom. Takodje ima i unified binary sto je ekvivalent Intelovom auto-dispatchu (optimizacija za vise procesora unutar jednog .exe fajla), znaci ni to nije nista revolucionarno.
S druge strane, Intel kompajler uz pomoc auto-vektorizacije postize ubrzanje i do 4x u odnosu na druge kompajlere, a paralelizacijom tog koda se postize jos oko 80-tak procenata preko tih 4x. Znaci, bez auto-vektorizacije ni jedan drugi kompajler ne moze ni da prismrdi tome i dokle god je drugi kompajleri nemaju ne isplati se cak ni skidati trial verziju, a kamoli stvarno je probati za nesto.
Uzgred, optimizacije koje kompajler radi za odredjenu arhitekturu procesora (instruction scheduling, execution units, memory access, loop alignment) samo su delic celog posla i minimalno uticu na performanse u poredjenju sa high-level optimizacijama kao sto su razne transformacije petlji na primer, a vektorizaciju da i ne pominjem.
Kompajler pre svega mora znati da optimizuje cesto koriscene algoritme i u izvesnom smislu moze se povuci paralela izmedju kompajlera i sahovskih programa.