dez#60
1. 7 óra alatt? LOL. Gondolod, hogy nincs más dolgom, mint veled feladványosdit játszani? Nézd csak meg, mennyi idő telt el a két hozzászólásom között! Eleve csak 1,5 óra. De ebből is csak kb. negyed óra volt a "feladattal" töltött idő.
2. Több oldalas program? LOL. 4 egymásba ágyazott for ciklus, néhány dma-s olvasás-hívás, és pár egyéb egyszerű művelet. Ennyi.
3. Ha ez neked egy nagynehezen megoldható és leprogramozható feladat, akkor talán nem programozással kellene foglalkoznod. Legalábbis nem játékprogramozás (de nem is ezt csinálod szerencsére), ahol ennél sokkal bonyolultabb dolgok is vannak.
(4. A leírt eljárást lehetne még alaposan gyorsítani azzal, ha a DMA műveletek másik bufferekbe töltenének, mint amikben a párok keresése zajlik - egymást nem zavarva, sávszélességet nem elvéve! És ez is csak minimálisan bonyolítaná meg. Nem beszélve a következőkről.)
5. Olyan feladatot húzol elő, ami egyátalán nem az SPE-knek való, és úgy állítod be, mintha ez lenne az általános eset.
6. Konzekvensen "megfeledkezel" a következőkről - annak ellenére, hogy direkt figyelmeztettelek rájuk:
- A Cellben van egy átalános, a memóriát szokásosan elérő proci-mag is, a PPE, amivel ugyanúgy egy sor (C-ben) ez a dolog!
- A PPE hozzáfér az SPE-k ramjához, pl. beírhatja nekik a main memóriából össze-vissza összeszedett értékeket, stb. Tehát a feladatokat szét lehet osztani a PPE és az SPE-k között úgy, hogy mindkettő a számára legjobban fekvőt csinálja.
- Az SPE-k hozzáférnek egymás memóriájához is, azaz ha szükséges, nem 256KB-tal kell gazdálkodni, hanem lehet akár 2MB-tal is! Ez már nem olyan kevés.
- Ha éppenséggel nem csak összeadni kell számokat, hanem bonyolultabb, lassabb műveletet végezni, máris fordul a kocka, és kijön a több mag és a gyors belső memória előnye.
Mindezek nem mást mutatnak, mint hogy teljesen inkorrekt vagy...