Cell Broadband Engine: Difference between revisions

From esoterum.org
Jump to navigationJump to search
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
== IBM ==  
== Georgia Tech ==
*[http://publib.boulder.ibm.com/infocenter/systems/scope/syssw/index.jsp?topic=/eiccu/ig/sdk_install_preparation.html&tocNode=%74%6f%63%3a%65%69%6e%66%6f%2f%73%79%73%73%77%2f%32%2f%36%2f%31%2f%35%2f%31%2f%30%2f SDK Installation Manual]
*[http://wiki.cc.gatech.edu/cellbuzz/index.php/User_Guide Cell Buzz User Guide]
*hostname: cell-user.cc.gatech.edu
 
== Assembly Programming ==
*[http://www.google.com/url?sa=t&source=web&ct=res&cd=1&ved=0CAcQFjAA&url=http%3A%2F%2Fwww.insomniacgames.com%2Ftech%2Farticles%2F0907%2Ffiles%2Fspu_instruction_cheat_sheet.pdf&ei=NKb0Su6-HJOkMZjrhOkF&usg=AFQjCNF56N7IWACsTrheEhEHJ6UZvMsd4w&sig2=gg4rPDdZVqHr61yre_OMgg Instruction cheat sheet], Insomniac Games
*[https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/76CA6C7304210F3987257060006F2C44 SPU Instruction Set], IBM
*[http://cell.scei.co.jp/pdf/SPU_Assembly_Language_v14.pdf SPU Assembly Language Specification], Sony
 
== Optimization ==
*[http://www.ibm.com/developerworks/forums/thread.jspa?threadID=143965 Understanding TLB and PTE misses]
 
== Other Resources ==
*[http://groups.csail.mit.edu/cag/ps3/cell_pointers.shtml Cell Pointers], MIT: DMA sizes, alignment, some intrinsics
*[http://www.eetimes.com/design/audio-design/4006659/Programming-the-Cell-Broadband-Engine Linking spu and ppu with symbols to provide effective address of ppu objects in spu at compile time], avoid having to use dma to get addresses of ppu objects into the spu
*[http://cell.grondklont.nl/?cat=6 SPU programming tutorial], grondklont.nl
*[http://groups.csail.mit.edu/cag/ps3/index.shtml Programming the Cell course at MIT]
 
== Sony ==
*[http://cell.scei.co.jp/e_download.html Documentation from Sony]
 
== IBM ==
*>[http://public.dhe.ibm.com/software/dw/cell/CBE_Programmers_Guide_v3.1.pdf Software Development Kit for Multicore Acceleration Version 3.1 Programmer’s Guide]. IBM. 2008.
:-Stack management
*>[http://www.redbooks.ibm.com/redbooks/pdfs/sg247575.pdf Programming the Cell Broadband Engine™ Architecture Examples and Best Practices]
*[http://moss.csc.ncsu.edu/~mueller/cluster/ps3/SDK3.0/docs/accessibility/sdkpg/CBE_Programmers_Guide_v3.0.toc.html Software Development Kit for Multicore Acceleration Version 3.0, Programmer's Guide], html version at NCSU
*[http://publib.boulder.ibm.com/infocenter/systems/scope/syssw/index.jsp?topic=/eicct/prg/usingsetspu.html Debugging SPU/PPU code with ppu-gdb]
*[http://www.cresco.enea.it/LA1/cresco_sp14_ylichron/CBE-docs/SDK-Installation_Guide_v3.1.pdf SDK 3.1 Installation Manual]
*IBM Systems and Technology Group. [http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/1AEEE1270EA2776387257060006E61BA/$file/CBEA_v1.02_11Oct2007_pub.pdf Cell Broadband Engine Architecture]. IBM. October 11, 2007
*IBM Systems and Technology Group. [http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/1AEEE1270EA2776387257060006E61BA/$file/CBEA_v1.02_11Oct2007_pub.pdf Cell Broadband Engine Architecture]. IBM. October 11, 2007
*[http://www.research.ibm.com/cell/ The Cell project at IBM]
*[http://www.research.ibm.com/cell/ The Cell project at IBM]
Line 8: Line 34:


=== Training ===  
=== Training ===  
*[http://embedded.com/design/219401225?printable=true Smart tutorial at Embedded.com]
*[http://aser.ornl.gov/presentations/PS3_Cell_Overview-Ryan_Kerekes.pdf Nice overview slides from DOE], Ryan Kerekes
*[http://www.cag.csail.mit.edu/ps3/cellminiref.shtml MIT cell mini reference]
*[http://www.cag.csail.mit.edu/ps3/cellminiref.shtml MIT cell mini reference]
*[http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/9F820A5FFA3ECE8C8725716A0062585F/$file/CBE_Handbook_v1.1_24APR2007_pub.pdf Cell Programming Guide], IBM
*[http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/9F820A5FFA3ECE8C8725716A0062585F/$file/CBE_Handbook_v1.1_24APR2007_pub.pdf Cell Programming Guide], IBM
Line 15: Line 43:


=== Programming ===
=== Programming ===
*Abraham Arevalo, Ricardo M. Matinata, Maharaja Pandian, Eitan Peri, Kurtis Ruby, Francois Thomas, Chris Almond. [http://www.redbooks.ibm.com/abstracts/sg247575.html Programming the Cell Broadband Engine™ Architecture Examples and Best Practices]. IBM Redbooks, August 2008.
*Yang Pu, Cheng Long, Rui Jianhua. [http://www.ibm.com/developerworks/library/pa-appport/ Porting practices: Compute-intensive applicationsThese practices can help when you want to bring a compute-intensive application to the Cell/B.E. architecture]. IBM developerWorks 19 Jun 2007.
*[http://www.ibm.com/developerworks/linux/library/pa-linuxps3-1/index.html?ca=drs- Installing Yellowdog Linux on PS3]
*[http://www.ibm.com/developerworks/linux/library/pa-linuxps3-1/index.html?ca=drs- Installing Yellowdog Linux on PS3]
*[http://www.ibm.com/developerworks/linux/library/pa-linuxps3-1/index.html?ca=drs- Programming high-performance applications on the Cell BE processor, Part 1: An introduction to Linux on the PLAYSTATION 3]
*[http://www.ibm.com/developerworks/linux/library/pa-linuxps3-1/index.html?ca=drs- Programming high-performance applications on the Cell BE processor, Part 1: An introduction to Linux on the PLAYSTATION 3]
Line 22: Line 52:
*[http://www.ibm.com/developerworks/library/pa-linuxps3-5/ Programming high-performance applications on the Cell BE processor, Part 5: Programming the SPU in C/C++]
*[http://www.ibm.com/developerworks/library/pa-linuxps3-5/ Programming high-performance applications on the Cell BE processor, Part 5: Programming the SPU in C/C++]
*[http://www.ibm.com/developerworks/library/pa-linuxps3-6/ Programming high-performance applications on the Cell/B.E. processor, Part 6: Smart buffer management with DMA transfers]
*[http://www.ibm.com/developerworks/library/pa-linuxps3-6/ Programming high-performance applications on the Cell/B.E. processor, Part 6: Smart buffer management with DMA transfers]
=== XL Compiler (xlc) ===
*[http://www.capitalware.biz/aix_cplusplus_options.html compiler flags]
:<code>-qcompact</code>: Reduce code size where possible, at the expense of execution speed.  Code size is reduced by inhibiting optimizations that replicate or expand code inline.
=== Altivec vs. SPU Intrinsics ===
*[http://gcc.gnu.org/svn/gcc/trunk/gcc/config/spu/vmx2spu.h vmx2spu.h], c++ file overloading for altivec->SPU conversion
*Vipin SachdevaCorresponding, Michael Kistlera, Evan Speighta, and Tzy-Hwa Kathy Tzenga. [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V12-4SHVSPY-1&_user=56861&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000059542&_version=1&_urlVersion=0&_userid=56861&md5=7cc5b7bdd173f4c4259df8d8f6667ba8 "Exploring the viability of the Cell Broadband Engine for bioinformatics applications"]. aIBM Future Technology Solution Design Center, IBM Systems and Technology Group, Indianapolis, IN, Austin, TX Poughkeepsie, NY, United States.  17 May 2008.
:-The vmx2spu.h file in the Cell/B.E. SDK provides SPU implementations for all the Altivec intrinsics that do not have a corresponding SPU intrinsic.


=== Software/Development ===
=== Software/Development ===

Latest revision as of 03:00, 29 December 2010

Georgia Tech

Assembly Programming

Optimization

Other Resources

Sony

IBM

-Stack management

Training

Programming

XL Compiler (xlc)

-qcompact: Reduce code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline.


Altivec vs. SPU Intrinsics

-The vmx2spu.h file in the Cell/B.E. SDK provides SPU implementations for all the Altivec intrinsics that do not have a corresponding SPU intrinsic.

Software/Development

Hardware

Profiling

Articles

General/Architecture

-"Cell will probably consume around 30 watts of power, similar to the Emotion Engine processor in the PlayStation 2"

High Performance Computing Application

-S. Williams, J. Shalf, L. Oliker, S. Kamil, P. Husbands, K. Yelick, "The Potential of the Cell Processor for Scientific Computing", ACM, May 2006

Media Application

-TOSHIBA Corporation, JAPAN

Real Time Application

Other Applications


Last printed: 2.7