|
|
| + | == 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] |
Exception encountered, of type "Error"