Hirdetés

2024. május 4., szombat

Gyorskeresés

Hozzászólások

(#24) con_di_B válasza IgorKGB (#23) üzenetére


con_di_B
tag

Az alapján amit eddig értek, ez egy olyan victim cache, ami részben vagy egészben pinnelhető, de utóbbihoz szólni kell a programnak. Magyarul alapértelmezésben ugyanazt csinálja, mint a többi cache, ha valami kell, akkor csak az a (kb. 64 byte-os) cacheline töltődik be, amihez az adott cím tartozott (mindenféle adatelérés esetében). Ahhoz hogy ennél bármi nagyobb töltődjön be egyszerre, és főleg ott is maradjon, félre kell tenni egy részt a cache-ből, és explicite kezelni, ez a pinning. (Természetesen pinning nélkül is betölt nagy, akár összefüggő területeket egy ilyen rendszer, de csak az elérés függvényében. Pre-fetchinget nem tudom GPU-n mennyire van, de meglepne ha azzal komolyan számolni kéne. Igazából ennek a programozással való megspórolása az explicit fetch és pinning.)

A fejlesztőknek nem tudom h elérhető-e a pinning D3D12 alól, szerintem nem, de az AMD tud a driverben profilt erre, ha egy-egy játékban megéri egy ismert buffert pinnelni, de ez teljesen szoftveres téma. Szóval, az a lényeg, h LEHET olyat csinálni, mint amit leírtál, és sokszor rossz ötlet, de ez szoftveres kérdés, nem hardverhiba.

Amúgy ami nekem nincs meg, hogy az oké, hogy a régebbi RT implementációkat a fejlesztő már nem fogja AMD-re optimalizálni, de attól még az AMD reverse engineerelhetné a megoldást és segítség nélkül is lehet profilt írni. Sokkal nehezebb nyilván, de nem megugorhatatlan, a pinning viselkedés meg azért jelentősen javíthatja a hit rate-et.

(A konkrét Infinity cache-el soha nem dolgoztam még, de "ilyesmikkel" elég sokat.)

[ Szerkesztve ]

Copyright © 2000-2024 PROHARDVER Informatikai Kft.