Keresés

Hirdetés

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

  • ddekany

    veterán

    válasz azopi74 #26 üzenetére

    Végül is lehetne úgy (és most nem mondom, hogy erre bármi esély lenne), hogy mindenki csinálja azt, ami épp mérnökileg jól megy neki... Az Intel bika CPU magokat licencel, az AMD meg a GPU-szerűségét. Tulajdonképpen pont az a versenyellenes (közérdek ellenes), hogy nem így van, hanem mindenki "csomagokat" állít össze, azaz mindenki a saját vackához köti a saját nem-vackát (azaz Intel a jó CPU magját csak a szar GPU-jával együtt adja el, és fordítva). Gyártás is olyan dolog, hogy felőlem gyárthatnak egy 3 cégnél is, vagy gyárthatnak ő maguk is, ha versenyképesnek érzik magukat azon a téren. Persze vannak ilyen "apróságok", hogy egy CPU-t/GPU-t, ami a gyártástechnológiai határokat feszegeti, nem egyszerű másik gyártóhoz átvinni... ha pl. az Intel-féle CPU-t csak az egyik, az AMD-féle GPU-t csak a másik tudja legyártani, akkor abból úgy nem lesz APU.

  • ddekany

    veterán

    válasz azopi74 #27 üzenetére

    Valószínűleg ott ugyan arról a context switching-ről van szó, ami CPU-knál nagyon régóta már megvan. Ez több látszólag egyszerre futó szál ill. több folyamat támogatása egyetlen magon, időosztással (tehát valójában felváltva futnak, nem egyszerre). Ezt az OS vezérli le, de a hardvernek is alkalmasnak kell rá lennie, értelmes sebességgel, és amennyire tudom, GPU-knál ez eddig nem volt adott. Ebből még egyáltalán nem következik viszont, hogy a szál a CPU és a GPU közt mozgatható lenne, és ilyen belátható időn belül nem is lesz lehetséges ha más ISA a kettő (mint GCN + x86/ARM esetén). A GPU-n belüli kontextus váltás viszont nagyon kéne, ha sok alkalmazás akar rá építeni. Ill. GPU-knál még az is felmerül gondolom, hogy nem is kell mindig időosztással ezt, hanem egyik folyamat megkapja a CU-k egyik felét, másik a másikat... ezt se tudom ez mostanság már megoldott-e, de van egy tippem, hogy nem igazán.

    [ Szerkesztve ]

  • kisfurko

    senior tag

    válasz azopi74 #25 üzenetére

    Ha már új softwaret kell írni, akkor mi értleme is van az x86-nak? Miben jobb, mint más? Egy totál felesleges megkötés lenne.

  • ivana

    Ármester

    válasz azopi74 #25 üzenetére

    Az x86 azért maradt meg eddig is mivel jobban megéri a visszafele kompatibilitásra felhasználni néhány tranzisztort mint egy teljesen új architechtúrát bevezetni.

    A versenyügyi problémára, pedig: az ARM-os proci piac és az x86-os proci piac nem ugyan az, ARM nem megy desktopba és laptopba, x86 nem megy telóba (kevés kivételtől eltekintve, de ez szerintem is változni fog), az előbbinél van egy vagon gyártó, néhány nagyobb, az utóbbinál 2 (+1) gyártó, ha ez a kettő össze vissza licenszeli a mikro architechtúrákat az már elég erősen kartell gyanús (továbbra is az az eset ami egy vicc gcn->intel intel proci->amd)

  • ddekany

    veterán

    válasz azopi74 #33 üzenetére

    Nem látok azon a képen semmit ami ide kapcsolódik.

    HSA-t nem ismerem közelebbről, de amennyire nekem eddig átjött, az lényegében egy virtuális ISA (ahol a HSAIL felel meg a gépikódnak), kicsit hasonló a JVM-hez. Ezt feltételezve nekem nagyon meredeknek tűnik futó program oda-vissza dobálása az x86-os CPU és GCN-es GPU közt. A HSAIL-t ugyanis tovább kell fordítani natívra, mielőtt futna, és ebből következően az x86-on meg GCN-en futtatott kód különböző lesz. Egy futó taszk átvitelénél egy másik magra/akármire, a program állapotát is át kell vinni, tehát a regiszterek és RAM-ban tárolt változók tartalmát, ezek viszont (főleg az alkalmazott regiszterek és lokális vagy egyéb módon privát változók) fordítás-függőek. Meg persze, az utasítás mutatót is át kéne fordítani, de általános esetben két fordítás utasításai közt nincs 1:1 megfeleltetés, tehát nincs a fordításban amire át akarsz váltani olyan utasítás, ami a megszakított program soron következő utasításának felelne meg. Mondjuk azt lehet, ha van direkt ilyen betervezve a HSA-ba, hogy nem akárhol lehet kontextust váltani, hanem vannak meghatározott helyek a programban (afféle fence-k), ahol a HSAIL fordítónak garantálnia kell, hogy minden változó ki van írva a RAM-ba, és minden előző HSAIL utasítás megfelelője már lefutott, és a következő végrehajtása még nem kezdődött el. Na ott lehetne kontextust váltani, feltéve, hogy a HSAIL programok változóinak tárolási módja egységes a két fordítás közt.

    De igazából nem látom miért lenne az egésznek értelme, mert adott kód vagy GPU-n, vagy CPU-n fut hatékonyan, tehát minek dobálnám a futó programot a kettő közt?

    [ Szerkesztve ]

  • ddekany

    veterán

    válasz azopi74 #35 üzenetére

    "Ez indította el azt a folyamatot, ami aztán a diszkrét GPU piac totális szétzúzásához , és közvetve a PC-s játékpiac hanyatlásához is vezetett..."

    A PC-s játék piac további hanyatlásához szerintem most már leginkább az fog hozzájárulni, ha nem lehet az APU-k tudását olyan hatékonyan kihasználni, mint a konzolokon... Ez vastagon szoftveres és persze üzletpolitikai gond (az Intel betart), de diszkrét kártyákkal már hardveres gond is lenne.

  • ddekany

    veterán

    válasz azopi74 #36 üzenetére

    De ahhoz hogy felfüggesszél valamit, nem kell két ISA közt mozgatni. Ha nem kell leállítod vagy akár kiswappeled, és ha újra kell, ugyan azon a hardver egységen folytatod.

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