Editing Talk:Synergistic Processing Unit (SPU)

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 14: Line 14:


need quotation / proper sources / documentation
need quotation / proper sources / documentation
== Cell SPE Task Library ==
quoted intro:<br />
&nbsp;&nbsp;"
''This project contains a thread-safe digital signal processing and computational microtask execution library for the IBM Cell Broadband Engine. It works in Linux and the IBM Cell SDK 2.1 on the Playstation3 and Cell Blade. The project consists not really of a library but of source code and header files that you can include in your Cell program. The license is GNU LGPL.''
''The SPE program is started once on 1..N SPEs, where it will stay running and waiting for tasks that can be sent to it from your PPU program. The running SPE program(s) can be sent different such computing tasks. Tasks can be single or a chained queue of tasks, for example of different types. The SPE program uses faster mailbox communication, and latencies from task start to end on the PPU side are quite low. There is an additional framework for PPU code that makes accessing the computing SPEs and their tasks threadsafe.''
''The set of computational tasks (commands) can be easily extended with your own funcs. The code allows more control over processing, DMAs and buffering than the IBM ALF framework.''
''Another point for this project is to collect a bag of computational tricks and fast DSP funcs, in the form of cut&paste source code snippets that you can can copy into your own SPE programs. These code pieces include very fast sine and cosine calculation, complex multiply accumlate, and others.''
&nbsp;&nbsp;"<br />
Location: http://cellspe-tasklib.sourceforge.net/
==local store dumping of SPE ==
<pre>
LSPWN v0.1
&nbsp;
[http://www.multiupload.com/V09QWP7O8S spwn.rar (60.96 KB)]
&nbsp;
'''overview:'''
this app dumps the local store of an spe to /dev_hdd0/game/LSPWN0ADC/USRDIR/localstore.bin
&nbsp;
a neat POC for devs, but also a n00b friendly introduction to the spe environment.
&nbsp;
'''instructions:'''
&nbsp;
1. run the app
2. copy the binary from the hdd using your preferred method
3. disasemble using ida and get a hands on look at the local store
4. ???
5. profit!
&nbsp;
'''notes:'''
- source code forthcoming after some cleanup
- gui in v0.2 release
- support for isolation mode if there is demand
</pre>
=shufb mask decoding=
For your convenience:
In [60]: str_shufb(0xC0D0E0F0C0D0E0F8080808080808080)
Out[60]: '12, 13, 14, 15, 12, 13, 14, 15, z, z, z, z, z, z, z, z'
This would work well with IDA Python...
[http://pastie.org/2774108 shufb decoder (Python)][http://paste.ubuntu.com/24647636/ Mirror]
= Useful slides =
* https://pt.slideshare.net/naughty_dog/spu-optimizationspart-1
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)