Gå til innhold

Noen med Cell-erfaring?


Anbefalte innlegg

Holder på å kode for PS3 nå, og jeg oppdager at å porte emulatorer ikke er helt trivielt.

 

Først og fremst går ting møkkatreigt. Kode som kjører på single thread Core i7 i 200++ fps, ender opp på ~42 fps på PPU-enheten til PS3 (litt dårligere enn det 1. gen Atomen min dytter ut). Etter det jeg har skjønt er det klare arkitekturbarrierer som gjør at kode som kjører bra på en PC ikke nødvendigvis trenger å kjøre bra på den veldig simple PPU-enheten til Cell.

 

Noen som har erfaring med å optimisere kode spesifikt for PPUen? Er det noen generelle tips jeg burde følge? SPUene tror jeg ikke er aktuelt siden de 3 trådene som kjøres må synkroniseres med hverandre opp mot 10000 ganger per sekund (tenk coroutines kodet i rein assembly, isteden for threading).

Lenke til kommentar
Videoannonse
Annonse

PPUen i CELL prosessoren er ikke spesielt kjapp i forhold til nyere CPUer fra AMD/Intel. Kraften i en CELL kan utnyttes når problemet er parallelliserbart, men den er ikke veldig effektiv ellers. Som regel vil PPUen bruker som en kontrollenhet, men SPEene er de som gjør jobben.

 

Om du ikke får brukt SPEene vil nok programmet gå relativt sakte i forhold til en vanlig CPU, men husk at bussen mellom SPEene er utrolig rask, så litt avhengig av hva som skal synkroniseres kan det hende de kan brukes. Ellers støtter PPUen SIMD instruksjoner, så kan jo også se på om det kan brukes på problemet. Det vil i så fall også gjøre at koden kjører fortere på en tradisjonell CPU.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...