Difference between revisions of "Cell Devel Nodes"

From oldwiki.scinet.utoronto.ca
Jump to navigation Jump to search
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Infobox Computer
 
{{Infobox Computer
 
|image=[[Image:300px-Cell_Broadband_Engine_Processor.jpg|center|300px|thumb]]
 
|image=[[Image:300px-Cell_Broadband_Engine_Processor.jpg|center|300px|thumb]]
|name=Cell Development Cluster
+
|name=Cell Development
 
|installed=June 2010
 
|installed=June 2010
 
|operatingsystem= Linux
 
|operatingsystem= Linux
Line 12: Line 12:
 
}}
 
}}
  
The Cell Development Cluster is a technology evaluation cluster with a combination of 14 IBM PowerXCell 8i "Cell" nodes and 8 Intel x86_64 "Nehalem" nodes.
+
''' NOTE: THIS SYSTEM IS NO LONGER AVAILABLE '''
The QS22's each have two 3.2GHz "IBM PowerXCell 8i CPU's, where each CPU has 1 Power Processing Unit (PPU) and 8 Synergistic Processing Units (SPU), and
 
32GB of RAM per node. The Intel nodes have two 2.53GHz 4core Xeon X5550 CPU's with 48GB of RAM per node. 
 
  
 +
The Cell Development nodes are IBM QS22's each with two 3.2GHz "IBM PowerXCell 8i CPU's, where each CPU has 1 Power Processing Unit (PPU) and 8 Synergistic Processing Units (SPU), and
 +
32GB of RAM per node.
 
===Login===
 
===Login===
  
First login via ssh with your scinet account at <tt>login.scinet.utoronto.ca</tt>, and from there you can proceed to <tt>cell-srv01</tt> which  
+
First login via ssh with your scinet account at '''<tt>login.scinet.utoronto.ca</tt>''', and from there you can proceed to '''<tt>arc01</tt>''' which  
 
is currently the gateway machine.
 
is currently the gateway machine.
  
===Compile/Devel/Compute Nodes===
+
==Compile/Devel/Compute Nodes==
  
Currently you can log into any of 12 nodes <tt>blade03..blade14</tt> directly to compile/test/run your code.
+
=== Cell ===
 
+
You can log into any of 12 nodes '''<tt>blade[03-14]</tt>''' directly to compile/test/run Cell
===Local Disk===
+
specific or OpenCL codes.
 
 
This test cluster currently cannot see the global <tt>/home</tt> and <tt>/scratch</tt> space so you will have to copy (scp,etc..) your code to a separate local
 
<tt>/home</tt> dedicated for this cluster.
 
  
 
==Programming Frameworks==
 
==Programming Frameworks==
  
Currently there are two programming frameworks to use.  The Cell SDK is the most full featured and "supported" but is architecture specific, whereas the OpenCL  
+
Currently there are two programming frameworks to use.  The Cell SDK is the most full featured and "supported" but is architecture specific, whereas the OpenCL should allow code portability to other accelerators (like GP-GPU's) however is from IBM alphaworks so should be considered beta.
is from IBM alphaworks but does allow code portability.
 
  
 
=== OpenCL ===
 
=== OpenCL ===
  
Examples for now are in
+
Examples are in
 
<pre>
 
<pre>
~northrup/OpenCL
+
/usr/share/doc/OpenCL-0.1-ibm
 
</pre>
 
</pre>
  
Line 49: Line 45:
 
</pre>
 
</pre>
  
==Compilers==
+
===Compilers===
 +
 
 +
NOTE: gcc has been replaced, use ppu-gcc for most cases where gcc whould be used
  
* '''ppu-gcc''' -- GNU GCC PowerPC compiler
+
* '''ppu-gcc''' -- GNU GCC PPC compiler
 
   
 
   
 
* '''spu-gcc''' -- GNU GCC SPU compiler
 
* '''spu-gcc''' -- GNU GCC SPU compiler
  
 
* '''xlcl''' -- IBM XL OpenCL compiler
 
* '''xlcl''' -- IBM XL OpenCL compiler
 +
 +
===MPI===
 +
 +
Still a work in progress.
 +
  
 
== Documentation ==
 
== Documentation ==
 
* Cell SDK
 
* Cell SDK
** Programming:[http://support.scinet.utoronto.ca/Manuals/Cell/
+
** Programming:[http://support.scinet.utoronto.ca/Manuals/Cell/CBE_Programmers_Guide_v3.1.pdf CBE Programmers Guide],[http://support.scinet.utoronto.ca/Manuals/Cell/CBE_Handbook_v1.1_24APR2007_pub.pdf CBE Handbook],[http://support.scinet.utoronto.ca/Manuals/Cell/CBE_Programming_Tutorial_v3.1.pdf CBE Programming Tutorial],[http://support.scinet.utoronto.ca/Manuals/Cell/CellBE_PXCell_Handbook_v1.11_12May08_pub.pdf CBE PXCell Handbook],[http://support.scinet.utoronto.ca/Manuals/Cell/Performance_Tools_Reference_v3.1.pdf Performance Tools Reference],[http://support.scinet.utoronto.ca/Manuals/Cell/IDE_Users_Guide_v3.1.pdf IDE Users Guide]
 
** Libraries:[http://support.scinet.utoronto.ca/Manuals/Cell/3D_FFT_Prog_Guide_and_API_Reference.pdf 3D FFT],[http://support.scinet.utoronto.ca/Manuals/Cell/libFFT_Prog_Guide_API_v3.1.pdf libFFT],[http://support.scinet.utoronto.ca/Manuals/Cell/ALF_Prog_Guide_API_v3.1.pdf ALF],[http://support.scinet.utoronto.ca/Manuals/Cell/BLAS_Prog_Guide_API_v3.1.pdf BLAS],[http://support.scinet.utoronto.ca/Manuals/Cell/CBE_SIMDmath_API_v3.1.pdf SIMD Math API],[http://support.scinet.utoronto.ca/Manuals/Cell/DaCS_Prog_Guide_API_v3.1.pdf DaCS],[http://support.scinet.utoronto.ca/Manuals/Cell/LAPACK_Prog_Guide_API_v3.1.pdf LAPACK],[http://support.scinet.utoronto.ca/Manuals/Cell/Monte_Carlo_Prog_Guide_API_v3.1.pdf Monte Carlo],[http://support.scinet.utoronto.ca/Manuals/Cell/SDK_Example_Library_API_v3.1.pdf SDK Library Examples],[http://support.scinet.utoronto.ca/Manuals/Cell/SPE_Runtime_Management_API_v2.3.pdf SPE Runtime Management], [http://support.scinet.utoronto.ca/Manuals/Cell/SPE_Runtime_Management_Migration_v3.1.pdf SPE Runtime Migration],[http://support.scinet.utoronto.ca/Manuals/Cell/SPU_Runtime_Library_Extensions_v3.1.pdf SPE Runtime Library Ext.]
 
** Libraries:[http://support.scinet.utoronto.ca/Manuals/Cell/3D_FFT_Prog_Guide_and_API_Reference.pdf 3D FFT],[http://support.scinet.utoronto.ca/Manuals/Cell/libFFT_Prog_Guide_API_v3.1.pdf libFFT],[http://support.scinet.utoronto.ca/Manuals/Cell/ALF_Prog_Guide_API_v3.1.pdf ALF],[http://support.scinet.utoronto.ca/Manuals/Cell/BLAS_Prog_Guide_API_v3.1.pdf BLAS],[http://support.scinet.utoronto.ca/Manuals/Cell/CBE_SIMDmath_API_v3.1.pdf SIMD Math API],[http://support.scinet.utoronto.ca/Manuals/Cell/DaCS_Prog_Guide_API_v3.1.pdf DaCS],[http://support.scinet.utoronto.ca/Manuals/Cell/LAPACK_Prog_Guide_API_v3.1.pdf LAPACK],[http://support.scinet.utoronto.ca/Manuals/Cell/Monte_Carlo_Prog_Guide_API_v3.1.pdf Monte Carlo],[http://support.scinet.utoronto.ca/Manuals/Cell/SDK_Example_Library_API_v3.1.pdf SDK Library Examples],[http://support.scinet.utoronto.ca/Manuals/Cell/SPE_Runtime_Management_API_v2.3.pdf SPE Runtime Management], [http://support.scinet.utoronto.ca/Manuals/Cell/SPE_Runtime_Management_Migration_v3.1.pdf SPE Runtime Migration],[http://support.scinet.utoronto.ca/Manuals/Cell/SPU_Runtime_Library_Extensions_v3.1.pdf SPE Runtime Library Ext.]
 
+
** Architecure: [http://support.scinet.utoronto.ca/Manuals/Cell/CBEA_v1.01_3Oct2006.pdf CBEA],[http://support.scinet.utoronto.ca/Manuals/Cell/CBE_Public_Registers.v1_5.02APR2007.pdf CBEA Public Registers],[http://support.scinet.utoronto.ca/Manuals/Cell/PPC_Vers202_Book1_public.pdf PPC Book 1],[http://support.scinet.utoronto.ca/Manuals/Cell/PPC_Vers202_Book2_public.pdf PPC Book 2],[http://support.scinet.utoronto.ca/Manuals/Cell/PPC_Vers202_Book3_public.pdf PPC Book 3],[http://support.scinet.utoronto.ca/Manuals/Cell/SPU_ISA_v1.2_27Jan2007_pub.pdf SPU ISA]
 
+
** Standards:[http://support.scinet.utoronto.ca/Manuals/Cell/CBE_LINUX_ABI_1.2.pdf CBE Linux ABI],[http://support.scinet.utoronto.ca/Manuals/Cell/Language_Extensions_for_CBEA_2.6.pdf Language Extentsions],[http://support.scinet.utoronto.ca/Manuals/Cell/SIMD_Library_Specification_for_CBEA_1.2.pdf SIMD Library Specification],[http://support.scinet.utoronto.ca/Manuals/Cell/SPU_ABI-Specification_1.9.pdf SPU ABI Specification],[http://support.scinet.utoronto.ca/Manuals/Cell/SPU_Assembly_Language_Specification_1.7.pdf SPU Assembly Language Specification]
** Architecure: [http://support.scinet.utoronto.ca/Manuals/Cell/CBEA_v1.01_3Oct2006.pdf],[http://support.scinet.utoronto.ca/Manuals/Cell/CBE_Public_Registers.v1_5.02APR2007.pdf],[http://support.scinet.utoronto.ca/Manuals/Cell/PPC_Vers202_Book1_public.pdf],[http://support.scinet.utoronto.ca/Manuals/Cell/PPC_Vers202_Book2_public.pdf],[http://support.scinet.utoronto.ca/Manuals/Cell/PPC_Vers202_Book3_public.pdf],[http://support.scinet.utoronto.ca/Manuals/Cell/SPU_ISA_v1.2_27Jan2007_pub.pdf]
+
** Installation: [http://support.scinet.utoronto.ca/Manuals/Cell/SDK-Installation_Guide_v3.1.pdf Installation Guide]
** Standards:
 
** Installation: [http://support.scinet.utoronto.ca/Manuals/Cell/SDK-Installation_Guide_v3.1.pdf]
 
  
 
* Cell OpenCL
 
* Cell OpenCL
Line 71: Line 72:
  
 
== Further Info ==
 
== Further Info ==
Cell Broadband engine tutorials http://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/index.jsp
+
IBM Cell Broadband engine tutorials http://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/index.jsp
 +
 
 +
 
 +
== User Codes ==
 +
 
 +
Please discuss put any relevant information/problems/best practices you have encountered when using/developing for CELL and/or OpenCL
 +
 
 +
=== MHD ===
 +
 
 +
=== CFD ===

Latest revision as of 00:18, 18 September 2013

Cell Development
300px-Cell Broadband Engine Processor.jpg
Installed June 2010
Operating System Linux
Interconnect Infiniband
Ram/Node 32 Gb
Cores/Node 2 PPU + 16 SPU
Login/Devel Node cell-srv01 (from login.scinet)
Vendor Compilers ppu-gcc, spu-gcc

NOTE: THIS SYSTEM IS NO LONGER AVAILABLE

The Cell Development nodes are IBM QS22's each with two 3.2GHz "IBM PowerXCell 8i CPU's, where each CPU has 1 Power Processing Unit (PPU) and 8 Synergistic Processing Units (SPU), and 32GB of RAM per node.

Login

First login via ssh with your scinet account at login.scinet.utoronto.ca, and from there you can proceed to arc01 which is currently the gateway machine.

Compile/Devel/Compute Nodes

Cell

You can log into any of 12 nodes blade[03-14] directly to compile/test/run Cell specific or OpenCL codes.

Programming Frameworks

Currently there are two programming frameworks to use. The Cell SDK is the most full featured and "supported" but is architecture specific, whereas the OpenCL should allow code portability to other accelerators (like GP-GPU's) however is from IBM alphaworks so should be considered beta.

OpenCL

Examples are in

/usr/share/doc/OpenCL-0.1-ibm

Cell SDK

Demos, examples, and build details available in

/opt/cell/sdk/

Compilers

NOTE: gcc has been replaced, use ppu-gcc for most cases where gcc whould be used

  • ppu-gcc -- GNU GCC PPC compiler
  • spu-gcc -- GNU GCC SPU compiler
  • xlcl -- IBM XL OpenCL compiler

MPI

Still a work in progress.


Documentation

Further Info

IBM Cell Broadband engine tutorials http://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/index.jsp


User Codes

Please discuss put any relevant information/problems/best practices you have encountered when using/developing for CELL and/or OpenCL

MHD

CFD