Question

Normal DMA requests on the Cell happen between the SPUs and the PPU. However, I have read that it is possible to set up DMA directly between SPUs. Anyone have any idea how this is accomplished?

Was it helpful?

Solution

Have a look at spe_get_ls(). This will help you to setup a list of effective addresses that you can use to transfer data between local stores. You may need some management to map spe identifiers to physical SPUs.

OTHER TIPS

The trick is essentially what Chris said. The local store of one SPE is memory-mapped into the PPE's memory space. And then you just perform a regular DMA transfer from the other SPE to that address on the PPE.

I'm sorry I don't have the exact code for this. It's been a year or so since I had to do any of this. :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top