Hirdetés

Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Pikari

    addikt

    válasz Abu85 #88 üzenetére

    nem igazán lehet megoldani másolás nélkül.

    ahhoz, hogy a memóriaterületeket átpasszold a gpunak:

    -át kell copyzni a szűkséges memóriacímen lévő adatokat user módból (copy_from_user). ehhez a kernel segítsége kell, ugyanis:

    -az user módban futó program - az egy user módban futó program. hogy mit csinál, az az ő dolga. a kernel segítségével kezeli a memóriát, ő önmagában nem rendelkezik hardveres szempontból memóriakezelő funkciókkal. szépen mallocol, reallocol, freeli a memóriaterületeket, ahogy ő akarja. hogy az ő memóriaterületei hol vannak, azt igazából senki se tudja (persze azt tudni, hogy mi van hozzá rendelve a programhoz, de hogy azon belül mi/hogy van kialakítva, az a rendszer számára már homály)

    -a kernel sem tudja, maga az opreációs rendszer sem, nemhogy a gpu drivere.

    -tehát ahhoz, hogy megkaphassa a driver ezeket, úgy a kliens driveren keresztül át kell passzolni a szűkséges memóriaterületet a kernel módú drivernek (amihez vissza kell kapcsolni a processzort valós módba), aztán a driver a kernel segítségével (természetesen az adott szoftver utasítására, az adott szoftver közreműködésével) a megadott pointeren keresztül kihúzza az adott hosszúságú memóriaterületet, átmásolva a driver egy SAJÁT, máshogyan címzett memóriarekeszébe (amihez előtte kell egy kernel módú memóriafoglalás, majd a legvégén persze egy törlés).

    -ha ott van, akkor kezelni kell magát a hardvert, egy kvázi gépikód szerű adattömegről van szó, amelyet a gpun akarunk futtatni, ahhoz több száz- ezer-tízezer órajeles latencyvel bíró ormótlan hívásokat kell benyalatni a hardverrel. ilyen nyalánkságról nem is beszélve, hogy memóriát kell neki foglalni a grafikus hardveren belül, be kell bootolni egy pár százezer kódsoros mini operációs rendszert (!) a grafikus kártyában, azon belül az ütemezőre fel kell fűzni a futtatni kívánt gpgpu kódot a gpu ütemezőjére, törölni kell az összes regisztert, meg kell öntözni a virágokat, etc etc etc

    -a gpu külön memóriájába való belemásolás már jobbára megspórolható innentől már, ha egy ramon vannak, persze, csak innentől meg remélem érzi mindenki, hogy ez igazából már rég mindegy... :D

    -az eszköz elvégezte a feladatát. ki kell transferelni az előbb betöltött memóriamennyiséget valós módból user módba, megint csak a kernel segítségével

    -felszabadítani a memóriát, aztán return

    a teljesítménynek olyan 80%-a megy a pocsékba, mint overhead.

    nem, nem lehet vele mit csinálni, kivéve ha teljesen új processzort tervezünk a nulláról, se az arm-al nem lehet máshogy, se az x86-aé, se a mips-el, se semmi mással, ami user módban futtatja a programokat. Na jó, DOS 6.22-ből meg lehetne csinálni :D

    vélemény: nem kell gpgpu. egy erős, sok magos, jó processzor kell, ami el tudja látni a gpu feladatát is.

    [ Szerkesztve ]

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

Új hozzászólás Aktív témák