
AMD kertoi viime viikolla medialle lisää yksityiskohtia uudesta Zen-koodinimellisestä x86-arkkitehtuuristaan ja ensi vuoden ensimmäisellä neljänneksellä eli tammi-maaliskuussa virallisesti julkaistavasta Summit Ridge -koodinimellisestä työpöytäprosessorista. io-tech.fi vieraili San Franciscon kupeessa järjestetyssä AMD Tech Summit -tapahtumassa ottamassa omin käsin ensituntumat uutuusprosessorista.
Uusi kilpailukykyinen x86-arkkitehtuuri on ollut valtava neljän vuoden projekti AMD:lta ja projektin parissa on työskennellyt samanaikaisesti parhaimmillaan 300 insinööriä. Toimitusjohtaja Lisa Sun mukaan yrityksen oli pakko kehittää suorituskykyinen arkkitehtuuri, jotta sen heterogeeniseen laskentaan eli prosessori- ja grafiikkaytimien yhdistämiseen nojautuva strategia onnistuu kääntämään yrityksen kurssin voitolliseksi seuraavan viiden vuoden aikana.
Suurin uutinen on, että AMD:n Summit Ridge -koodinimellisen työpöytäprosessorin virallinen nimi tulee olemaan Ryzen. Huhut nimen ympärillä alkoivat liikkua hiljattain, kun netissä paljastui yrityksen hakeneen 28. heinäkuuta Ryzen-tavaramerkkiä. Vaihtoehtoiseksi kirjoitusasuksi hakemukseen on merkitty ”Risen”. Ryzen on uutuusprosessoreiden brändinimi ja lopullisessa tuotenimessä on todennäköisesti lisäksi mukana tunniste ja mallinumero. AMD tulee käyttämään Ryzen-nimeä työpöytäprosessoreissaan ainakin seuraavan viiden vuoden ajan.
AMD on toistaiseksi kertonut yksityiskohtia vain 8-ytimisestä ja 16 säiettä tukevasta prosessorista, mutta kun aika koittaa, markkinoille julkaistaan todennäköisesti myös 4- ja 6-ytimisiä Ryzen-prosessoreita. Suorituskykyisin 8-ytiminen malli toimii 3,4 GHz:n perustaajuudella, mutta rasituksessa Boost-ominaisuus tulee nostamaan ytimien kellotaajuuden korkeammalle. AMD ei ole toistaiseksi paljastanut, kuinka korkealle se aikoo Boost-kellotaajuuden virittää.
Välimuistihierarkia on uudistettu Zenissä täysin ja 8-ytimisessä Ryzenissä sitä on yhteensä 20 megatavua, josta L3-välimuistia on 16 megatavua ja L2-välimuistia neljä megatavua. L3-välimuisti on jaettu kahdeksi kahdeksan megatavun lohkoksi, joihin kumpaankin on yhteydessä neljä ydintä. Jokaisella ytimellä on oma 512 kilotavun L2-välimuisti.
Päivitys: Lisa Su kertoi tiistaina järjestetyssä New Horizon -livestreamissa, että Globalfoundersin 14 nanometrin FinFet-prosessilla valmistettavan 8-ytimisen Ryzen-prosessorin TDP-arvo on 95 wattia.
AMD SenseMI -tekniikka
”SenseMI, a set of sensing and adapting technologies, including an artificial network inside every “Zen” processor to anticipate future decision, preload instructions, and choose the best path through the CPU”
Uusien teknisten yksityiskohtien lisäksi AMD esitteli SenseMI-tekniikan, joka käsittää joukon prosessorin suorituskykyyn ja toimintaan liittyviä ominaisuuksia. Vähemmän yllättäen jokaisella SenseMI-tekniikan ominaisuudella on oma markkinointinimensä, joten uusista termeistä ei tule olemaan pulaa.
Virransäästöstä on vastuussa Pure Power -ominaisuus, joka tarkkailee prosessorin lämpötilaa, kellotaajuutta ja käyttöjännitettä. Jos mahdollista, Pure Power optimoi reaaliajassa prosessorin parametrejä alhaisemman virrankulutuksen saavuttamiseksi ylläpitäen tarvittavan suorituskyvyn.
Precision Boost on AMD:n uusi markkinointinimi perinteiselle Turbo-ominaisuudelle ja kellotaajuutta pystytään säätämään rasituksessa huomattavasti aiempaa tarkemmin. Precision Boost toimii rinnakkain Pure Power -ominaisuuden kanssa eli lämpötila, kellotaajuus ja käyttöjännite ovat jatkuvasti tarkkailtavana. Tarpeen ja mahdollisuuksien mukaan prosessorin kellotaajuutta voidaan säätää 25 MHz:n askelin tuhat kertaa sekunnissa, kun perinteisesti prosessoreissa Turbo-tasot ovat olleet minimissään 100 MHz:n välein.
Extended Frequency Range eli XFR mahdollistaa prosessorin kellotaajuuden nostamisen automaattisesti yli maksimiksi määritellyn Precision Boost -taajuuden, jos prosessorin jäähdytys on kunnossa ja lämpötila riittävän alhainen. Käytännössä tämä tarkoittaa, että kellotaajuus skaalautuu korkeammalle, mitä parempaa jäähdytystä prosessorilla käytetään. Esimerkkigraafissa punainen viiva eli Precision Boost -maksimitaajuus on asetettu neljännelle tasolle, joka voidaan tulkita 4 GHz:ksi. XFR:n avulla ja hyvällä jäähdytyksellä kellotaajuus nousee graafissa hetkellisesti 4,5 GHz:iin.
AMD Ryzen vs Intel Core i7-6900K
AMD tarjoili median edustajille tuoreen katsauksen Zenin suorituskykyyn ja demossa vastakkain olivat 3,4 GHz:n kellotaajuudella toiminut Ryzen-prosessori ja Intelin vakiona toiminut Broadwell-E-koodinimellinen Core i7-6900K -prosessori. AMD:n Ryzen-prosessorissa ei ollut vielä Precision Boost -ominaisuus käytössä, vaan se toimi 3,4 GHz:n perustaajuudella. Intelin 6900K toimii vakiona 3,2 GHz:n perustaajuudella, mutta rasituksessa 3,7 GHz:n Turbo-taajuudella.
Molemmat prosessorit ovat 8-ytimisiä ja kykenevät käsittelemään samanaikaisesti 16 säiettä. AMD ei ole paljastanut 8-ytimisen Ryzenin TDP-arvoa, mutta Core i7-6900K:lla se on 140 wattia. Intelin Core i7-6900K julkaistiin toukokuun lopulla ja sen hintataso Suomessa on tällä hetkellä alkaen 1150 euroa.
Ensimmäisenä ajettiin Handbrake-testi ja videon enkoodaus, jossa kokonaislukuyksiköt pääsevät tositoimiin. Ryzen-kokoonpano oli Handbrake-testissä noin 3-4 sekuntia suorituskykyisempi kuin Core i7-6900K-kokoonpano. Tehonkulutusmittauksissa Blender-renderöintiohjelmistolla mallinnettiin 3D-grafiikkaa ja Ryzen -kokoonpanolla tehonkulutus oli rasituksessa noin 5 wattia alhaisempi kuin 6900K-kokoonpanolla.
Lisa Su kertoi testien lopuksi, että Ryzeniä viilataan vielä kohti julkaisua ja suorituskyky paranee ainakin vielä, kun Precision Boost -ominaisuus kytketään käyttöön. Kannattaa kuitenkin huomioida, että lopullisia johtopäätöksiä AMD:n omista testeistä ei kannata vetää, vaan odottaa puoleettomia testejä. io-tech.fi tulee testaamaan ja ylikellottamaan Ryzen-prosessorin heti julkaisun yhteydessä, joten pysykää kanavalla.
AM4-emolevyt
Ryzen-prosessoreissa on 1331 liitäntäpinniä ja ne sopivat uuteen AM4-prosessorikantaan, joka on käytössä myös Bristol Ridge -koodinimellisissä 7. sukupolven APU-piireissä. Muistiohjain tukee DDR4-muisteja ja PCI Express -ohjain 3.0 -standardia.
Emolevyvalmistajilta on ensi vuonna luvassa runsaasti AM4-kantaisia emolevyjä, jotka pohjautuvat uuteen X370-piirisarjaan. Tuettuna ovat kaikki nykypäivän ominaisuudet, kuten USB 3.1 (Gen 2), M.2-formaatin SSD-asemat, NVMe-protokolla ja SATA Express -liitäntä.
Tuossa olisi parempi vertailukohta AMD Ryzen 7 1800X vs. Intel Core i7 7700K Linux Gaming Performance Review – Phoronix
Huomioitavaa on tuo muutos OpenGl versiosta Vulcaniin ja kun tuota muutosta vertailee noiden prossujen kesken. Tietysti pitää myös muistaa mahdollinen testaajan kädetys.
Mää mutuilen jotain pcie väylän kommunikointi ongelmaa/hidastelua.
tuossa on biosissa kytketty ytimiä päälle kummastakin ccx:stä. Eli eiköhän noi ole ihan oikein, tuskin se bios ihan mitä sattuu ytimiä disabloi.
Näissä tuloksissahan isoja ongelmia on selvästi vain tuossa vulcanissa. Harmi ettei ole laajempia tuloksia/testejä useilla peleillä.
Miten siinä biosissa disabloidaan ytimiä? Jos siinä on vaan että coret 1-8 erillisillä rivillä, niin ei se kerro vielä välttämättä niiden fyysistä sijaintia.
Vaikuttaisi vähän siltä, että siellä on todella paljon jotain ylimääräistä synkronointia, tai cachen false sharingia, ja kaikki aika menee ping-pong-liikenteeseen kakkujen välillä, kun kunkin ytimen välimuisti yrittää aina ottaa kilpaa samaan osoitteeseen osoittavaa välimuistilinjaa omakseen kirjoittaakseen siihen.
Kun käytössä on vain yhden CCX:n ytimiä, tämä liikenne on saman CCX:n L2- ja L1-kakkujen välillä, ja tämä on nopeampaa, ja hidastaa vähemmän.
Kun käytössä on kahden CCX:n ytimiä, tulee tätä ping pong-liikennettä myös kahden eri CCX:n kakkujn välillä, ja tämä liikenne hitaampaa.
Perimmäinen syy: Dota2n vulkan-implementaation koodi Linuxilla siis vaikuttaisi sukkaavan pahasti.
Tuon artikkelin edellisellä sivulla näytetään miltä se BIOSin valintaoptio ytimien disabloinniksi näyttää.
Vaikka coreja ja CCX:iä onkin disabloitu, niin SMT on vielä päällä. Osaako toi Dota2 erottaa nopeat ytimet noista virtuaaliytimistä oikein? Ja voiko pelin koodi valita missä ytimessä sitä ajetaan vai määrääkö käyttis sen? Tuossa olisi tarvinnut olla jokin ydinkohtainen kuormitus lisäksi näytettävänä.
No niinpä näyttää. Luulisi olevan kunnossa.
Jotenkin nää tulokset on niin randomia kun on keskisuurimäärä säikeitä käytössä että ei oikeasti tiedä mitä tapahtuu. Loadit jossa oikeasti 16 säiettä käytössä että säikeet eivät pompi toimivat hyvin. Muut eivät. Harmittaa kun ei löydy mitään custom affinity testejä jossa eri threadeja pakotetaan eri ytimille. Tekisi mieli hakea kaupasta lankku ja prossu ja testata.
Saman ytimen kahden virtuaaliytimen välillä false sharing ei ole ongelma, koska niille kaikki välimuistit on yhteisiä.
Käyttis määrää missä säikeitä ajetaan.
Tosin useimmilla käyttiksillä säie voi myös yrittää esittää toivomuksen siitä, millä ytimellä sitä ajetaan. Tämä on kuitenkin vain toivomus, ja luulisin, että pelit eivät näitä toivomuksia esitä, koska sen laskeminen, mikä "toivomus" on se oikea ja hyödyllinen on hyvin vaikeaa ja riippuu hyvin paljon siitä millä raudalla softaa ajetaan, ja mitä muuta koneella on samaan aikaan pyörimässä, ja näiden laskeminen siten että siitä olisi useammin hyötyä kuin haittaa olisi ihan hirveää nysväämistä ja silti osutaan liian helpolla pahasti pieleen.
No eikös tämä juuri ole se ongelma jos käyttis ei erota virtuaaliytimiä oikeista. Esim pelissä vaikka pelin maithread ja näyttiksen ajurithreadi samalle ytimelle, vaikka molemmat käytännössä vaativat oman dedikoidun ytimen.
Ihan nyt vois tietty testata Windowsillakin samat testit niin jäisi pois tuo "pieni" olettamus että noi AMD:n Linux driverit on Vulkan(inkin) osalta vaiheessa.
Yleensä käyttis erottaa, lähinnä bulldozerin tapauksessa heti julkaisun jälkeen käyttikset eivät erottaneet.
Ja ainakin käyttis tietää sen paljon paremmin kuin peli itse, minkä takia peli helposti antaisi käyttikselle vääränlaisia vihjeitä, jos se yrittäisi alkaa samomaan millä ytimellä se haluaa pyöriä.
Zenin kanssa ongelma on se, että käyttikset eivät osaa mallintaa/laskea tuota hitaampaa/kalliimpaa kommunikaatiohintaa kahden eri CCXn ydinten välillä. Mutta tämähän on oikeastaan päinvastainen ongelma, Zenillä haluttaisin sijoitella (keskenään kommunikoivat) säikeet samalle CCX:lle eikä hajauttaa niitä useammalle, kun taas SMT-ongelmissa on kyse siitä että haluttaisiin hajauttaa useammalle fyysiselle ytimelle eikä ajaa saman fyysisen ytimen virutaaliytimissä
Käytännössä järkevä skeduli Zenille 4-säikeiselle pelille olisi yleensä sijoittaa pelin 4 säiettä yhden CCX:n kaikille ytimille, ja lukita ne sinne, eikä sallia mitään muuta ajoon niillä, vaikka pelin säikeet nukkuisivat(jottei välimuisteista heitetä pois mitään pelin dataa), ja jättää toinen CCX kaikille taustaprosesseille. Mutta sitten kuin pelillä on enemmän kuin 4 säiettä, tämä ratkaisu ei enää toimi.
Avoimen lähdekoodin ajuri AMD grafiikka kortilla. Samalla ajurilla myös i7-7700K:n framerate putoaa kun siirrytään vulkan rajapintaan. Pudotus on vain paljon pienempi.
Voisi kuvitella että jos ongelma olisi Windows drivereissä niin vastaava ongelma esiintyisi myös hyötyohjelmissa ja CPU benchmarkeissa?
Varmasti niissä on parannettavaa sitä en sano, mutta näin mutuna näkisin että ongelma on enemmän pelien tavassa käyttää ytimiä. Kuten aiemmin sanoin, niin ongelma ei pelien suhteen välttämättä ole se että niitä pitäisi optimoida tajuttomasti, mutta ennemminkin se että ne käyttää Ryzeniä samalla tapaa kuin Inteliä ja niille tehdyillä optimoinneilla.
Niin toisaalta, jos taas sitä kommunikaatiota ei ole paljoa on parempi kun ne säikeet on eri CCX:llä ja kaikilla on nopea oma cache. Eli jotenkin se pitäisi sitten saada tuohon skedulointiin mukaan, jos halutaan että se toimii aina optimaalisesti.
Vulkan on hyvin matalan tason rajapinta joten veikkaisin, että tuo ongelma on ihan pelin koodin eikä ajurin koodin puolella; Vulkanilla pelin koodi joutuu tekemään asioita jotka aiemmilla rajapinnoilla oli ajurin vastuulla.
AMD Ryzen Performance Negatively Affected by Windows 10 Scheduler Bug
AMD Ryzen Performance Negatively Affected by Windows 10 Scheduler Bug
Peleihin 5-10% lisää kun bugi on korjattu?
Tuostahan ei tosiaan voi tietää yhtään kuinka iso vaikutus sillä on. Saattaa olla suurikin tai sitten täysin olematon. Vaihtelu eri ohjelmien ja pelien välilläkin todennäköisesti suurta.
Testaamalla sen näkee, käytännössähän säikeistys antaa hieman bonusta peleihin (huomaa esim. kun testaa i7 ilman säikeistystä = i5) joten JOS pelissä Ryzenillä saat paremman pelikokemuksen ilman säikeitä kuin säikeiden kanssa => tulet saamaan vielä enempi bonusta kun tuo saadaan korjattua. Tosin osassa peleistä ei tullut mitään eroa joten pelikohtaista (mitä arvosteluista katsellut).
Säikeistyksenhän voi windowsissa itsekin korjata kun vaa määrittää theadien affinityn itse. Se on vaan vähä turhan vaivalloista.
Process hackerin nightly versiossa voi tallentaa affinityn ohjelmakohtaisesti.
Nightly Builds – Process Hacker
(windowsin tehtävienhallinnan kaltainen ohjelma)
Samaa ohjelmaa olen käyttänyt, mutta uudessa versiossa ilmeisesti lisää ominaisuuksia. Tästä varmaan olisi Ryzenin omistajille apua kunnes ongelma korjataan oikeasti. Mitenhän tuo tallentaa kun thread id:t on aina eri jokaisella käynnistyskerralla.
Hieman offtopiccia : Kuinka monta Ryzen prosessoria AMD on tähän päivään mennessä myynyt?
Aika paljon, toisin mitää lukemaa ei ole kukaan julkaissut.
Enemmän kuin emolevyjä on myyty. 😀