Uusimmat

Kepler-arkkitehtuuri

22.03.2012 16:23 Muropaketin toimitus

Jonah Alben (Vice President of GPU Engineering) esitteli San Franciscossa järjestetyssä lehdistötilaisuudessa varsin pintapuolisesti Kepler-arkkitehtuuria. NVIDIAn aikoo kuitenkin kertoa Keplerin laskentaominaisuuksista tarkemmin vasta myöhemmin. Albenin mukaan Keplerin suunnittelu aloitettiin vuonna 2007 ja sen tavoitteena oli parantaa grafiikkasuorituskykyä äärimmäisen hyvällä tehonkäytön hyötysuhteella (suorituskyky/wattia).

Kepler-arkkitehtuuri rakentuu vuonna 2010 esitellyn Fermi-arkkitehtuurin perustuksista. Fermin suunnittelussa keskityttiin ensisijaisesti parantamaan suorituskykyä edellisestä GT200-grafiikkapiiristä ja vaikka tehonkulutukseen kiinnitettiin huomiota kehityksessä, pääpaino oli DirectX 11 -rajapinnan geometrian, tesseloinnin ja laskennan suorituskyvyssä. Tarkemmat tekniset yksityiskohdat Fermi-arkkitehtuurista löytyvät NVIDIAn kotisivuilta ladattavasta raportista.

NVIDIAn insinöörit ottivat Keplerin suunnitteluun erilaisen lähestymistavan. Vaikka tärkein tavoite oli edelleen säilyttää johtoasema grafiikkasuorituskyvyssä, Keplerin suunnittelua ohjasi suorituskyky/wattia-suhteen dramaattisesti parantaminen. Esimerkkinä tästä CUDA-ytimien kellotaajuus laskettiin toimimaan samalla kellotaajuudella kuin grafiikkapiiri, kun ne aiemmin ovat toimineet kaksinkertaisella kellotaajuudella.

Suurempi versio kuvaa klikkaamalla

GK104-grafiikkapiirin lohkokaaviokuvan rinnalle on eritelty tekniset avainominaisuudet eli 8 SMX-moduulia, 1536 kappaletta CUDA-ytimiä, 8 geometriayksikköä, 4 rasterointiyksikköä, 128 tekstuuriyksikköä, 32 ROP-yksikköä ja 256-bittinen muistiväylä, joka tukee GDDR5-muisteja.

GeForce GTX 580:n GF110-grafiikkapiiriin verrattuna CUDA-ytimiä on kolminkertainen ja tekstuuriyksiköitä kaksinkertainen määrä. ROP-yksiköitä on kuitenkin vähemmän (32 vs 48) ja GK104 kykenee suorittamaan 32 rasterioperaatiota kellojaksossa. Grafiikkapiirin GDDR5-muistiohjain on optimoitu tukemaan erittäin korkeita muistikellotaajuuksia, minkä ansiosta muistiväylän kaistanleveys on saatu nostettua GeForce GTX 580:n tasolle, vaikka muistiväylä on kuristettu 384-bittisestä 256-bittiseksi.

Kepler-grafiikkapiirit koostuvat Fermin tavoin eri GPC-, SMX- ja muistiohjainkonfiguraatioista. GeForce GTX 680:n GK104-grafiikkapiiri rakentuu yhteensä neljästä GPC:stä (Graphics Processing Cluster), joita NVIDIA itse kutsuu minigrafiikkapiireiksi ja suurin osa tärkeimmistä grafiikkatoiminnoista suoritetaan niiden sisällä. Jokaisessa GPC:ssä on kaksi toisen sukupolven SMX-moduulia (Streaming Multiprocessor) ja GK104-grafiikkapiirissä niitä on kahdeksan kappaletta. 64-bittisiä muistiohjaimia on neljä kappaletta.

32 ROP-yksikköä on järjestetty neljään kahdeksan ROP-yksikön ryhmään, joista jokainen on yhteydessä yhteen 64-bittiseen muistiohjaimeen. Muistiohjain, 128 kilotavua L2-välimuistia ja ROP-ryhmä ovat tiiviisti nipussa keskenään ja skaalautuvat yhdessä. GK104-grafiikkapiirissä on yhteensä 512 kilotavua L2-välimuistia.

Suurempi versio kuvaa klikkaamalla

Jokaisessa kahdeksassa SMX-moduulissa on 192 CUDA-ydintä. Yhdessä CUDA-ytimessä on täysin liukuhihnoitettu aritmeettislooginen- (ALU) ja liukulukuyksikkö (FPU). CUDA-ytimien rinnalla on 32 kappaletta Load/Store-yksiköitä, jotka mahdollistavat lähde- ja kohdeosoitteiden laskennan 32 säikeelle kellojaksossa sekä 32 Special Function -yksikköä (SFU), jotka kykenevät suorittamaan transkendenttisia käskyjä, kuten sini, käänteisluku ja neliöjuuri. SMX-mooduuli on varustettu lisäksi 16 tekstuuriyksiköllä.

GK104-grafiikkapiirissä mikään 1536 CUDA-ytimestä ei kykene suorittamaan kaksoistarkkuuden liukulukulaskuja (Double-precision floating-point, FP64). Grafiikkapiirissä on kahdeksan erityistä CUDA FP64 -ydintä, jotka eivät näy lohkokaaviossa, mutta ne kykenevät suorittamaan ainoastaan FP64-laskuja 1/24 FP32 -nopeudella. Lisää aiheesta Anandtechin artikkelissa.

Geometriayksikkö eli PolyMorph Engine on päivitetty 2.0-versioon, joita GK104-grafiikkapiirissä on yhteensä kahdeksan kappaletta. Vaikka geometriayksiköitä on vain puolet GeForce GTX 580:n GF110-grafiikkapiiriin verrattuna, ne on suunniteltu tarjoamaan karkeasti kaksinkertainen suorituskyky kellojaksossa. GK104:n korkeampi kellotaajuus takaa merkittävän parannuksen suorituskykyyn esimerkiksi tesselaatiossa. PolyMorph Engine 2.0 koostuu viidestä vaiheesta, jotka ovat Vertex Fetch, Tessellator, Viewport Transform, Attribute Setup ja Stream Output. Jokaisessa yksikössä lasketut tulokset siirretään SMX-moduulille, joka suorittaa pelin shaderin ja palauttaa tuloksen PolyMorph Enginen seuraavalle vaiheelle. Kun kaikki vaiheet on suoritettu, tulokset siirretään eteenpäin Raster Engineille.

Raster Engineitä on neljä kappaletta eli yksi jokaista ROP-yksikköä kohti. Raster Engine rakentuu kolmesta vaiheesta, jotka ovat Edge Setup, Rasterizer ja Z-Cull. Edge Setupissa verteksien sijainnit haetaan ja kolmion reunojen yhtälöt lasketaan. Kolmiot, jotka eivät ole kohti ruutua, poistetaan. Rasterizer laskee pikseleiden peiton ja sen tuottamat pikselit lähetetään Z-Cull-yksikölle, joka poistaa ruutupuskurissa olevien pikseleiden takana piilossa olevat pikselit tarpeettomina, eikä niiden käsittelyä jatketa.

Kaikissa Kepler-grafiikkapiireissä on grafiikkapiiriin integroitu rautapohjainen H.264-kooderi, jonka nimi on NVENC. Aiemmin videoiden pakkaaminen suoritettiin ohjelmiston ja grafiikkapiirin CUDA-ytimien avulla, mutta NVIDIAn mukaan NVENC tarjoaa lähes nelinkertaisen paremman suorituskyvyn kuin CUDA-pohjaiset kooderit ja samalla tehonkulutus on alhaisempi. NVENC kykenee pakkaamaan 1080p Full HD -laatuista videota parhaimmillaan kahdeksankertaisella nopeudella. Tuettuna ovat H.264 Base-, Main- High Profile Level 4.1 -profiilit, maksimissaan 4096×4096-resoluutio ja Multi-view Video Coding eli MVC stereoskooppisen videon pakkaaminen.

Cyberlinkin MediaEspresson uusin beetaversio tarjoaa NVENC-tuen ja tuki on pian tulossa myös Cyberlink PowerDirector- ja Arcsoft MediaConverter -ohjelmistoille.

Keplerin GDDR5-muistiohjaimessa on täysin uusi IO-suunnittelu, jonka avulla GDDR5-muistien teoreettista signalointinopeutta on saatu nostettua merkittävästi. NVIDIAn huippunäytönohjaimissa GDDR5-muistit ovat tähän asti toimineet aina alemmalla kellotaajuudella kuin AMD:n Radeon HD -näytönohjaimissa, mutta Fermin muistiohjainta syvällisesti tutkimalla (circuit and physical design, link training, & signal integrity) NVIDIA on onnistunut saamaan GDDR5-muistit toimimaan vakiona jopa 1502 MHz:n (6 Gbps) kellotaajuudella.

Sisältö

  1. NVIDIA GeForce GTX 680 (GK104)
  2. Uudet ominaisuudet: GPU Boost, Power Target, Advanced VSync, Surround ja TXAA
  3. Kepler-arkkitehtuuri
  4. Näytönohjaimen esittely
  5. Testikokoonpano ja suorituskyky yhdellä näytöllä (1920x1080)
  6. Kolmen näytön Surround-suorituskyky (5760x1080)
  7. Tehonkulutus-, lämpötila- ja melumittaukset
  8. Ylikellotustestit
  9. Loppuyhteenveto