Day2-14_CellProgrammingTips&Techniques-SDK30

Day2-14_CellProgrammingTips&Techniques-SDK30 - IBM...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
Cell Programming Workshop 3/2/2008 © 2007 IBM Corporation 1 Cell Programming Workshop Cell/Quasar Ecosystem & Solutions Enablement
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Systems and Technology Group 3/2/2008 Cell Programming Workshop 2 Class Objectives – Things you will learn ! Key programming techniques to exploit cell hardware organization and language features for SPE SIMD Trademarks - Cell Broadband Engine and Cell Broadband Engine Architecture are trademarks of Sony Computer Entertainment, Inc.
Background image of page 2
Systems and Technology Group 3/2/2008 Cell Programming Workshop 3 Class Agenda ! SPU Programming Tips Level of Programming (Assembler, Intrinsics, Auto- Vectorization) Overlap DMA with computation (double, multiple buffering) Dual Issue rate (Instruction Scheduling) Design for limited local store Branch hints or elimination Loop unrolling and pipelining Integer multiplies (avoid 32-bit integer multiplies) Avoid scalar code Choose the right SIMD strategy Load / Store only by quadword ! SIMD Programming Tips
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Systems and Technology Group 3/2/2008 Cell Programming Workshop 4 SPU Programming Tips
Background image of page 4
Systems and Technology Group 3/2/2008 Cell Programming Workshop 5 SPU Programming Tips ! Level of Programming (Assembler, Intrinsics, Auto-Vectorization) ! Overlap DMA with computation (double, multiple buffering) ! Dual Issue rate (Instruction Scheduling) ! Design for limited local store ! Branch hints or elimination ! Loop unrolling and pipelining ! Integer multiplies (avoid 32-bit integer multiplies) ! Avoid scalar code ! Choose the right SIMD strategy ! Load / Store only by quadword
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Systems and Technology Group 3/2/2008 Cell Programming Workshop 6 Programming Levels on Cell BE ! Expert level Assembler, high performance, high efforts ! More ease of programming C compiler, vector data types, intrinsics, compiler schedules instructions + allocates registers ! Auto-SIMDization for scalar loops, user should support by alignment directives, compiler provides feedback about SIMDization ! Highest degree of ease of use user-guided parallelization necessary, Cell BE looks like a single processor Trade-Off Performance vs. Effort Requirements for Compiler increasing with each level
Background image of page 6
Systems and Technology Group 3/2/2008 Cell Programming Workshop 7 Overlap DMA with computation ! Double or multi-buffer code or (typically) data ! Example for double buffering n+1 data blocks: Use multiple buffers in local store Use unique DMA tag ID for each buffer Use fence commands to order DMAs within a tag group Use barrier commands to order DMAs within a queue
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Systems and Technology Group 3/2/2008 Cell Programming Workshop 8 Start DMAs from SPU ! Use SPE-initiated DMA transfers rather than PPE- initiated DMA transfers, because there are more SPEs than the one PPE the PPE can enqueue only eight DMA requests whereas each SPE can enqueue 16
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 10/03/2011 for the course CDA 6938 taught by Professor Zou,c during the Spring '08 term at University of Central Florida.

Page1 / 44

Day2-14_CellProgrammingTips&Techniques-SDK30 - IBM...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online