1 / 30

Introduction to Cell Programming

Introduction to Cell Programming. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology. Cell Programming link on sti.cc.gatech.edu. Image contains VI, Kate, Kedit, eclipse, but no emacs???. Running the VMWare workshop image.

keelyl
Download Presentation

Introduction to Cell Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Cell Programming Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology

  2. Cell Programming link on sti.cc.gatech.edu Image contains VI, Kate, Kedit, eclipse, but no emacs???

  3. Running the VMWare workshop image You can get the full version of VMWare from OIT

  4. Starting the simulator GUI

  5. Set everything to Fast

  6. Starting the simulator

  7. Running Simple Hello Worlds

  8. Running Synergistic Hello Worlds

  9. Fill out this today! Read this!!! CellBuzz Cluster link on sti.cc.gatech.edu

  10. Using CellBuzz • ssh to cell-user.cc.gt.atl.ga.us • Use passwd to change your password • cell-user is not a Cell machine; do not try to run your Cell programs on it! • Request interactive session: qsub –I • Can sftp your executables to CellBuzz from the Fedora Core image • See CellBuzz users guide about submitting batch jobs

  11. hello_ppu Makefile hello_ppu.c

  12. hello_spu Makefile hello_spu.c

  13. hello_be1 – sync version

  14. Synergistic PPE and SPE • Applications use software constructs called SPE contexts to manage and control SPEs • Linux schedules SPE contexts from all running applications onto the physical SPE resources in the system for execution according to the scheduling priorities and policies associated with the runable SPE contexts • libspe provides the means for communication and data transfer between PPE threads and SPEs Slide from IBM Presentation, “Hands-on – The Hello World! Program”

  15. How does a PPE program start an SPE thread? 4 basic steps must be done by the PPE program: • Create an SPE context • Load an SPE executable object into the SPE context local store • Run the SPE context • This transfers control to the operating system, which requests the actual scheduling of the context onto a physical SPE in the system. • Destroy the SPE context. Slide from IBM Presentation, “Hands-on – The Hello World! Program”

  16. hello_be1 – sync version – spu code Makefile hello_spu.c (for the hello_be1 example)

  17. hello_be1 – sync version – ppu code (1) Makefile hello_be1.c

  18. hello_be1 – sync version – ppu code (2)

  19. hello_be1 – sync version – ppu code (3)

  20. hello_be1 – async version – spu code Makefile (same as for sync version) hello_spu.c (for the hello_be1 example)

  21. hello_be1 – async version – ppu code (1) Makefile hello_be1.c

  22. hello_be1 – async version – ppu code (2)

  23. hello_be1 – async version – ppu code (3)

  24. hello_be1 – async version – ppu code (4)

  25. simple-multispu/simple – spu code Makefile simple_spu.c

  26. simple-multispu/simple – ppu code (1) Makefile simple.c

  27. simple-multispu/simple – ppu code (2)

  28. simple-multispu/simple – ppu code (3)

  29. simple-multispu/simple – ppu code (4)

  30. simple-multispu/simple - let’s run it!

More Related