Difference between revisions of "Cell Broadband Engine"

From esoterum.org
Jump to: navigation, search
(New page: *[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])
 
(Georgia Tech)
 
(102 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
== Georgia Tech ==
 +
*[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
 +
*[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.ibm.com/developerworks/power/cell/?S_TACT=105AGX16&S_CMP=HP IBM Cell reference documentation]
 +
*[http://www.power.org/resources/devcorner/cellcorner/ Power.org CBE development resources]
 +
 +
=== 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-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 ===
 +
*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- Programming high-performance applications on the Cell BE processor, Part 1: An introduction to Linux on the PLAYSTATION 3]
 +
*[http://www.ibm.com/developerworks/power/library/pa-linuxps3-2/index-a4.pdf Programming high-performance applications on the Cell BE processor, Part 2: Program the synergistic processing elements of the Sony PLAYSTATION 3]
 +
*[http://www.ibm.com/developerworks/power/library/pa-linuxps3-3/index.html?S_TACT=105AGX16&S_CMP=EDU Programming high-performance applications on the Cell BE processor, Part 3: Meet the synergistic processing unit]
 +
*[http://www.ibm.com/developerworks/power/library/pa-linuxps3-4/index.html?S_TACT=105AGX16&S_CMP=EDU Programming high-performance applications on the Cell BE processor, Part 4: Program the SPU for performance]
 +
*[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]
 +
 +
=== 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 ===
 +
*[http://www.ibm.com/developerworks/power/cell/downloads.html?S_TACT=105AGX16&S_CMP=HP IBM Cell SDK Downloads]
 +
*[http://www.linuxdevices.com/news/NS8620812400.html "Linux patches, tools support Cell Processor evaluation"]
 +
*[http://www.ibm.com/developerworks/power/library/pa-celldebug/ Debugging Cell Broadband Engine systems Essential tools and techniques for the Cell BE software developer]
 +
*[http://www.cellperformance.com/articles/2006/06/a_4x4_matrix_inverse_1.html Matrix Inverse Application]
 +
*[http://www.research.ibm.com/journal/sj/451/ohara.pdf MPI microtask for programming the Cell Broadband Engine processor]
 +
*[http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/0AA2394A505EF0FB872570AB005BF0F1/$file/GSPx_FFT_paper_legal_0115.pdf A Programming Example: Large FFT on the Cell Broadband Engine]
 +
 +
=== Hardware ===
 +
*[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 ==
 +
*'''[http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/search/searchresult.jsp?SortField=Score&SortOrder=desc&ResultCount=25&maxdoc=100&coll1=ieeejrns&coll2=ieejrns&coll3=ieeecnfs&coll4=ieecnfs&coll5=ieeestds&coll6=preprint&coll7=books&coll8=modules&srchres=0&isonlybook=yes&history=yes&queryText=%28cell+processor%3CIN%3Emetadata%29&oldqrytext=%28%28ibm+cell+processor%29%3Cin%3Emetadata%29&radiobutton=cit IEEE Search on Cell Processor]'''
 +
*'''[http://domino.research.ibm.com/comm/research_projects.nsf/pages/cellcompiler.refs.html External papers from the IBM web site]'''
 +
 +
=== General/Architecture ===
 +
*> (2.1) D.C. Pham, T. Aipperspach, D. Boerstler, M. Bolliger, R. Chaudhry, D. Cox, P. Harvey, P.M. Harvey, H.P. Hofstee, C. Johns, J. Kahle, A. Kameyama, J. Keaty, Y. Masubuchi, M. Pham, J. Pille, S. Posluszny, M. Riley, D.L. Stasiak, M. Suzuoki, O. Takahashi, J. Warnock, S. Weitzel, D. Wendel, K. Yazawa,  [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/4/33202/01564359.pdf?tp=&arnumber=1564359&isnumber=33202 "Overview of the architecture, circuit design, and physical implementation of a first-generation cell processor"], Technol. Group, IBM Syst., Austin, TX, USA, IEEE Journal of Solid-State Circuits, Volume: 41 , Issue: 1, pp. 179-196, Jan. 2006 (originally forwarded by Dr. Chatha)
 
*[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
 +
*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
 +
*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"
 +
*(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 ===
 +
*> (2.2) A. Buttari, P. Luszczek, J. Kurzak, J. Dongarra, G. Bosilca, [http://www.netlib.org/utk/people/JackDongarra/PAPERS/scop3.pdf "A Rough Guide to Scientific Computing On the PlayStation 3"], Technical Report UT-CS-07-595, Innovative Computing Laboratory, University of Tennessee Knoxville, May 11, 2007
 +
*[http://www.hpcwire.com/hpc/671376.html "Researchers Analyze HPC Potential of Cell Processor"], HPC Wire, 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
 +
*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
 +
 +
=== 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
 +
* [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
 +
*(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 ===
 +
*S. Maeda, S. Asano, T. Shimada, K. Awazu, H. Tago, [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/40/32640/01528453.pdf?tp=&arnumber=1528453&isnumber=32640 "A real-time software platform for the Cell processor"], Toshiba Corp., Japan, Micro, IEEE, Volume: 25 , Issue: 5, pp. 20-29, Sept.-Oct. 2005
 +
*Seiji Maeda, Sigehiro Asano, Tomofumi Shimada, Koichi Awazu, Haruyuki Tago, [http://ieeexplore.ieee.org.ezproxy1.lib.asu.edu/iel5/40/32640/01528453.pdf?tp=&arnumber=1528453&isnumber=32640 "A Real-Time Software Platform for the Cell Processor"], IEEE, 2005
 +
 +
=== Other Applications ===
 +
* [http://researchweb.watson.ibm.com/journal/rd/515/flachs.pdf Microarchitecture and implementation of the synergistic processor in 65-nm and 90-nm SOI]
 +
 +
 +
<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