Cell Broadband Engine: Difference between revisions

From esoterum.org
Jump to navigationJump to search
No edit summary
 
(47 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Motivation for SDR implementation:''' What makes the IBM Cell a good candidate for an SDR implementation?
== Georgia Tech ==
*Can we get the power low enough for the processor to be feasible for handheld devices?
*[http://wiki.cc.gatech.edu/cellbuzz/index.php/User_Guide Cell Buzz User Guide]
*Does context switching give us an advantage?
*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


== IBM ==  
== 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
*[http://www.research.ibm.com/cell/ The Cell project at IBM]
*[http://www.research.ibm.com/cell/ The Cell project at IBM]
*[http://www.research.ibm.com/cell/cell_programming.html Cell programming projects]
*[http://www.research.ibm.com/cell/cell_programming.html Cell programming projects]
Line 10: Line 33:
*[http://www.power.org/resources/devcorner/cellcorner/ Power.org CBE development resources]
*[http://www.power.org/resources/devcorner/cellcorner/ Power.org CBE development resources]


== Training ==  
=== Training ===
*[http://ibmur.hust.edu.cn/Cell/Power_org%20-%20Cell%20Training%20Series%20-%20Track%201.htm Training Series targeted to IBM employees]
*[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-01.ibm.com/chips/techlib/techlib.nsf/techdocs/9F820A5FFA3ECE8C8725716A0062585F/$file/CBE_Handbook_v1.1_24APR2007_pub.pdf Cell Programming Guide], IBM
*[http://ibmur.hust.edu.cn/Cell/Power_org%20-%20Cell%20Training%20Series%20-%20Track%201.htm Training Series targeted for IBM employees]
*[http://www.power.org/resources/reading/ Power Architecture] recommended reading
*[http://sti.cc.gatech.edu/programming.html Training videos from Georgia Tech]


=== 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 21: 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 ===
Line 32: Line 73:
=== Hardware ===
=== Hardware ===
*[http://www-03.ibm.com/technology/splash/qs20/pdf/qs20_datasheet.pdf IBM BladeCenter QS20, Server implementing Cell Broadband Architecture]
*[http://www-03.ibm.com/technology/splash/qs20/pdf/qs20_datasheet.pdf IBM BladeCenter QS20, Server implementing Cell Broadband Architecture]
*[http://www.mc.com/products/boards/accelerator_board2.aspx Mercury Cell Accelerator board 2]
=== Profiling ===
*[http://www.ibm.com/developerworks/systems/library/es-oprofile/index.html OProfile on Power PC]


== Articles ==
== Articles ==
Line 41: Line 86:
*[http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/4076298/4076299/04076300.pdf?tp=&arnumber=4076300&isnumber=4076299 CODES+ISSS 2007 Tutorial summary on Cell Processor]
*[http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/4076298/4076299/04076300.pdf?tp=&arnumber=4076300&isnumber=4076299 CODES+ISSS 2007 Tutorial summary on Cell Processor]
*Kahle, J., [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/10341/32904/01540943.pdf?tp=&arnumber=1540943&isnumber=32904 "The Cell Processor Architecture"], IBM, MICRO-38. 38th Annual IEEE/ACM International Symposium on Microarchitecture, 12-16 Nov. 2005
*Kahle, J., [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/10341/32904/01540943.pdf?tp=&arnumber=1540943&isnumber=32904 "The Cell Processor Architecture"], IBM, MICRO-38. 38th Annual IEEE/ACM International Symposium on Microarchitecture, 12-16 Nov. 2005
*M. Day, P.   Hofstee, [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/4076298/4076299/04076300.pdf?tp=&arnumber=4076300&isnumber=4076299 "Hardware and software architectures for the CELL processor"], IBM Systems&Technology Group, Austin, TX, Hardware/Software Codesign and System Synthesis, CODES+ISSS, Sept. 2005
*M. Day, P. Hofstee, [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/4076298/4076299/04076300.pdf?tp=&arnumber=4076300&isnumber=4076299 "Hardware and software architectures for the CELL processor"], IBM Systems&Technology Group, Austin, TX, Hardware/Software Codesign and System Synthesis, CODES+ISSS, Sept. 2005
*D. Stasiak, R. Chaudhry, D. Cox, S. Posluszny, J. Warnock, S. Weitzel, D. Wendel, M. Wang, [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/40/33228/01566559.pdf?tp=&arnumber=1566559&isnumber=33228 "Cell processor low-power design methodology"] Syst. & Technol. Group, IBM Corp., Austin, TX, USA, Micro, IEEE, Volume: 25 , Issue: 6 pp. 71-78, Nov.-Dec. 2005
*D. Stasiak, R. Chaudhry, D. Cox, S. Posluszny, J. Warnock, S. Weitzel, D. Wendel, M. Wang, [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/40/33228/01566559.pdf?tp=&arnumber=1566559&isnumber=33228 "Cell processor low-power design methodology"] Syst. & Technol. Group, IBM Corp., Austin, TX, USA, Micro, IEEE, Volume: 25 , Issue: 6 pp. 71-78, Nov.-Dec. 2005
*Tom Krazit, [http://www.pcworld.com/article/id,119602-page,1/article.html "IBM, Sony, Toshiba Unveil Nine-Core Cell Processor"], IDG News Service, February 07, 2005
*Tom Krazit, [http://www.pcworld.com/article/id,119602-page,1/article.html "IBM, Sony, Toshiba Unveil Nine-Core Cell Processor"], IDG News Service, February 07, 2005
:-"Cell will probably consume around 30 watts of power, similar to the Emotion Engine processor in the PlayStation 2"
:-"Cell will probably consume around 30 watts of power, similar to the Emotion Engine processor in the PlayStation 2"
*(2.4) A. E. Eichenberger, K. O’Brien, K. O’Brien, P. Wu, T. Chen, Pe. H. Oden, D. A. Prener, J. C. Shepherd, B. So, Z. Sura, A. Wang, T. Zhang, P. Zhao, M. Gschwind, [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/10156/32464/01515590.pdf?tp=&arnumber=1515590&isnumber=32464 "Optimizing Compiler for a CELL Processor"], Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques, 2005
*(2.4) A. E. Eichenberger, K. O’Brien, K. O’Brien, P. Wu, T. Chen, Pe. H. Oden, D. A. Prener, J. C. Shepherd, B. So, Z. Sura, A. Wang, T. Zhang, P. Zhao, M. Gschwind, [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/10156/32464/01515590.pdf?tp=&arnumber=1515590&isnumber=32464 "Optimizing Compiler for a CELL Processor"], Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques, 2005
*David Krolak, [http://www.ibm.com/developerworks/power/library/pa-fpfeib/?ca=dgr-lnxwCellEIB "Just like being there: Papers from the Fall Processor Forum 2005: Unleashing the Cell Broadband Engine Processor: The Element Interconnect Bus"], IBM, 29 Nov 2005


=== High Performance Computing Application ===
=== High Performance Computing Application ===
Line 52: Line 98:
:-S. Williams, J. Shalf, L. Oliker, S. Kamil, P. Husbands, K. Yelick, [http://www.cs.berkeley.edu/~samw/projects/cell/CF06.pdf "The Potential of the Cell Processor for Scientific Computing"], ACM, May 2006
:-S. Williams, J. Shalf, L. Oliker, S. Kamil, P. Husbands, K. Yelick, [http://www.cs.berkeley.edu/~samw/projects/cell/CF06.pdf "The Potential of the Cell Processor for Scientific Computing"], ACM, May 2006
*D. A. Bader, V. Agarwal, K. Madduri, [http://www.power.org/resources/devcorner/cellcorner/ListRankCell-PID343074.pdf "On the Design and Analysis of Irregular Algorithms on the Cell Processor: A Case Study of List Ranking"], IEEE, 2007
*D. A. Bader, V. Agarwal, K. Madduri, [http://www.power.org/resources/devcorner/cellcorner/ListRankCell-PID343074.pdf "On the Design and Analysis of Irregular Algorithms on the Cell Processor: A Case Study of List Ranking"], IEEE, 2007
*David A. Bader, Virat Agarwal, [http://www.cc.gatech.edu/~bader/papers/FFTC-HiPC2007.pdf "BFFTC: Fastest Fourier Transform for the IBM Cell Broadband Engine"], High Performance Computing – HiPC 2007, pp. 172-184, 2007
*S. Williams, J. Shalf, L. Oliker, S. Kamil, P. Husbands, K. Yelick, [http://bebop.cs.berkeley.edu/pubs/williams2007-scicomp-cell.pdf Scientific Computing Kernels on the Cell Processor], International Journal of Parallel Programming, 2007
*S. Williams, J. Shalf, L. Oliker, S. Kamil, P. Husbands, K. Yelick, [http://bebop.cs.berkeley.edu/pubs/williams2007-scicomp-cell.pdf Scientific Computing Kernels on the Cell Processor], International Journal of Parallel Programming, 2007


=== Media Application ===
=== Media Application ===
*[http://sourceforge.net/projects/cell-h264/ cell-h264 project at Sourceforge]
*(2.3) L. Liu, Q. Liu, A. Natsev, K. A. Ross, J. R. Smith, A. L. Varbanescu, [http://www.power.org/resources/devcorner/cellcorner/ICMEConf2007_MarCell.pdf "Digital Media Indexing on the Cell Processor"], ICME, 2007
*(2.3) L. Liu, Q. Liu, A. Natsev, K. A. Ross, J. R. Smith, A. L. Varbanescu, [http://www.power.org/resources/devcorner/cellcorner/ICMEConf2007_MarCell.pdf "Digital Media Indexing on the Cell Processor"], ICME, 2007
* [http://www.mc.com/uploadedFiles/Mercury-IPV-whitepaper.pdf The Cell BE Processor: A Broadband Engine for Broadcast Applications]
* [http://www.mc.com/uploadedFiles/Mercury-IPV-whitepaper.pdf The Cell BE Processor: A Broadband Engine for Broadcast Applications]
*N. Kato, K. Takeuchi, S. Maeda, M. Shimbayashi, R. Sakai, H. Nozue, J. Amemiya, [http://ieeexplore.ieee.org/iel5/10651/33618/01598453.pdf?arnumber=1598453 Digital Media Applications on A CELL Software Platform], Toshiba Corporation, IEEE, 2006
*N. Kato, K. Takeuchi, S. Maeda, M. Shimbayashi, R. Sakai, H. Nozue, J. Amemiya, [http://ieeexplore.ieee.org/iel5/10651/33618/01598453.pdf?arnumber=1598453 Digital Media Applications on A CELL Software Platform], Toshiba Corporation, IEEE, 2006
*(2.5) Nobuhiro KATO, Kazuaki TAKEUCHI, Seiji MAEDA, Mitsuru SHIMBAYASHI, Ryuji SAKAI, Hiroshi NOZUE and Jiro AMEMIYA, [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/10651/33618/01598453.pdf?tp=&arnumber=1598453&isnumber=33618 Digital Media Applications on A CELL Software Platform], International Conference on Consumer Electronics, 2006. ICCE '06. 2006 Digest of Technical Papers. 7-11 Jan. 2006 Page(s):347 - 348
:-TOSHIBA Corporation, JAPAN
*(2.6) Ashish Jagmohan, Brent Paulovicks, Vadim Sheinin, Hangu Yeo, [http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/B5A1F97CAB641365872570AB00594459/$file/1998_IBM_H264.pdf H.264 Video Encoding Algorithm on Cell Broadband Engine], Department of Multimedia Technologies, IBM TJ Watson Research
*(2.7) Lurng-Kuo Liu, Sreeni Kesavarapu, Jonathan Connell, Ashish Jagmohan, Lark-hoon Leem, Brent Paulovicks, Vadim Sheinin, Lijung Tang, Hangu Yeo [http://ieeexplore.ieee.org/iel5/4036509/4036510/04036528.pdf?tp=&isnumber=&arnumber=4036528 Video Analysis and Compression on the STI Cell Broadband Engine Processor], IEEE, ICME 2006


=== Real Time Application ===
=== Real Time Application ===
Line 67: Line 119:




<code>Last printed: 2.4</code>
<code>Last printed: 2.7</code>

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