Ezt keresni sem kellett, csak megnézni. :) De amúgy is nagy bénaság lett volna, ha nem férhetne hozzájuk.
"Unlike a Cell processor, such desktop CPUs are more suited to the general purpose software usually run on personal computers."
Ehhez annyit, hogy miután van itt egy PPE is, a feladatok többségére nagyon jó a Cell is, de a kevés maradékkal (sok szétszórt adattal kevés mûvelet) is megbírkózik.
"Also, Cell is optimized for single-precision calculations; for double-precision, as used in personal computers, Cell performance drops by an order of magnitude to levels similar to desktops."
Aha, úgy nem 30x gyorsabb, csak 6x... :) (Valahol volt egy összehasonlító táblázat, de most nem találom.)
Én is találtam egy "érdekességet": "At 3.2 GHz, each SPE gives a theoretical 256 GFLOPS of single precision performance. The PPE's VMX128 (AltiVec) unit is fully pipelined for double precision floating point and can complete two double precision operations per clock cycle, which translates to 6.4 GFLOPS at 3.2 GHz; or eight single precision operations per clock cycle, which translates to 256 GFLOPS at 3.2 GHz[7]."
Nos, Ezek itt hibás adatok. Az egész Cellre vonatkozik a 256 gflops (single prec.), így érdekes azt olvasni, hogy mind a PPE, mint az SPE-k egyenként tudnak ennyit. Ez így összesen 2,3 tflops, szép is lenne. :) Még rosszul is számolnak, mert 3.2 x 8 = 25.6, nem pedig 256.
Milyen feladat lehet ilyen? De még ha elõ is jön egy ilyen egy játékban, a 2. threadben mást is csinálhat a PPE is, plusz az SPE-k is levesznek a válláról sokmindent.
Hát úgy, hogy kiolvassa a memóriából azt a párszáz, párezer kis adatcsomagot, és átadja valamelyik SPE-nek (egy tízezred mp alatt).
"Úgy értem, hogy õ szervezi a feladatokat. Megmondja, hogy melyik SPE mit csináljon"
Ez semmibõl sem áll, pár utasítás, a többit meg már az SPE csinálja (beolvassa a programját, aztán szépen nekiáll végrehajtani, már õ olvassa be az adatokat [ha blokkos, de általában az]).
"meg elõkészíti nekik az adatokat."
Csak ha kimondottan szükséges - csak bizonyos feladatoknál.
"A tapasztalat szerint nem igazán. Nem véletlen, hogy a PC-n is rengeteg tranzisztort áldoznak erre."
Ezt gondolom az in-orderre és a branchra írod. Olvasgattam már megoldásokról. Nem tökéletesek, de a másik megoldás sem mindig az.
"Igen, de a PPE eleve sokkal gyengébb, és plusz adminisztrációs feladatokat is kap."
Azért figyeljünk oda az arányokra is...
"Emiatt nem biztos, hogy sokkal több marad a gamelogic-nak, mint PC-n."
Ez egy igen elhamarkodott következtetés, lásd arányok.
"A gamelogic tipikusan az a fajta kód, ami igényli az alacsony memória késleltetést, a rövid futószalagot, a fejlett branch-prediction-t, és a többit."
Oké, de mivel közben alig kell mással foglalkoznia a PPE-nek (más csinálja párhuzamosan), ez nem feltétlenül gond.
"Egyébként az AI-t nem is biztos, hogy át tudják venni, az nem olyan egyszerû."
Kicsit besegíthet a PPE, de a számítások nagy része mehet az SPE-ken.
"Igen, de sajnos manapság nem az az elvárás. Ha nem kéne ultra csúcs 3D grafika, akkor sokkal jobb játékokat lehetne írni, ez tény."
Na de hát ez az, hogy sok 3D grafikával kapcsolatos mûveletet (amit PC-n a CPU csinál) átvehet 1-2 SPE, így a PPE-nek több ideje marad.
"De azért nem csak ezen múlik. Azokban a játékokban pl. AI sem volt, csak egyszerû szkriptek."
Melyik játékban van ma "igazi" AI? Szerintem ma is eléggé behatároltak és elõreprogramozottak, csak már kicsit összetettebb vezérlésûek.
" "Miért lenne lassabb egy SPE másolásban?" Mert nem fér hozzá közvetlenül a PPE memóriájához, így még plusz másolgatás is kell."
Nem értem, milyen plusz másolgatásra gondolsz. Én blokkos másolásra gondoltam. Azt nem tudom, arra képesek-e az SPE-k, hogy egy blokkot a külsõ memórián belül átmásoljanak, de ha nem, akkor megtehetik, hogy bemásolnak maguknak egy blokkot, és aztán vissza máshova. A main és a vram között így is valószínû ez a leggyorsabb.
"A gamelogic-ban nem jellemzõ akkora másolgatás, amit érdemes külön kezelni. Inkább olyan feladatokra jellemzõ, amiket egyébként is az SPE-k csinálnak."
Ki beszél itt a PPE-rõl és gamelogicról? Az SPE-k másolgatásban való részvételérõl van szó.
"A gamelogic még mindíg 1 szálú, és egy ideig az is marad. Egyébként a többszálúsításnak van nem kevés adminisztrációs költsége, ami nem biztos, hogy megtérül."
Na de a másik/többi szálon más feladat is futhat.
"Pl. az Intel féle HT egyes esetekben lassította a szoftvert emiatt."
A true HW SMP és a HT nem ugyanaz. Az utóbbinál nincsenek megduplázva egységek (esetleg 1-2 dolog), csak a meglévõk között osztja el a feladatokat. Két egyforma feladatnak várnia kell egymásra. Az elsõnél viszont jópár dolog meg van duplázva. (Látszik a dye-fotón.)
"Tévedsz, a PPE apránként is küldhet adatot az SPE-knek, mivel hozzáfér a ramjukhoz."
"És ennek mennyi a késleltetése? Mert ha jóval több, mint a SPE belsõ RAM-jáé, akkor szart se ér. Arról nem is beszélve, hogy ez esetben a PPE jelentõs idõt pazarol az SPE-k etetésére. És még valahogy értesülnie is kell arról, hogy az SPE adatot kér. Kizárt, hogy ez így elég gyors legyen."
Ha párszáz, vagy párezer quadwordrõl van szó, nem hiszem, hogy különösebb problémát jelent. (És ugye közben a 2. threadben más feladat is futhat a PPE-n.)
Vannak még ott érdekes dolgok pl.: "A ring can start a new op every three cycles. Each transfer always takes eight beats. That was one of the simplifications we made, it's optimized for streaming a lot of data. If you do small ops, it doesn't work quite as well."
Mellesleg ugyanitt írják: Compared to a modern personal computer, the relatively high overall floating point performance of a Cell processor seemingly dwarfs the abilities of the SIMD unit in desktop CPUs like the Pentium 4 and the Athlon 64. But, comparing only floating point abilities of a system is a one-dimensional and application-specific metric. Unlike a Cell processor, such desktop CPUs are more suited to the general purpose software usually run on personal computers. Also, Cell is optimized for single-precision calculations; for double-precision, as used in personal computers, Cell performance drops by an order of magnitude to levels similar to desktops.
"Ott kezdõdött, hogy azt írtad, nem-blokkos adattal nem tud kezdeni semmit az SPE. Pedig tud, csak ilyenkor be kell segítenie a PPE-nek is."
Hogyan?
"Hogy érted, hogy a PPE irányít? Az SPE akkor fér hozzá a külsõ ramhoz, amikor akar."
Úgy értem, hogy õ szervezi a feladatokat. Megmondja, hogy melyik SPE mit csináljon, meg elõkészíti nekik az adatokat.
"Párhuzamosítással közömbösíthetõ a hosszabb késleltetés. Megfelelõ (fordítóra bízható) optimizáció révén az in-order végrehajtás és a gyengébb branch-prediction is, többé-kevésbé, feladattól függõen."
A tapasztalat szerint nem igazán. Nem véletlen, hogy a PC-n is rengeteg tranzisztort áldoznak erre.
"PC-n egy játékban a prociidõ többsége ugyancsak a megjelenítésre megy el, ide sorolva a fizikát is (vertex-adatok kezelése, atpumpálása a GPU-nak, stb.). Itt ezen feladatok jó részét átvállalhatják az SPE-k. Meg a lassan bejövõ fejlettebb AI-t is. Így nagyon sok prociidõ felszabadul!"
Igen, de a PPE eleve sokkal gyengébb, és plusz adminisztrációs feladatokat is kap. Emiatt nem biztos, hogy sokkal több marad a gamelogic-nak, mint PC-n. A gamelogic tipikusan az a fajta kód, ami igényli az alacsony memória késleltetést, a rövid futószalagot, a fejlett branch-prediction-t, és a többit. Egyébként az AI-t nem is biztos, hogy át tudják venni, az nem olyan egyszerû.
"Gondolj arra, hogy jópár éve, egy 7MHz-es, maiaknál jóval egyszerûbb procival rendelkezõ Amiga500-ra is eléggé összetett játékok is születtek."
Igen, de sajnos manapság nem az az elvárás. Ha nem kéne ultra csúcs 3D grafika, akkor sokkal jobb játékokat lehetne írni, ez tény. De azért nem csak ezen múlik. Azokban a játékokban pl. AI sem volt, csak egyszerû szkriptek.
"Miért lenne lassabb egy SPE másolásban?"
Mert nem fér hozzá közvetlenül a PPE memóriájához, így még plusz másolgatás is kell.
"Egy programban sokszor kellhet memóriát másolni."
A gamelogic-ban nem jellemzõ akkora másolgatás, amit érdemes külön kezelni. Inkább olyan feladatokra jellemzõ, amiket egyébként is az SPE-k csinálnak.
"Egy tread esetén talán, 2 (x360-nál 6) esetén már nem biztos."
A gamelogic még mindíg 1 szálú, és egy ideig az is marad. Egyébként a többszálúsításnak van nem kevés adminisztrációs költsége, ami nem biztos, hogy megtérül. Pl. az Intel féle HT egyes esetekben lassította a szoftvert emiatt.
"Tévedsz, a PPE apránként is küldhet adatot az SPE-knek, mivel hozzáfér a ramjukhoz."
És ennek mennyi a késleltetése? Mert ha jóval több, mint a SPE belsõ RAM-jáé, akkor szart se ér. Arról nem is beszélve, hogy ez esetben a PPE jelentõs idõt pazarol az SPE-k etetésére. És még valahogy értesülnie is kell arról, hogy az SPE adatot kér. Kizárt, hogy ez így elég gyors legyen.
Hogy érted, hogy nem segít az SPE-ken? Az alábbi lehetõségek közül lehet választani: - PPE használata a belsõ VMX-szel - SPE-k önálló munkája - PPE szedi össze az adatot, amit SPE-k dolgoznak fel - ezek valamilyen kombinációja
Igen, x86-on is van az SSE(x). De a VMX ütõsebb (nagyobb teljesítmény, sokkal több regiszter), és SMP-re optimializált (2 regiszter-készlet, de állítólag magából a VMX-bõl is kettõ van).
"Az a pár % könnyen lesz 100, és akkor meg vagy lõve. És ha neked ilyen feladatot kell megoldani, akkor nem sokat segít az, hogy más fajta feladat is van."
Egy a PC esetén sokmindennel foglalkozó procival ellentétben mindezek nagy részével foglalkozni nem kénytelen procit nem könnyû 100%-ra terhelni apróságokkal.
"Nem írom elõ, csak becsültem."
Nem lehet becsülni a feladat ismeretének hiányában. 1k-ban is lehet érdekes dolgokat csinálni.
"Konkrétan 50K-nak becsültem a kódot. A maradék a DMA-hoz kell. Ha kis DMA blokkokkal dolgozol, akkor lehet még növelni, de akkor is nevetségesen kevés sok feladathoz."
Azokra ott van a PPE, vagy PPE+x SPE együtt.
"Amik csak vinyón annyik, és a memóriát meg a procit rendesen pazarolják."
A kód méretére utaltam.
"Feladat függõ, hogy lehet-e."
Itt alapvetõen párhuzamosításról van szó, és elég sokmindent lehet párhuzamosítani. Mellesleg van L1-L2 cache, ill. a belsõ ramok is, ezek által sok eset megoldódik. Csak azok maradnak fent, amiként tényleg teljesen össze-vissza kell hozzáféri nagy területhez, és egy-egy adattal csak 1-2 mûveletet kell végezni.
"Igen ítrtad, de én nem erre válaszoltam, hanem erre : "Itt nem az SPE-krõl van szó, hanem a PPE-rõl (CPU mag), abban van a (2?) VMX egység." "
Ott kezdõdött, hogy azt írtad, nem-blokkos adattal nem tud kezdeni semmit az SPE. Pedig tud, csak ilyenkor be kell segítenie a PPE-nek is. Az egy másik dolog, hogy a PPE-ben is van VMX, így õ is tud számolni szépen.
"Egyébként meg az az alap mûködés, hogy a PPE irányít, de ez nem old meg minden problémát."
Hogy érted, hogy a PPE irányít? Az SPE akkor fér hozzá a külsõ ramhoz, amikor akar.
"Viszont nagyobb a késleltetése, hosszabb a futószalagja, sokkal gyengébb az optimalizáló logika, stb. (bõvebben a cikkben). Összességében egy több generációval régebbi proci magasabb órajelen."
Párhuzamosítással közömbösíthetõ a hosszabb késleltetés. Megfelelõ (fordítóra bízható) optimizáció révén az in-order végrehajtás és a gyengébb branch-prediction is, többé-kevésbé, feladattól függõen.
PC-n egy játékban a prociidõ többsége ugyancsak a megjelenítésre megy el, ide sorolva a fizikát is (vertex-adatok kezelése, atpumpálása a GPU-nak, stb.). Itt ezen feladatok jó részét átvállalhatják az SPE-k. Meg a lassan bejövõ fejlettebb AI-t is. Így nagyon sok prociidõ felszabadul!
Gondolj arra, hogy jópár éve, egy 7MHz-es, maiaknál jóval egyszerûbb procival rendelkezõ Amiga500-ra is eléggé összetett játékok is születtek. Az egyszerûbb grafika miatt kevesebb volt az ilyen irányú feladat is... Ehhez képest egy SMT-s 3,2GHz-es proci fergetegesen gyors.
"A memóri másolásokat meg hiába veszi át egy SPE, attól nem lesz gyorsabb (sõt, talán még lassabb is). És nem is a másolásról van szó, hanem kód futtatásról."
Miért lenne lassabb egy SPE másolásban? De nem az a lényeg, hogy esetleg lassabb-e vagy sem, hanem hogy nem a központi PPE-nek kell ezzel sem foglalkoznia. Egy programban sokszor kellhet memóriát másolni.
"Kevesebb, mint egy közepes x86."
Egy tread esetén talán, 2 (x360-nál 6) esetén már nem biztos.
"Hiába, ha az SPE-dolgozna velük. Át kell tölteni az SPE-re a megfelelõ blokkot, és ez lassú. Ha egy-egy blokkból csak kis részletekre van szükség, akkor a másolgatásra elmegy a teljesítmény nagy része. Ha meg a PPE-re túl komplex vezérlõ logikát raksz, akkor annak a teljesítménye folyik el."
Tévedsz, a PPE apránként is küldhet adatot az SPE-knek, mivel hozzáfér a ramjukhoz.
"És még több olyan, ami meg igen. Ami meg nem ilyen, abba be tud segíteni a PPE, az ideje pár %-át feláldozva."
Az a pár % könnyen lesz 100, és akkor meg vagy lõve. És ha neked ilyen feladatot kell megoldani, akkor nem sokat segít az, hogy más fajta feladat is van.
"Miért írod elõ elõre, mennyi lesz a kód?"
Nem írom elõ, csak becsültem.
"Pl. egy mpeg dekóder néhány tíz k-ba belefér."
Konkrétan 50K-nak becsültem a kódot. A maradék a DMA-hoz kell. Ha kis DMA blokkokkal dolgozol, akkor lehet még növelni, de akkor is nevetségesen kevés sok feladathoz.
"Vagy lásd 4k-s, 16k-s demók..."
Amik csak vinyón annyik, és a memóriát meg a procit rendesen pazarolják.
"Viszont sokcsatornás. És vannak egyéb, programszervezési módszerek, amikkel ellensúlyozni lehet."
"Mint írtam, meg lehet tenni, hogy a PPE-vel szedjük össze az adatokat (ez nem nagy terhelés), de azt egy SPE dolgozza fel."
Igen ítrtad, de én nem erre válaszoltam, hanem erre : "Itt nem az SPE-krõl van szó, hanem a PPE-rõl (CPU mag), abban van a (2?) VMX egység." Egyébként meg az az alap mûködés, hogy a PPE irányít, de ez nem old meg minden problémát.
"Bizonyos szempontból gyengébb, más szempontból meg erõsebb. Pl. ebben igazi hw SMP van (jobb, mint az Intel féle HT), és nagyobb sávszél is áll rendelkezésre."
Viszont nagyobb a késleltetése, hosszabb a futószalagja, sokkal gyengébb az optimalizáló logika, stb. (bõvebben a cikkben). Összességében egy több generációval régebbi proci magasabb órajelen.
"A matematikai számítások többségét nem neki kell végeznie, és memória-másolásokat is át tud vállalni egy SPE."
Pedig õ is inkább matekból erõs. A memóri másolásokat meg hiába veszi át egy SPE, attól nem lesz gyorsabb (sõt, talán még lassabb is). És nem is a másolásról van szó, hanem kód futtatásról.
"Így a dual-thread-es 3.2GHz azért nem olyan kevés."
Kevesebb, mint egy közepes x86.
"De mondom, hogy a PPE-rõl van szó, az szedi össze az adatokat."
Hiába, ha az SPE-dolgozna velük. Át kell tölteni az SPE-re a megfelelõ blokkot, és ez lassú. Ha egy-egy blokkból csak kis részletekre van szükség, akkor a másolgatásra elmegy a teljesítmény nagy része. Ha meg a PPE-re túl komplex vezérlõ logikát raksz, akkor annak a teljesítménye folyik el.
Nem egészen értem, amit az SPE-krõl írsz. A belsõ DMA-val lehet írni-olvasni, valószínû akkora csomagot (kerekítve pl. 1k-ra), amekkorát akarsz. A PPE-vel is hozzá lehet férni az SPE-k belsõ ramjához. Tehát, azt csak a belsõ ramban lévõ program helyfoglalása határozza meg, mekkora blokkokkal tudsz dolgozni. BiroAndras abból indult ki, hogy egy ilyen program minimum 150-200k, de ez alaptalan. Lehet az pártíz k is. Az egy dolog, hogy a 4-16k-s demókban nincs AI, de attól még sokmindent csinálnak. Persze, egy AI többet foglalna az egyik SPE ramjából, miközben egy másik meg mindenféle mást csinál egy párkás programmal. :) (Valószínû a PPE-nek is be kell majd segíteni, de a számításokat csinálhatja egy[-két] SPE.) Egyébként a kkrieger nevû 64k-s FPS-ben "AI" is van, de persze nyilván ugyanolyan scriptes, mint a többiben. És itt jön a PS3 új lehetõsége: a számítási kapacitás révén igazibb AI valósítható meg, a scriptes megoldások helyett...
Na azert nem csak etetni kell a VPEket, hanem ki is kell olvasni belolluk az adatot, tehat egyszerre nem lehet valosagosan felhasznalni a 256k-t egy muveletre. Tehat Biro Andrisnak igaza van akkor amikor azt mondja, hogy mekkora adatcsomagokkal dolgothatsz egyszerre. A 4k-s meg 16k-s demokat meg ne hasonlitunk mar ossze egy jatekprogrammal. Ott nincs AI, nincs periferiakezeles es sorolhatnam.
Mellesleg, mint már korábban írtam, a PPE ben is ütõs a VMX egység (azt hiszem, 128 bites - x86-on csak a Conroe-val lett 128 bites, plusz brutálisan sok regiszter van hozzá, abból is rögtön 2 készlet a dual-thread-hez), ráadásul valószínû 2db van belõle. Tehát nem-blokkos számítási mûveletekhez is nagyon jó.
"Ez csak akkor ér valamit, ha az adatot sorban lehet feldolgozni, és nem kell össze-vissza ugrálni rajta. Sok olyan feladat van, ami ezt a feltételt nem teljesíti."
És még több olyan, ami meg igen. Ami meg nem ilyen, abba be tud segíteni a PPE, az ideje pár %-át feláldozva.
"És azt se felejtsd el, hogy a 256K RAM van összesen, tehát ebbe bele kell férnie a kódnak, és a DMA által írt/olvasott buffereknek. Tehát kb. 50-100K adatcsomagokkal dolgozhatsz."
Miért írod elõ elõre, mennyi lesz a kód? Ez esetre válogatja. Pl. egy mpeg dekóder néhány tíz k-ba belefér. (Ne egy full codec+demux párost vegyél alapul, amiben enkóder is van, és minden formátumot ismerõ demux, stb.) Vagy lásd 4k-s, 16k-s demók...
"Igen, de a késleltetése sokkal rosszabb."
Viszont sokcsatornás. És vannak egyéb, programszervezési módszerek, amikkel ellensúlyozni lehet.
"Pont arrõl van szó, hogy így nem az SPE-ket használjuk, hanem a PPE-t terheljük még jobban"
Mint írtam, meg lehet tenni, hogy a PPE-vel szedjük össze az adatokat (ez nem nagy terhelés), de azt egy SPE dolgozza fel.
"ami egy x86 procinál jóval gyengébb (a cikkben benne van, hogy miért, de máshol is olvastam már)."
Bizonyos szempontból gyengébb, más szempontból meg erõsebb. Pl. ebben igazi hw SMP van (jobb, mint az Intel féle HT), és nagyobb sávszél is áll rendelkezésre. A matematikai számítások többségét nem neki kell végeznie, és memória-másolásokat is át tud vállalni egy SPE. Így a dual-thread-es 3.2GHz azért nem olyan kevés.
"Úgy egyszerre, hogy nincs idõ közben a lokális memória tartalmát cserélgetni. Pl. ha egy több megás tömb tartalmára nem sorban van szükség (pl. gráf)."
De mondom, hogy a PPE-rõl van szó, az szedi össze az adatokat.
"De ha az SPE-ket vesszük: egyrészt mindegyikhez van 256KB local ram, ami elég ahhoz, hogy blokkonként olvashasson, és aztán magában dolgozhasson."
Ez csak akkor ér valamit, ha az adatot sorban lehet feldolgozni, és nem kell össze-vissza ugrálni rajta. Sok olyan feladat van, ami ezt a feltételt nem teljesíti. És azt se felejtsd el, hogy a 256K RAM van összesen, tehát ebbe bele kell férnie a kódnak, és a DMA által írt/olvasott buffereknek. Tehát kb. 50-100K adatcsomagokkal dolgozhatsz.
"Harmadrészt jóval nagyobb sávszél áll rendelkezésre, mint PC-n megszokott."
"Itt nem az SPE-krõl van szó, hanem a PPE-rõl (CPU mag), abban van a (2?) VMX egység."
Pont arrõl van szó, hogy így nem az SPE-ket használjuk, hanem a PPE-t terheljük még jobban, ami egy x86 procinál jóval gyengébb (a cikkben benne van, hogy miért, de máshol is olvastam már).
"Mi az, hogy egyszerre? Egy proci csak szép sorjában tud hozzáférni az adatokhoz."
Úgy egyszerre, hogy nincs idõ közben a lokális memória tartalmát cserélgetni. Pl. ha egy több megás tömb tartalmára nem sorban van szükség (pl. gráf).
A BiroAndras által írt útkereséshez, és más efféléhez épp elég. (A PPE-n futó kódról van szó, nem az SPE-krõl.)
De ha az SPE-ket vesszük: egyrészt mindegyikhez van 256KB local ram, ami elég ahhoz, hogy blokkonként olvashasson, és aztán magában dolgozhasson. Másrészt speciális memória-rendszer van, ami több párhuzamos hozzáférést tud optimálisan lekezelni. Végülis többcsatornás a memória-rendszer. Harmadrészt jóval nagyobb sávszél áll rendelkezésre, mint PC-n megszokott.
Hiaba a 7 vagy 8 mag ha a savszelesseg nem eleg. Kb olyan effektus johet letre, mint egy telthazas koncert amikor veget er es az emberek csak az egy kinyitott kijaraton tudnak tavozni. :P
"Lehet, de pl. az útkeresés nem igazán neki való feladat. És akkor ott hevernek parlagon az SPE-k."
Itt nem az SPE-krõl van szó, hanem a PPE-rõl (CPU mag), abban van a (2?) VMX egység. Ez kb. az SSE1-2-3 egységnek felel meg. Tehát normál kódba ágyazott SIMD számításokról.
"Ez nem segít azon, hogy egyszerre kell elérni az adatot."
Mi az, hogy egyszerre? Egy proci csak szép sorjában tud hozzáférni az adatokhoz. (Dualcore is csak kettesével.)
A PPE-ben lévõ (duplázott?) VMX is szép teljesítményt ad, azzal is lehet számolni (ha a sima FPU nem elég). Vagy meg lehet tenni, hogy a PPE-vel szedjük össze az adatokat, és átadjuk az egyik SPE-nek.
Nem, mivel nem szimuláció, hanem RTS. De valami hasonlóról van szó. A lényeg, hogy a megjelenített világ lehetõleg úgy nézzen ki, és úgy viselkedjen, mint az igazi.
"Ja, hogy be lehet menni közéjük. De azért ezekbõl sincs több párzezernél, és azt a kevéske számolást, amit egy ilyen "collosion" jelent, a fõprocimag is secperc alatt ledarálja, nem nagyon kell ide SPE."
Nem is a proci a gond, hanem a memória. Arra írtam példának.
"De ha van szabad SPE-kapacitás, megoldható, hogy a fák adatai, és az egységek (ide vonatkozó) adatai blokkosan beolvashatók legyenek."
Ezt csak arra írtam, hogy a gamelogic mennyi mindennel összefügg. Ami igényelné az SPE-ket, és szerintem problémás a kevés memória miatt, az pl. az útkeresés. Elég számításigényes, és nem igazán lehet blokkosan olvasni hozzá az adatot.
A belsõ busz késleltetése is elég jó. (Egyébként jópár bájtokat egyidõben visz át.)
"Azért volt pár eléggé összetett játék már akkor is."
"élethûvé teszik a megjelenítést."
Nem inkább a szimuláció élethûségére goldolsz? ;)
"Rengeteg apróság összeadódik."
Akkor is igen soknak tûnik.
"Messze nem csak grafika. Pl. az egységeknek ki kell kerülniük, vagy épp ki kell dönteniük."
Ja, hogy be lehet menni közéjük. De azért ezekbõl sincs több párzezernél, és azt a kevéske számolást, amit egy ilyen "collosion" jelent, a fõprocimag is secperc alatt ledarálja, nem nagyon kell ide SPE. De ha van szabad SPE-kapacitás, megoldható, hogy a fák adatai, és az egységek (ide vonatkozó) adatai blokkosan beolvashatók legyenek.
Hát nemtom. Én is tervezgetek magamnak egy valósidejû zûrstratégiát. 20 lakható bolygó kb 30 naprencer, valós fizika, rengeteg NPC. A teljes adatbázis 20 megára saccolom, a kód 10-20 mega. Természetesen a 3D nyalánkságokat nem tudom megsaccolni, hogy hány giga lenne (ha valakit tudnék ilyen dologra találni).
De a fapados játék szerintem 40 megából összehozható.
"Lassab, de semmiképpen sem lassú, mert egy belsõ, nagy sávszélû buszon történik."
Nem a sávszélesség a gáz, hanem a késleltetés.
"Azért volt pár eléggé összetett játék már akkor is."
Sokféle értelemben lehet összetett a játék. Pl. a játékmenet simán lehet komplex anélkül, hogy komolyn hardvert igényelne. Én viszont nem erre gondoltam, hanem arra a sok kis részletre, amik a nagy poligonszám, és az effektek mellett élethûvé teszik a megjelenítést. Pl. körökre osztott helyett valósidejû játék. Meg négyzetrácsos helyett vektoros pálya, és azonos méretû helyett méretarányos egységek (ezek elég durván megnehezítik az útkeresõ dolgát). Primitív szkriptek helyett AI.
"Huh, az rohadt sok. Nem vigyáztok eléggé. :) Mire megy el ennyi?"
Rengeteg apróság összeadódik.
"Na de a fák a grafikához tartoznak, nem a lényegi game-logic-hoz..."
Messze nem csak grafika. Pl. az egységeknek ki kell kerülniük, vagy épp ki kell dönteniük.
Erre mondtam, hogy amikor fetcheled az osszes SPEnek az adatot az gaz, ha az osszes szamara kell 256K-bol dolgozni. Szerintem a mai rendelkezesre allo technologia mellett nem artott volna, ha 1MBs cacheval keszitettek volna a Cellt.
De ez nem jelent áthidalhatatlan akadályt. Nem nagy dolog szegmentálni a kódot, blokkosan kezelni az adatokat. Az mondjuk érdekes helyzet, ha teljesen véletlenszerûen kell hozzáférni sok mega adathoz. De ez sem reménytelen: össze lehet gyûjteni az adatokat, és utána egyben kezelni.
"Igen. Azt jelenti, hogy írhatok és olvashatok blokkokat, de mûveleteket végezni nem tudok."
Nem, nem feltétlenül csak blokkos hozzáférést jelent. Csak annyit jelent, hogy a procitól független memóriahozzáférés. Lehet az akár bájtos(/wordös/longwordös/stb.) is. (Ismerek ilyen rendszereket.)
"Az úgy már elég lassú szerintem."
Lassab, de semmiképpen sem lassú, mert egy belsõ, nagy sávszélû buszon történik.
"Igen, csak fícsörben sehol nem volt a maiakhoz képest (és nem csak grafikára gondolok)."
Hát... Azért volt pár eléggé összetett játék már akkor is.
"Dehogynem. Nálunk pl. van vagy 300 mega. NAgyon el tud ám szaporodni, ha nem vigyáz az ember."
Huh, az rohadt sok. Nem vigyáztok eléggé. :) Mire megy el ennyi?
"Az nagyon jó lenne, de sajnos ennél sokkal több. Plusz gyakran hozzá kell férni a modelekhez is, ami pláne sok."
Oké, ez a jétéktól függ.
"Láttam olyan pályát, amin csak fából volt ennyi..."
Na de a fák a grafikához tartoznak, nem a lényegi game-logic-hoz...
"Fetcheltel mar processzornak 256kb cachebol adatot ?"
Cache-bõl? Még nem. Max. flush-oltam azt a cache-t. De ezt mire írod? A main ramról van szó, nem az SPE-k 256KB-járól (ami mindegyiknek van külön).
"Foleg ha egyszerre 8 magot kell adattal ellatni, beall az egesz mint Jozska bacsiba a merevreszegseg 2 liter palesz utan."
Ez nem olyan Intel-módra van itt megoldva. :) Hanem úgy, hogy értelme is legyen az egésznek. (Amúgy is elég szép sávszél van a Cell és a main ram között.) Ezt szépen demonstrálta az a 48 mpeg2 stream dekód+scale.
"A PS3-on installált Linux található, ez alatt szabadon lehet hancúrozni programozás tekintetében – nem lesz licenszdíj, de hivatalos support sem az így fejlesztõknek. A Sony ugyanakkor nem szeretné keverni a Linuxos fejlesztéseket a játékokkal." "A Sony a PS3-mat nem hagyományos játékkonzolként látja, hanem inkább kompjúterként. Ezért a többféle kiszerelés: a jövõben újabb változatokat kínálnak belõle, jön például egy 120 gigás HDD-vel felszerelt modell. A felszereltség némileg különbözik, de az alapok ugyanazok mindegyik gépnél."
Asszem mégis csak ez lesz a következõ SZÁMÍTÓGÉPEM. ;)
De azért megvárom azt a félévet, sajna már nem bízok a Sanyiban:( Meg azér a wareznek mégiscsak más a fílingje;)
Fetcheltel mar processzornak 256kb cachebol adatot ? Foleg ha egyszerre 8 magot kell adattal ellatni, beall az egesz mint Jozska bacsiba a merevreszegseg 2 liter palesz utan.
De még ha csak blokkosan lehet is, az sem jelent különösebb gondot. Amúgy is jobb egyben átvinni 1-1 területet, mint utasításonként olvasgatni. Lényeg, hogy nem kell a fõprocimagnak ezzel foglalkoznia, az SPE-k intézhetik maguknak. (De ha kell, a fõprocimag is hozzáférhet az õ ramjukhoz.)
Pontosítok: olyasmi, mint a cache, de annak nevezni pontatlan.
"Pontosan erre való."
Erre is való. Ha minden adat befér, akkor nem kell a main ram.
"Csak az a baj, hogy ha az átmeneti adatnak is kevés ez, akkor b@szhatod."
Akkor hozzáférhetek egy másik SPE ramjához is... x*256KB azért nem olyan nagyon kevés... Már 64(-néhány)KB-ban (C64) is elég összetett játékokat lehetett csinálni (persze a grafikája még kezdetlegesebb volt), vagy vegyük az elsõ Amigákat a 256/512KB memóriájukkal.
"De kifejezetten alkalmatlan pl. a gamelogic mûködtetésére, mert az pont arról szól, hogy sok különféle adattal kell viszonylag egyszerû mûveleteket végezni."
Viszont a gamelogic-nál a "sok" az nem sok megabájtot jelent. Pl. ha 10 bájton írunk le 1 "game-objectet", akkor 256KB-ba 26214 ilyen férne el... Nem sok játék kezel ennyi játék-elemet (karaktert, stb.)... De mindegy, mert az SPE-k nem is igazán erre valók, ez inkább a hagyományos procimag feladata.
"Én úgy tudom, el lehet (csak az persze jóval lassabb)."
Én azt olvastam a doksikban, hogy DMA-n keresztül lehet elérni.
"Ez a belsõ, SPE-nként 256KB local/embedded RAM cache-nek fogható fel"
Igen.
"Azt is meg lehet tenni, hogy csak a kód van itt, plusz némi átmeneti adattárolás (erre bõven elég 256KB/SPE), és az adatok a fõramból jönnek, és oda mennek."
Pontosan erre való. Csak az a baj, hogy ha az átmeneti adatnak is kevés ez, akkor b@szhatod. Vagy pl. ha nem tudod elõre megmondani, hogy melyik adatra lesz szükség, akkor folyamatosan várni kell a lassú memóriára.
"Pl. stream-feldolgozás nagyon jól mehet így."
Arra igen. Meg olyan feladatokra, ahol viszonylag kevés adattal sok mûveletet kell végezni egyszerre (pl. fizika). De kifejezetten alkalmatlan pl. a gamelogic mûködtetésére, mert az pont arról szól, hogy sok különféle adattal kell viszonylag egyszerû mûveleteket végezni.
"azzal, hogy be kell férni a 256KB cache-be kóddal és adattal együtt. Ugyanis a RAM-ot nem lehet direkben elérni."
Én úgy tudom, el lehet (csak az persze jóval lassabb). Ez a belsõ, SPE-nként 256KB local/embedded RAM cache-nek fogható fel (de nem az, mivel ez is címezhetõ, a sima cache-sel ellentétben). Azt is meg lehet tenni, hogy csak a kód van itt, plusz némi átmeneti adattárolás (erre bõven elég 256KB/SPE), és az adatok a fõramból jönnek, és oda mennek. Pl. stream-feldolgozás nagyon jól mehet így.
Egyébként, ha benchmark még nem is volt, párszor már demonstrálták (real-time), és abból elég jól látszott a brutális teljesítmény.
"Túlfújt dolog ez a Cell chip. Valójában 1 teljes értékû magot, a többi mag jóval egyszerûbb."
Egyszerûbbek, de cserébe sokkal nagyobb teljesítményûek. Félúton vannak egy általános célú proci, és egy célchip közt.
"Nem igazán összevethetõ a 2 teljesértékû magot tartalmazó Intel/Amd procikkal."
Nem összevethetõ természetesen. Teljesen más az architektúra. Amire tervezték (multimédia, játék), abban messze lekörözi a mai PC-ket (kérdés, hogy meddig).
"Ha valaki optimalizált kódot akar gyártani rá, vért fog pisálni."
Nem az optimalizálással kezdõdik a dolog, hanem azzal, hogy be kell férni a 256KB cache-be kóddal és adattal együtt. Ugyanis a RAM-ot nem lehet direkben elérni.
"Szerintem csak a fõ magra van optimalizált fordító, a többire kevéssé."
Tévedsz.
"A hírekben megadott álomteljesítmény elméleti maximum. Azaz kiszámolták, hogy az egyes magok csúcsra járatva mit tudnának (Már ez gáz) és utána lazán összeadták, majd telekürtölték vele a világot, itt az új szuperszámítógép."
Ez igaz. De az elméleti max. teljesítményt itt meg is lehet közelíteni, mert nagyon jól van megtervezve a hardver, és a fordító is, és lesz idõ bõven kitanulni.
"Persze rendes szabvány benchmarkokat még véletlenül sem futtatnak rajta...."
Fognak majd futtatni mindenfélét rajta, ha egyszer megjelenik végre.
A Wii kontrollerét még senki sem próbálta, egyelõre csak a Nintendo hype megy. Honnan tudod, hogy nincs igaza Rein-nek, lehet, hogy a világ legelfuseráltabb irányítója lesz és a Nintendo csõdbe jut, ezt még senki sem tudhatja. Más dolog egy szubjektív vélemény egy irányítóval kapcsolatban és más egy száraz technikai összehasonlítás. Fõleg ha az UE3 fejlesztõjétõl származik.
Joasszony elolvastad azt a hulye nyilatkozatat is amiben leszekalta a WII kontrolleret ? Ha nem akkor tedd meg, hatha a ket agytekervenyed megduplazodik tole. Szolj ha le kellene forditani, hatha a ket altalanosoddal nem megy a dolog.
Nos, ez részben igaz, részben nem. Van egy dolog, ami eléggé megbonyolítja a helyzetet, és az a Cell, amivel eddig desktopon nem létezõ teljesítmény érhetõ el. Azaz, a PS3 pl. renderelésre is jobb, mint egy mai PC (+ még néhány évig). Ja, és demózásra is nagyszerû lesz. :) Szal a demókóderek fantáziáját is igencsak megmozgatja.
A levegõbe beszélsz. A többi mag is elég kövér vektorproci (nem egyszerûen vektor-egység, mint pl. az SSE-k). Önállóan képes kódot futtatni (amiben feltételes ugrások is lehetnek), memóriához hozzáférni, még MMU is van benne, és mellesleg egy-egy nagyon gyors kis (címezhetõ) RAM tartozik mindegyikhez a prociban. És semmivel sem nehezebb rá kódolni, mint egy több vektorprocis platformra. (Mint pl. az SGI fénykorában felkapott RealityEngine-ek.)
""Jellemzõen 320*240 v valami hasonló felbontásban sugározzák pl a TV adást is"" (muerte2)
Ezt a butaságot felejtsétek már el, egy normális tévéadás (nem HD) felbontása megegyezik a DVD-ével.
"Hát nem. Ez a VHS felbontása, ami fele a TV adásénak."
Még ez sem teljesen igaz. A VHS felbontása (PAL szabványban) úgy 400x576 körül van (a függõleges bontás [vízsz. sorok száma] adott, fix, nem is lehet más, mint a szabvány). Mint már 1-2x leírtam, figyelmetlenség/hozzánemértés miatt sokszor sornak fordítják a "lines" szót, ami a vízszintes felbontást méri azzal, hány függ. vonalat lehet max. még kivenni a képen - és a pixelfelbontás ennek 2x-ese (1 fehér + 1 fekete vonal kell).
Hihhetetlen, hogy egyesek mennyire véresen komolyan tudják venni ezt az egész Pc Vs Console, v BOX Vs PS3 dolgot. (Sajnos sokan saját magukat is túl komolyan veszik) Mindnek megvan az elõnye és hátránya is. A PC az általános célú szgép, a konzol az meg egy célszámítógép (játékokra kitalálva). Ebbõl következõen a PC az sokoldalúbb mint egy konzol, viszont a konzol valószínûleg jobb abban amire kitalálták. Ez olyan mint ha egy utcai sportautót hasonlítanánk egy F1-es autóhoz. Pályán ez utóbbi sokkal gyorsabb, stb, de kint az utcán 2kanyar után szét hollana. Nincs értelme az összehasonlításnak. (szerintem)
Nincs olyan, hogy ugyanolyan vagy jobb, csak rosszabb. Célhardver mindíg gyorsabb lesz így, az igazi fizikai chip is, gyorsabb.
Ja Mark Reign szokott nagy marhasagokat mondani. Olvasd el azt hogy lehuzta a Nintendo kontrolleret, most meg minden konzolgyarto lop belole egy-egy darabot.
"Shack: What are your thoughts on AGEIA's PPU hardware? Any thoughts about how that's going to take off?
Mark Rein: One thing AGEIA's done that's really smart is that--well, if you've seen our PS3 demo, and this is really version .1, really not a finished performance at all, but we've got some really great cool physics things going on PS3. They've done a really good job of optimizing their library to work well with the SPUs in the Cell processor, which means we're going to be able to get a lot of physics performance out of PlayStation 3. Also on Xbox 360 to some extent, but definitely on PS3 we're going to be able to get a lot of physics capabilities out of that. Which means that, to bring [games using those methods] to a PC, you're probably going to need the hardware. Or you could maybe scale it up even further on the PC, I believe, with their hardware. I think that bodes really well for them if developers go nuts and do really cool physics on PlayStation 3, then if people want to play it to that level on PC, they'll buy the card."
Ezennel kihívok minden konzolost egy hatalmas CS:S partira. Azt nem tudom, hogy a konzolosok honnan fogják letölteni/megvásárolni, de annyi baj legyen.
Másrészrõl a 7+1 chip és a linux támogatás miatt nekem kell egy ps3. Ha este vége a heccsátkavalkádnak (jaja, hack and slash :)) akkor elcsendesedik a szoba (6600gt) és elindul a többszálú renderelés csodája 10 dB hangerõvel. Vagy nézem az összes filmemet átírva 1 bluray-re divx-ben :) Esetleg benézek majd az sg-re és szidom a PC tulajdonosokat ingyen büntipontért ;D
Túlfújt dolog ez a Cell chip. Valójában 1 teljes értékû magot, a többi mag jóval egyszerûbb. Nem igazán összevethetõ a 2 teljesértékû magot tartalmazó Intel/Amd procikkal. Ha valaki optimalizált kódot akar gyártani rá, vért fog pisálni. Szerintem csak a fõ magra van optimalizált fordító, a többire kevéssé. A hírekben megadott álomteljesítmény elméleti maximum. Azaz kiszámolták, hogy az egyes magok csúcsra járatva mit tudnának (Már ez gáz) és utána lazán összeadták, majd telekürtölték vele a világot, itt az új szuperszámítógép. Persze rendes szabvány benchmarkokat még véletlenül sem futtatnak rajta.... mert akkor tényleg összelehetne hasonlítani, ha független intézetekben történne a dolog. Ettõl nem kell félni, mivel az IBM is tudja, hogy a legnagyobb mítoszrombolás a valós összehasonlítható teszteredményekben van. Ezzel az eszközzel az Intel, Amd is élnek imitt amott....
na azon már vitatkozhatunk, hogy a fizikai számításokra felhasznált mag(/magok) jobb eredményeket ér-e el vajon, mint a "sima" fizikai chip, de azon hogy a PS3-ban van-e fizikai chip, az nem vita tárgya.
Szerintem te gorcsolsz. Az eredeti felvetes az volt, hogy valami nagyokos kitalalta, hogy lesz benne idezem szoszerint. "FIZIKAI GYORSÍTÓ CHIP" Nos ebbelo egy szo sem igaz, es most josz megmagyarazni, hogy a Hold az a Nap. Nem veszed eszre, hogy ha az egyikbe belenezel akkor bantja a szemed ? :P
Látom megint öszekaptak a PC-sek a konzolosokkal (vagy forditva). Szerintem meg mindenki maga döntse el, hogy az igényinek mi a jobb és csak akkor kérdezze meg a másik tábort, ha döntésképtelen. Na mindegy. Én PC-s vagyok, de a PS3 meg fogom venni, ha minden jól megy. Ez lesz az elsõ konzolom, és sokat várok tõle. természetessen a PC nem fogom kidobni, sõt még csak hanyagolni sem. Aztán majd a technika, ár, fejlesztések eldöntik melyikre fogok nagyobb hangsút fektetni.
Nem, nem sikerült. Elmagyarázhatnád, hogy VÉGEREDMÉNYÉT TEKINTVE mi a különbség egy PPU és egy ugyanolyan vagy JOBB eredményeket elérõ SPU között, tökmindegy, hogy minek hívjuk ezeket, fizikai chipnek vagy Náncsi néninek.
Ne görcsölj. A Cell eleve úgy lett megtervezve, hogy minden párhuzamosan fusson és ebbõl igény szerint 1 vagy 2 spu a fizikát számolja. Mindegy hogy minek nevezzük, a funkció a lényeg. Valahol van egy Mark Rein interjú, ahol elmondja, hogy egy SPU-val jobb eredményt tudtak elérni mint egy PC-s PPU-val.