Ajde nek neko napravi poredjenje arhitektura.. npr 3870 i Larrabee. 3870 je 5-way superskalarna sprava a kakav je larrabee po tom pitanju? Da li ce svako jezgro da izvrsava poseban pogram ili ce jezgra da imaju zajednicki IP (instr. pointer) i izvrsavace identican program?
Arhitektura
Po pitanju instruction pointera (IP) tj. nezavisnih thread-ova* i izvrsnih jedinica:
-G80 moze da izvrsava
16 nezavisnih programa: Sastoji se od 8 cluster-a. Cluster se sastoji od 2 "Streaming Multiprocessor-a - SM" (nVidia-ina terminologija). Svaki SM poseduje jedan IP. Ukupno postoji 16 SM-a, dakle 16 IP-a.
Jedan SM poseduje SIMD jedinicu od 8 ALU-a tj. SIMD je 8-wide.
-RV670 moze da izrsava
8: Ima 4 SIMD Array-a. Jedan SIMD Array ima 2 IP-a - Ukupno 8.
Svaki SIMD Array cini 5 * 16-wide SIMD.
-Larrabee bi se sastojao od 16 x86 jezgara. Svako jezgro je 4-way SMP tj. ima 4 IPa. 16*4 =
64 threada.
Jedno jezgro ima dve 16-wide SIMD jedinice.
*Koliko sam primetio nVidia i ATI kao thread-ove broje i paralelnu obradu pixela. Medjutim, kako se nad tim pixelima izvrsava ista instrukcije tj. prate isti IP, ja bih se pod terminom "thread" ogranicio na nezavisne instruction pointere.
Terminologija
Jedna zanimljiva stvar u ovoj GPU vs. CPU prici je terminologija. Kako se danas u stvari definise GPU? Mogu se staviti jedan pored drugog TNT2 i G80. Oba idu pod nazivom "GPU", a razlika izmedju njih je toliko drasticna da stavljati ih u isti kos postaje smesno.
TNT2 ima jedan zadatak i to je to. G80 nije usko ogranicen na jedan jedini zadatak i samim tim je vise od obicnog "Graphics processing unit-a". Tu dolazi na scenu GPGPU. Da li se sad GPU pravi za grafiku, a opsta primena je tu kao posledica ili se GPU pravi sa opstom primenom kao jednim od ciljeva? Ako je ovo drugo da li ga uopste ima smisla zvati "graphics sta god" ili je postao nova kategorija?
Generalizacija GPUa, Larrabee, Fusion - sve su to novi koncepti koje tek treba ispitati i hezahvalno je udarati na njih pecat, pogotovo ne pecat zastarele terminologije.
Primena
Mislim da je potrebno tacno odrediti dve stvari:
1) Da li se prica u kontekstu igara ili opste primene?
2) O kom trzistu se radi? Desktop/Mobile ili Server/HPC?
Koliko sam primetio u ovom thread-u su se dosta pomesale ove kategore, a ne moze da se sudi isto za sve.
Na osnovu dosad dostupnih Larrabee informacija moje misljenje je ovakvo, po kategorijama:
1) Desktop - igre
Larrabe ce imati specijalizova jedinice za rasterizaciju uz mini x86 jezgra. Mnostvo mini x86 jezgara bi uz dobru custom design logiku i odlican proizvodni proces iz Intela mogla imati vrlo dobru sirovu FLOPS snagu (1.28 TFLOPSa (single precision) za inicijalni 16-jezgarni Larrabee). Medjutim, ono od cega zaista zavise gaming performasne su specijalizovane jedinice i driver. Po dosadasnjim integrisanim resenjima bi se reklo da im taj deo ne ide uopste dobro. Ko zna, ako zaposle neke iskusne ljude iz te oblasti i uloze masu resursa u razvoj DirectX i OpenGL drivera, mozda nas iznenade. Licno sam skeptican.
2) Server/HPC - opsta primena
Ovo je potencijalno najbolje mesto za Larrabee. Ovde bi cak najbolje isao bez graficki specijalizovanih delova. U planu je verzija Larrabee-a za socket uz QuickPath cache coherent linkove (licno smatram da je ova verzija Larrabee-a prethodila "on card via PCIe" verziji). Tako se dobija najlaksa integracija u sistemima od par hiljada procesora. Sistem koji se sastoji od Larrabee i Sandy Brigde procesora koji su povezani istim QPI linkovima bi bio super za HPC trziste (think Cray supercomputer). Larrabee ne bi imao nikakva ogranicenja programabilnosti jednog GPGPU-a. Ovo bi bio jedan sjajan number cruncher!
3) Desktop - opsta primena
Mozda u nekoj kasnijoj inkarnaciji kao CPU sa heterogenim jezgrima. Par fat Sandy Bridge jezgara, mnostvo mini Lerrabee jezgara, pa cak mozda i koje Atom jezgro (za power saving pri malim operecenjima) - sve to na jednom die-u (za par godina sa sitinijim procesom).
4) Server/HPC - igre
Ocigledno ova kategorija bas ne ide
🙂