A hatékonyságon javít az AMD GCN architektúra továbbfejlesztése

Az AMD GCN architektúrája lassan három éves lesz, így nem meglepő, hogy a Southern Islands és a Sea Islands generáció után érkezik a harmadik felvonásnak tekinthető Volcanic Islands család. Utóbbi a Sea Islands alapjait terjeszti ki elsődlegesen a hatékonyság növelése szempontjából, amelynek egy fontos új funkció is része lesz.

A legnagyobb újítás a GPU grafika preempció támogatása, amelyre vonatkozóan az AMD már régóta folytat kutatásokat, tehát meglepetésnek nem lehet nevezni, de bizonyos területeken rendkívül hasznos szolgáltatás lesz. A fejlesztett preempció célja, hogy a kritikus fontosságú feladatok előnyt élvezzenek. Ennek megfelelően a Volcanic Islands családba tartozó, azaz a GCN V.I. architektúrára épülő grafikus vezérlők képesek az egyes elkezdett feladatok futtatásának ideiglenes megszakítására annak érdekében, hogy egy kiemelt feladat azonnal elérje és teljes egészében felhasználhassa szükséges erőforrásokat.

Mint ismeretes korábban egy GPU architektúrára nem volt képes más, feltételezhetően fontosabb feladat kedvéért felszabadítani az erőforrásokat, vagyis akkor is meg kellett várni az éppen futó feladat elvégezését, ha egy másik, kritikus fontosságú feladat várt az erőforrásra. Ráadásul a legtöbb GPU még a feladatok sorrendjét sem tudja átrendezni, tehát a prioritás fogalma abszolút ismeretlen a mai rendszerek számára. Ebből a szempontból a korábbi GCN architektúrák előrébb jártak minden más megoldásnál, mert az ACE egységek képesek voltak sorrendtől független feladat-végrehajtásra, de ez az opció sem elég gyors, mivel a már megkezdett munkát így is minden esetben be kellett fejezni.

A GPU grafika preempció névben ráadásul nem véletlenül van benne a grafika szó. Ahogy nő a GPGPU-s alkalmazások száma, úgy lesz kritikus fontosságú ezek egymás mellett történő futtatása is. Technikailag ez már megoldott, hiszen egy grafikus vezérlő képes több, GPU-t használó program párhuzamos futtatására, de ezt a munkát a mai hardverek nem végzik hatékonyan. Ez azért nem tűnik fel, mert ma jellemzően egy program fut a GPU-kon, amelyek leterhelik a hardvert amennyire csak tudják, és a feladatokkal valamekkora sebesség mellett végeznek. A probléma ott keletkezik, hogy ha elméletben elindítunk egy ugyanekkora erőforrásigénnyel rendelkező GPGPU-s alkalmazást, akkor logikus azt gondolni, hogy a két program futtatási sebessége majd a felére esik, hiszen elveszik a maguk részét az erőforrásból, majd azon lefutnak. Ez viszont nem így lesz, ugyanis a GPU-k nem úgy működnek, ahogy a CPU-k.

Egy grafikus vezérlő sebessége két párhuzamosan futtatott program mellett nem arányosan, hanem drasztikusan csökken. Például, ha egy alkalmazás feldolgozásához nagyjából 1 percre van szükség egy adott GPU-n, akkor egy ugyanolyan erőforrásigényű alkalmazás párhuzamos futtatása ezt az időt nem kettő, hanem három-hat percre növelheti, függően az architektúra képességeitől. Azaz jobban megéri a két alkalmazást egymás után lefuttatni, mert hamarabb végeznek, ha nem akadályozzák egymást a hardveren belül. Ez különösen fontos, amikor egy GPGPU-s program mellett egy grafikai alkalmazás is fut, ugyanis utóbbi egyszerűen drámaian lelassul, ezzel jelentősen rontva a felhasználói élményt. A GPU grafika preempció funkció ezt akadályozza meg, így a grafikai alkalmazás feladatai minden szempontból prioritást élveznek, annak érdekében, hogy a program által adott eredmény még párhuzamosan futtatott GPGPU-s alkalmazások mellett is folyamatos legyen.

Természetesen a GPU grafika preempció funkció nem csak a grafikai munkára van kihegyezve, azaz a fejlesztők irányíthatják is a hardver működését, így adva az egyes GPGPU-s alkalmazások feladatainak nagyobb prioritást, ami az éppen futtatott, kevésbé fontos feladatok ideiglenes megszakítására kényszeríti a hardvert. Ehhez persze a felhasznált API-ba is szükséges a direkt támogatás. Információink szerint az OpenCL-hez és a Mantle API-hoz érkezik a megfelelő kiterjesztés, valamint a GPU grafika preempció a HSA egyik alapvető direktívája is.

A Volcanic Islands családba tartozó fejlesztések előnye még, hogy az egyes műveletek elvégzése után kevesebb büntetőciklussal kell számolni, ami természetesen javítja a hardver kihasználását, illetve CU-kon belüli skalár feldolgozó nagyobb regiszterterületet kap, hogy hatékonyabban elláthassa feladatait.

A GCN V.I. architektúra a már bemutatott Tonga kódnevű cGPU mellett elérhető lesz az Iceland és a Wani kódnevű fejlesztésekben is. Előbbi egy kisebb, relatíve olcsó VGA-khoz kínált cGPU, míg utóbbi a Carrizo APU IGP-je lesz.

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények

Hirdetés