Skip to main content
GameDev.net gamedev.net
🔒 Locked

ps3 programming multi core question

Started by BradSnobar Nov 3, 2006 at 5:28 PM 2 replies 1.9k views
Original Post
BradSnobar
BradSnobar
Hello, I was reading about the ps3 on wikipedia and became a little confused about some information regaurding programming for multiple cores for the ps3. I and was wondering about how to access the multiple cores on the system. I assume that you can just fork processes, and create threads, and use libraries like mpi, or pvm to take advantage of the multiple cores on the PS3. Is that the case? Or is there some other library that needs to be used? Also, it looks like there might be some shared memory available between all the processors... Is that correct too? Are they all general purpose cores (meaning not vector)? Thanks much, Brad
Ravuya
Ravuya
As far as I can tell (and have experienced with IBM's Cell emulator) the two kinds of chips (PPE and SPE) have different instruction sets and purposes, so you have to use one of the provided tools. PPE seems to be the main PPC970 based core for "normal" coding and each of the SPEs is a big vector processor, according to what I've read on Gamasutra.

Other than that, it depends on the OS, but I'd figure at some level you're using an analogue of fork() that shoves the thread onto the SPE. I believe the Sony API has a whole bunch of functions for managing it, and would probably include all the libraries and docs you'd need.

I think each of the SPEs has its own small amount of SRAM (128K?) but that's probably for improved caching. It looks like they share an L2 cache. I wouldn't be able to tell you more, but you should consult the Gamasutra article for more information.
anonuser
anonuser
Actually IBM has done quite a lot of work on easing this process. Octopiler! The idea is you write your program sequentially it does magic and generates you PPE and SPE programs. Complete with a caching mechinism to ease the pain of SPE DMA fetching (they can't use anything but their local store). It tries to optimize just about everything. It's damn impressive. Give it a look.
http://domino.research.ibm.com/comm/research_projects.nsf/pages/cellcompiler.index.html

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.