Asünkroonne arvutus, AMD, Nvidia ja DX12: mida me seni teame

AMD-vs-NV

Sellest ajast peale, kui DirectX 12 välja kuulutati, on AMD ja Nvidia heitnud positsiooni selle üle, kumb neist pakuks parem tugi uue API ja selle erinevate funktsioonide jaoks. Üks võimalus, millest AMD on palju rääkinud, on GCN-i tugi asünkroonne arvutus . Asünkroonne arvutus võimaldab kõigil AMD GCN-i arhitektuuril põhinevatel graafikaprotsessoritel samaaegselt graafikat ja arvutada töökoormusi. Eelmisel nädalal teatas Oxide Games'i töötaja, et vastupidiselt üldisele arvamusele on Nvidia riistvara ei saanud asünkroonset arvutust teostada ja et selle katse tulemuslikkuse mõju oli ettevõtte riistvarale katastroofiline.



See teade sai alguse mitmetest uuringutest, mida Nvidia riistvara tegi ja mida ei toetanud, samuti anekdootlikke väiteid, et inimesed tagastaksid (või juba tegid) oma GTX 980 Ti Singulaarsuse tuhk jõudlus. Oleme veetnud viimased päevad vesteldes mitmesuguste probleemiga tegelevate allikatega, sealhulgas Mahigani ja CrazyElfiga aadressil Overclock.net, samuti analüüsides erinevaid andmekogumeid ja toimivusaruandeid. Nvidia ei ole meie selgitustaotlusele veel vastanud, kuid siin on selline olukord, nagu me sellest praegu aru saame.

Nvidia, AMD ja asünkroonne arvutus

Kui AMD ja Nvidia räägivad asünkroonse arvutuse toetamisest, ei räägi nad samast riistvaralisusest. AMD GPU-de asünkroonsed käsumootorid (vahemikus 2–8, sõltuvalt sellest, milline kaart teile kuulub) on võimelised täitma uusi koormusi nii madalate latentsuste ajal kui üks tsükkel. Tipptasemel AMD-kaardil on kaheksa ACE-d ja igal ACE-l on kaheksa järjekorda. Maxwellil on seevastu kaks torujuhet, millest üks on esmatähtis graafikatorustik. Teise järjekorra sügavus on 31 - kuid Nvidia ei saa kontekste nii kiiresti kui võimalik vahetada kui AMD.



NV-eelis



GDC 2015-s peetud kõne kohaselt on Nvidia eelõiguse võimalused piiratud. Slaidi all olev lisatekst selgitab, et 'GPU saab konteksti vahetada ainult kõnepiiride joonistamisel' ja 'Tulevaste GPU-de puhul töötame selle nimel, et võimaldada täpsemat eelistust, kuid see on veel kaugel.' Maxwelli ja GCN-i erinevate võimaluste uurimiseks on Beyond3D ja Overclock.net kasutajad kasutanud asünkroonseid arvutusteste, mis hindasid võimekust nii AMD kui ka Nvidia riistvaral. Võrdlusalust on nädala jooksul mitu korda muudetud, nii et varajasi tulemusi ei saa võrrelda hilisemate jooksude andmetega.

Pange tähele, et see on asünkroonse arvutamise test latentsus , mitte jõudlust. See ei testi üldist läbilaskevõimet - teisisõnu seda, kui kaua selle täitmine võtab - ja test on mõeldud näitama, kas asünkroonne arvutus toimub või mitte. Kuna tegemist on latentsustestiga, tähendavad väiksemad arvud (kollasele joonele 1 lähemal) tulemused ideaalile lähemal.

Radeon R9 290



Siin on R9 290 jõudlus. Kollane joon on täiuslikkus - see on see, mida me saaksime, kui GPU vahetaks ja käivitaks selle koheselt. Graafiku y-telg näitab normaliseeritud jõudlust 1x-ni, kus eeldaksime täiuslikku asünkroonset latentsust. Punane joon on see, mis meid kõige rohkem huvitab. See näitab, et enamikul juhtudel töötab GCN peaaegu ideaalis, hoides jõudlust stabiilsena ka niitide arvu tõustes. Nüüd võrrelge seda Nvidia GTX 980 Ti-ga.

vevF50L

Graafika käivitamise ja samaaegse arvutamise katse GTX 980 Ti-ga põhjustab jõudluse langust ja hüppelist kasvu ning vähest kasvu. Praegu on Nvidia ideaalsele jõudlusele (antud juhul latentsus) sobitatud vaid üksikud lõimelugemised ja paljudel juhtudel, kui see ei sobi. Täiendav uurimine on näidanud, et Nvidia asynch-gaasijuhe näib mõnel selle algsel etapil toetuvat protsessorile, samas kui AMD GCN tegeleb tööga riistvaraliselt.



Praegu viitavad parimad kättesaadavad tõendid sellele, et kui AMD ja Nvidia räägivad asünkroonsest arvutusest, räägivad nad kahest väga erinevast võimalusest. „Asünkroonne arvutus” pole tegelikult ilmtingimata parim nimi siin toimuvale. Küsimus on selles, kas Nvidia GPU-d suudavad graafikat käitada ja töökoormusi arvutada samaaegselt . AMD saab, tänu oma ACE üksustele.

On oletatud, et AMD lähenemine sarnaneb pigem Hyper-Threadingiga, mis võimaldab GPU-l töötada samaaegselt erineva arvutus- ja graafikakoormusega ilma jõudluse kadumiseta, samas kui Nvidia võib mõne oma esialgse seadistamisetapi puhul toetuda protsessorile ja proovida ajastage ideaalse teostuse jaoks samaaegne arvutus + graafika töökoormus. Ilmselt ei toimi see protsess veel hästi. Alates meie esialgsest artiklist on Oxide pärast seda öelnud järgmist:

'Me vestlesime Nvidiaga tegelikult Async Compute'i teemal, tõepoolest, draiver pole seda veel täielikult rakendanud, kuid näis, nagu see oli. Teeme nendega tihedat koostööd, kuna nad rakendavad Async Compute'i täielikult. '

Siin on see, mida see tõenäoliselt tähendab, arvestades Nvidia enda esitlusi GDC-s ja erinevaid testnäitajaid, mis on viimase nädala jooksul kokku pandud. Maxwellil pole asünkroonsete arvutusmootorite GCN-stiilis konfiguratsiooni ning ta ei saa graafika ja arvutuskoormuste vahel vahetada nii kiiresti kui GCN. Vastavalt Beyond3D kasutajale Ext3h :

'Algselt väideti, et Nvidia GPU-d ei suuda isegi asünkroonarvutite varjutajaid asünkroonselt käivitada, see müüt lükati kiiresti ümber. Selgeks saab aga see, et Nvidia GPU-d eelistasid AMD-kaartidest palju väiksemat koormust. Väikeste koormuste korral sõidaksid Nvidia GPU-d AMD-kaartide ümber. Suure koormuse korral, vastupidi, kuni punktini, kus Nvidia GPU-del kulus töökoormuse töötlemiseks nii kaua aega, et need vallandasid Windowsi turvameetmed. Mis põhjustas Windowsi päästiku tõmbamise ja draiveri tapmise, eeldades, et see jäi kinni.

„Lõpptulemus (praegu): AMD GPU-d suudavad toime tulla palju suurema koormusega. Umbes kümme korda suurem kui Nvidia GPU-d suudavad. Kuid neil on vaja ka umbes neljakordset survet, mis on avaldatud enne, kui nad seal võimete välja mängivad. '

Ext3h ütleb, et Nvidia puhul kasutatakse eelisõigust ainult graafikakonteksti (1x graafika + 31 arvutusrežiim) ja 'puhta arvutuskonteksti' vahel vahetamisel, kuid väidab, et see funktsioon on ' täiesti katki ”Praegu Nvidia kaartidel. Tema sedastab ka et kuigi Maxwell 2 (perekond GTX 900) on võimeline paralleelselt käivitama, pole riistvara sellest kuigi palju kasu, kuna varjutaja kasutamisel on kummalgi juhul vähe lünki. Nii et lõppkokkuvõttes on see suurema osa töökoormuse jaoks ikkagi lihtsalt järjestikune teostamine, kuigi kui õnnestuks torujuhe kahetsusväärse töökoormuse ehitamise abil kuidagi kinni panna, võiksite sellest siiski kasu lõigata. '

Nvidia on samal ajal esindanud Oxide'ile seda saab asünkroonse arvutuse rakendamine ja et see võimalus polnud draiverites täielikult lubatud. Nagu Oxide, ootame ka olukorra kujunemist. Beyond3D analüüsilõng teeb väga selgeks, et see on uskumatult keeruline küsimus ja paljuski on ebaselge, mida Nvidia ja Maxwell võivad teha või mitte.

Varem mainisime, et AMD lähenemine asünkroonsele andmetöötlusele sarnanes pealiskaudselt Hyper-Threadinguga. On veel üks viis, kuidas see analoogia võib osutuda õigeks: kui Hyper-Threading debüteeris, küsisid paljud AMD fännid, miks Team Red pole K7 ja K8 jõudluse parandamiseks seda funktsiooni kopeerinud. Toonane AMD vastus oli see, et K7 ja K8 protsessoritel olid palju lühemad torujuhtmed ja nende arhitektuur oli väga erinev ning Hyper-Threadingist saadi seetõttu tõenäoliselt vähem kasu. P4-l oli seevastu pikk torujuhe ja suhteliselt kõrge seiskamiskiirus. Kui üks lõng seiskus, lubas HT teisel teemal jätkata, mis suurendas kiibi üldist jõudlust.

GCN-stiilis asünkroonne arvutus tõenäoliselt ei suurenda Maxwelli jõudlust, teisisõnu, sest Maxwell pole tegelikult mõeldud sellist tüüpi koormuste jaoks. Kas Nvidia suudab selle piirangu ümber käia (või midagi veelgi kiiremini rakendada), jääb näha.

Copyright © Kõik Õigused Kaitstud | 2007es.com