7th gen GPU
Intel je kompanija koja se već dugo godina bavi grafikom. Ako bolje pogledamo, Intelovi grafički čipovi su zastupljeni u mnogim konfiguracijama. Gotovo svaka korporativna, kancelarijska office „mašina“ sadrži neki od Intelovih integrisanih rešenja.
Da, dobro ste zaključili, Intel je jedan od vodećih kada je u pitanju procenat tržišta grafičkih čipova. Ipak, performanse ovih rešenja su do sada bile daleko iza kojekakvih integrisanih i diskretnih rešenja iz AMD-a, odnosno ATi-ja i nVidije. Nekada davno Intel je proizvodio diskretni grafički čip, i740 koji je bio praktično promašaj. Loši drajveri i loše performanse „krasile“ su ovo sub-optimalno diskretno rešenje namenjeno jeftinijim konfiguracijama sa AGP slotom.
Vratimo se u današnje vreme. Već je odavno počela era heterogenog procesiranja, koja podrazumeva korišćenje kombinacije procesora i grafičkog čipa za izvršavanje različitih zadataka i za ubrzavanje zahtevnih izračunavanja. Podsetićemo da se kao programski interfejs – API, koriste nekoliko standarda. OpenCL je otvoren standard, kako samo ime kaže, dok je Direct Compute ustanovljen od strane Microsofta i nije otvoren, već se plaća podrška za njega u okviru Visual Studio paketa, ali je dostupan na bilo kom hardveru. Dok je treći poznati standard – CUDA zatvoren i dostupan isključivo na nVidia GPU-ovima. Intel je sa Ivy Bridgeovim GPU-om doneo podršku za OpenCL i Direct Compute.
Konkretno, najveća novina u Ivy Bridge-u je baš GPU, koji sada zauzima veći deo površine čipa u odnosu na CPU deo, nego što je to bio slučaj kod Sandy Bridgea. Ipak, ukupne dimenzije ovog četvorojezgarnog „APU-a“ su značajno manje nego kod prethodnika zahvaljujući sitnijem proizvodnom procesu.
Global Assets jedinica predstavlja front-end GPU-a koji sadrži hadver koji služi za geometrijski setup. Ovaj deo je direktno povezan na „ring bus“ čime poseduje vezu sa sistem agentom, L3 kešom i samim procesorom. U ovom delu grafičkog čipa vrši se raspodela zadataka na thread-ove u zavisnosti od toga da li je u pitanju 3D zadatak ili se radi o nekom izračunavanju ili o pixel ili vertex shading operaciji. GPU koji podržava DirectX 11 sadrži Hull i Domain shadere, kao i podršku za BC6H/7 kompresiju. Ovaj GPU je daleko efikasniji u odnosu na Sandy Bridge-ov GPU šeste generacije kada je u pitanju rad sa geometrijom.
Što se tiče arhitekture jezgra samog GPU-a, većini dobro obaveštenih čitalaca i ljubitelja hardvera poznata su VLIW4, VLIW5 i CUDA jezgra u AMD i nVidia GPU-ovima. Konkretno kod AMD-a VLIW4 je skup od 4 FMA jedinice koje su u stanju da vrše različite matematičke operacije, između ostalog i FMA (Fused Multiply Acomulate ili MAD – Multiply Add), samo skalarno sabiranje, samo skalarno množenje i eventualno još neke operacije višeg reda. Uz pomoć „co-issue-a“ t-unit vrši SIMD izračunavanje nad vektorima u VLIW5, dok se kod VLIW4 ovo zove SIMD unit. Svaku izvršnu jedinicu unutar SIMD-a zovemo stream procesor, dok kod nVidije svaki par FP FMA + INT ALU zovemo CUDA core.
Svaki stream procesor i CUDA core izvršava praktično jedan „single precision“ 32-bit FLOP (floating point operation – operacija sa pokretnim zarezom) ili jedan MAD – Multiply Add (spojene operacije množenja i sabiranja) koje čine praktično dve operacije, tj. dva FLOPS-a. Tako na primer za Llano GPU lako računamo da je teoretski „peak“ GFLOPS za 400 stream procesora 400x2x0,6, gde broj 2 predstavlja MAD (multiply-add, tj.spojene operacije množenja i sabiranja) operacije, a 0,6 je broj GHz na kojem radi GPU, čime dolazimo do računice od teoretskih 480 GFLOPS. Konkretno, AMD Llano GPU sadrži pet SIMD endžina sa po 80 stream procesora. U zavisnosti od potrebe i yield-a, AMD isključuje SIMD endžine i smanjuje performanse GPU-a po waterfall principu.
Intelova referenca u odnosu na SIMD endžin je „Slice Common Unit“, u kojoj se nalazi „Rasteriser unit“, GPU L3 keš (GPU ima svoj L3 što je novost u odnosu na SB), a ono što kod AMD-a predstavlja STREAM procesor, ovde se to naziva Execution Unit (EU). Konkretno, L3 keš je deljen izmedju više Slice-ova, odnosno više EU-ova. „Slice common“ predstavlja deo u kojem se nalaze L3 keš za GPU, raster bafer (rasteriser/depth), jedinice za rad sa pikselima (pixel ops), jedinice za rad sa multimedijalnim pikselima (media pixel ops) i baferi rendera. Ovaj deo je deljen između izvršnih jedinica (EU).
Top model Ivy Bridge-a koristi ukupno 16 EU. Konkretno, svaki EU se sastoji od jednog FMA-a i jednog ALU koji poseduju 256 bitni registar gde se zajedno izvršava do 8 thread-ova. Ovo je podesno za SIMD2x4 ili SIMD8, što savršeno odgovara Pixel i Vertex shading operacijama. Konkretno kod pixel shadinga ovo odgovara kolor operaciji nad 8 piksela istovremeno, dok kod Vertex shadinga SIMD2x4 vrši operaciju nad 4 podatka sa dve tačke koje spajaju ivice geometrijskog oblika (vertices). Ovo su obično koordinate u ravni ili prostoru.
Što se tiče „peak“ FLOPS-a koji isporučuje IB GPU, imamo 8 threadova, 2 FLOPS-a za FMA operaciju i 16 jedinica na 1,15 GHz. Teoretski „throughput“ IB GPU-a iznosi oko 294 GFLOPS-a. U poređenju sa ovim Sandy Bridge, odnosno 6-th gen poseduje mogućnost obrade do 5 threadova po izvršnoj jedinici. Poseduje takođe dva pipelinea unutar „EU“, ali sa daleko manjom fleksibilnošću. Praktično samo jedan pipeline unutar „EU“ kod SB GPU-a ima mogućnost rada sa vektorima, dok drugi služi isključivo za komplikovane matematičke funkcije poput kvadratnog korena, stepenovanja, trigonometrijskih funkcija i deljenja.
Ove operacije se vrlo retko koriste, naročito u radu sa grafikom. Dakle, najbitniji je rad sa vektorima, zbog pixel i vertex shadera koji poseduju takvu strukturu da najbolje rade sa vektorskim instrukcijama. Kod kod Ivy Bridge-a postoji mogućnost tzv. „co-issue“ vektorskih operacija, što zapravo znači da je rad sa vektorima, tj. SIMD-om moguć na oba pipeline-a unutar „EU“. Ovo zapravo znači da je u praksi broj GFLOPS-a dvostruko veći na Ivy Bridge GPU, u odnosu na Sandy Bridge.
Da bi se ovakav „troughput“ ispratio, potrebno je povećati brzinu rada sa memorijom, tj. bandwidth. U odnosu na SB, IB poseduje dvostruki L1 teksturni keš, dvostruki AGU sempler koji služi za kalkulaciju memorijskih adresa, čime je transfer je kešom podignut sa 1x128b na 2x128b, što dozvoljava da poboljšani izvršni pipeline radi punom parom. Tu je takođe i 256K L3 keša, koji nije postojao kod SB GPU-a koji je još jedan od bitnih izmena u odnosu na GPU šeste generacije.
Zbog čega je ovo bitno? Diskretne grafičke karte poseduju zasebnu memoriju, npr. DDR5 sa širokom 256-bit magistralom i transferima od preko 200 GB/s. Integrisana grafika koristi deljenu memoriju sa procesorom, čiji je bandwidth predstavlja samo fragment onoga što je na diskretnim grafičkim kartama normlano. Limitacija memorijskog protoka u konkretnom slučaju iznosi do 35 GB/s za rad sa najbržom DDR3 2133 memorijom.
Zasebnim L3 kešom za GPU Intel je postigao jednostavnost u arbitraži između procesora i GPU-a, kao i bolje skaliranje performansi samog GPU-a. Zapravo, Ivy Bridge GPU poseduje keš u četiri nivoa i to dvostruki L1 teksturni, L2 teksturni, L3 i LLC, odnosno Last Level Cache koji je deljen sa procesorom.
Kada je kvalitet prikaza u pitanju, Intel je značajno unapredio svoj GPU na ovom polju. Drajver je napisan tako da bitno unapređuje algoritme anizotropnog filtriranja. Svi znamo da se prethodnik baš i nije proslavio po ovom pitanju. Konačno, tu je i DirectX 11 podrška, mada performanse u ovom režimu rada baš i nisu najsjajnije. Nasuprot Intelu, AMD i nVidia već godinama razvijaju algoritme za filtriranje.
Što se tiče 2D podrške, performanse ovog integrisanog rešenja su poboljšane u odnosu na prethodnu generaciju, prvenstveno zbog većeg broja „slajsova“, odnosno izvršnih jedinica i thread-ova, kao i većeg broja Media Sampler jedinica u samom „front end-u“. Brzina skaliranja videa je veća nego ranije, pa je osećaj glatkoće u izvođenju videa visoke rezolucije daleko bolji. Media Sampler jedinica je deo svakog „slajsa“ tako da je njihov broj jednak broju izvršnih jedinica. MFX – multi-format codec, podržava samo MPEG-2, VC1, AVC i IVC formate. AVC podržava rezolucije do 4096 x 2304 piksela. Iako IB podržava video format ovolike rezolucije i dalje je donekle prisutan problem sa „seckanjem“ 24 fps videa.
Dodaj komentar