- iPhone topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Fotók, videók mobillal
- Magisk
- Google Pixel 10a – évismétlés
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- 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.
- Akciós kisWorkstation! Dell Precision 3570 i7-1255U 4.7GHz / 32GB / 1000GB / Quadro T550 4GB FHD 15"
- Xbox Game Pass Ultimate előfizetések kedvező áron
- Apple iPhone 17 Pro 256GB Deep Blue használt, karcmentes 100% akku (16 ciklus) Apple garancia
- Gamer PC Intel Core I5 9400F/16GB DDR4/Nvidia 1050 4 GB/256 GB NVME/ 500 GB HDD 6 hó garancia
- AKCIÓ! ASRock B450M R5 5500 16GB DDR4 512GB SSD RTX 2060 6GB Zalman T3 Plus ADATA 600W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


