- iPhone topik
- Samsung Galaxy A54 - türelemjáték
- Apple iPhone 17 Pro Max – fennsík
- Fotók, videók mobillal
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Ilyen lesz a Galaxy S26 Ultra
- Hetekig bírják töltő nélkül a Huawei sportórái
- Yettel topik
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Google Pixel topik
Új hozzászólás Aktív témák
-
Abu85
HÁZIGAZDA
válasz
Oliverda #29679 üzenetére
Nagyon leegyszerűsíted, pedig maga a probléma sokkal bonyolultabb. Amikor a Microsoft megszabta a bindless specifikációkat, akkor két modellt különítettek el. Egyet kapott az NVIDIA, leginkább azért, mert külön kérték ezt, és természetesen bekerült az alapvetően tervezett pure bindless koncepció, amit tulajdonképpen az Xbox One-ra szabtak, de ezáltal nyilván a GCN is jó, és az Intel is támogatja már a Gen9-cel, mert ezt is finomították a véglegesítésre. Ez akkor magát a végleges állapotot tekintve nagyon jó volt, de hosszabb távon nagyon rossz, mert mindenkit bezár a második szintre, aki DX12 CPU-n futó binding API-ját valamilyen formában is használja a meghajtó implementációjában. Ilyenkor a meghajtó elhelyez egy erőforrás-leírót egy tömbbe. Amikor a wave-ek elkezdenek futni a multiprocesszoron, ezt a tömböt fogja a multiprocesszor igényelni. Ennyi lényegében a bekötés. De a probléma az vele, hogy a processzor segítségére van szükség ahhoz, hogy a GPU tudja honnan kell mit betölteni a memóriából. Ennél Tier2-es bindless szint, vagyis amit az NV-re csináltak, annyiban különbözik, hogy az SRV-ket és a samplereket be tudja tölteni a mintavételezőbe a branch egység. De a többi buffer view-re már a CPU kell. A Tier3-es pure bindless szint alapvetően annyi, hogy nem kell használni a DX12 CPU-n futó binding API-ját, mert a GPU-ban van egy programozható integer skalár egység, ami a CPU munkáját teljesen ki tudja váltani. Minden memóriahozzáférés, akár a szűrt adattal visszatérők is beleprogramozhatók a shaderekbe, mert lényegében erről szólnak a bindless szintek, hogy a CPU-t ne terheljék a fejlesztők ezzel a feladattal. Na most a programozhtóság megkövetelése miatt ezt nem tudod csak úgy fixfunkciós blokkal megoldani, ide kell egy olyan programozható integer skalár egység, ami megcsinálja a proci feladatát.
Az NV idén már váltott, amiből arra lehet következtetni, hogy rájött arra, hogy második szint bezárja őket, mert ha a Voltában nincs programozható integer skalár egység, vagy ennek a funkcióit hatékonyan emuláló koncepció, akkor például hiába tud a Pascalnál több CBV-t, UAV-t kezleni, vagy esetleg hiába támogat minden bufferhalmaz esetében unpopulated RS bejegyzést, a DirectX 12 nem fogja megengedni neki az extra tudás kihasználását. Emiatt a Tier2-es bindless szint rendkívül korlátozóvá és haszontalanná vált.
A Maxwell és a Pascal esetében az NV átváltott a pure bindless szintre, amit a végleges specifikációkkal szerencsére nem nehéz emulálni, mert volt esze a Microsoftnak, és tudták, hogy 5-6 éven belül az Intel és az NV nem fog memóriaalapú, a bekötési állapot szempontjából transzparens hardvert tervezni, vagyis nem fogják lemásolni a GCN-t. Igazából a Gen9 esetében az Intel is emulál. Náluk az IGP melletti procimagok megcsinálják azt, amit az AMD CU-iban található skalár egységek. Ezután az IGP multiprocesszorai az utolsó szintű gyorsítótárban elérhetik az információkat. Az egyetlen hátránya ennek (a procimagok extra terhelésén kívül persze) a divergens indexelés, de egyrészt a Gen9 multiprocesszorain nem sok lane fut, másrészt tele van vektorregiszterrel az architektára. Az NV-nek ez a megoldás valamivel károssabb, mert a SM-enként 4 KB-nyi vektorregisztert is bukhatnak, ami a regiszterszegény Maxwell és Pascal architektúrákban jóval több, mint az egészséges határ, de valószínűleg 10-15%-nál nagyobb büntit nem szereznek vele, és innentől kezdve a bindless motorok nem jelentenek problémát, tehát egyedül az erőforráshalmazok problémájával kell foglalkozni, mivel a Maxwell/Pascal csak olyan halmazokat hozhat létre, ahol a flagek csak egy kategóriába sorolt típust engednek használni. A Volta állítólag már olyan halmazok is létrehozhat, ahol használható az összes típus. Utóbbival hatékonyabban működtethető a hardver, és a GCN, illetve a Gen9 is így működik. Ez amúgy egy nagyon egyszerűen kezelhető dolog. Maximum romlik a hatásfok.
Valószínűnek tartom egyébként, hogy amit ma látunk az NV implementációjában, az a Volta miatt van benne, mivel az sem kap majd programozható integer skalár egységet, viszont össze lesz vonva az L1 és az LDS. Ilyen formában az L1 kapacitása felhasználható az SM-ken belüli regiszterterület tehermentesítésére a bekötés szempontjából. Tehát a Volta egy ilyen emulációból valószínűleg 3-5%-nál többet nem veszít, és a futtatható warpok számát sem csökkenti majd a módszer.
Egyébként egyetlen mai hardver sem kap EOL-t idén.
Új hozzászólás Aktív témák
A topikban az OFF és minden egyéb, nem a témához kapcsolódó hozzászólás gyártása TILOS!
Megbízhatatlan oldalakat ahol nem mérnek (pl gamegpu) ne linkeljetek.
- HIBÁTLAN iPhone 15 Pro 256GB Blue Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3506, 92% Akkumulátor
- ÁRGARANCIA! Épített KomPhone i5 13400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Asus A620M R5 7600X 64GB DDR5 1TB SSD RX 6900XT 16GB Zalman Z1 Plus Chieftec 850W
- GYÖNYÖRŰ iPhone 15 Plus 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3353
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3082
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest