Introduction to Cell Programming

Slides:



Advertisements
Similar presentations
Parallel Processing with PlayStation3 Lawrence Kalisz.
Advertisements

First there was batch Serial processing Waiting jobs sit on a job queue until they can be processed Things processed in first-in first-out order (FIFO)
Operating System.
A Seamless Communication Solution for Hybrid Cell Clusters Natalie Girard Bill Gardner, John Carter, Gary Grewal University of Guelph, Canada.
CCPR Workshop Lexis Cluster Introduction October 19, 2007 David Ash.
Development of a Ray Casting Application for the Cell Broadband Engine Architecture Shuo Wang University of Minnesota Twin Cities Matthew Broten Institute.
CS444/CS544 Operating Systems Threads Introduction to CPU Scheduling 2/02/2006 Prof. Searleman
W6D2. Software Computer (hardware) Add 20,22,34.
0 HPEC 2010 Automated Software Cache Management.
HPCC Mid-Morning Break Interactive High Performance Computing Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery.
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 4P. 1Winter Quarter Introduction to UNIX.
Introduction to UNIX/Linux Exercises Dan Stanzione.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Research Computing with Newton Gerald Ragghianti Newton HPC workshop Sept. 3, 2010.
Introduction to HPC resources for BCB 660 Nirav Merchant
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
2INC0 Operating Systems Introduction to Linux
Exploiting Data Parallelism in SELinux Using a Multicore Processor Bodhisatta Barman Roy National University of Singapore, Singapore Arun Kalyanasundaram,
Processes and Threads CS550 Operating Systems. Processes and Threads These exist only at execution time They have fast state changes -> in memory and.
4.1 Advanced Operating Systems Desktop Scheduling You are running some long simulations. In the mean time, why not watch an illegally downloaded Simpsons.
E X C E E D I N G E X P E C T A T I O N S OP SYS Linux System Administration Dr. Hoganson Kennesaw State University Operating Systems Functions of an operating.
Kevin Eady Ben Plunkett Prateeksha Satyamoorthy.
HPC for Statistics Grad Students. A Cluster Not just a bunch of computers Linked CPUs managed by queuing software – Cluster – Node – CPU.
4-Nov-15 Air Force Institute of Technology Electrical and Computer Engineering Object-Oriented Programming Design Topic 1: The Java Environment Maj Joel.
Group May Bryan McCoy Kinit Patel Tyson Williams.
Operating Systems Scheduling. Bursts of CPU usage alternate with periods of waiting for I/O. (a) A CPU-bound process. (b) An I/O-bound process. Scheduling.
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science Computer Systems Principles Introduction Emery Berger and Mark Corner University.
Faucets Queuing System Presented by, Sameer Kumar.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Running Parallel Jobs Cray XE6 Workshop February 7, 2011 David Turner NERSC User Services Group.
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
Introduction to HPC Workshop October Introduction Rob Lane & The HPC Support Team Research Computing Services CUIT.
Multimodal SIG © 2007 IBM Corporation Position Paper on W3C Workshop on Multimodal Architecture and Interfaces - Application control based on device modality.
Aarul Jain CSE520, Advanced Computer Architecture Fall 2007.
CCA Common Component Architecture CCA Forum Tutorial Working Group Contributors: Introduction to the Ccaffeine Framework.
Wouter Verkerke, NIKHEF 1 Using ‘stoomboot’ for NIKHEF-ATLAS batch computing What is ‘stoomboot’ – Hardware –16 machines, each 2x quad-core Pentium = 128.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
© 2011 Pittsburgh Supercomputing Center XSEDE 2012 Intro To Our Environment John Urbanic Pittsburgh Supercomputing Center July, 2012.
Grid Computing: An Overview and Tutorial Kenny Daily BIT Presentation 22/09/2016.
An Brief Introduction Charlie Taylor Associate Director, Research Computing UF Research Computing.
● Cell Broadband Engine Architecture Processor ● Ryan Layer ● Ben Kreuter ● Michelle McDaniel ● Carrie Ruppar.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Advanced Computing Facility Introduction
Interacting with the cluster ssh, sftp, & slurm batch scripts
Auburn University
Introduction to Operating Systems
HPC usage and software packages
Chapter 3: Operating Systems
Evolution of Operating Systems
Spark Presentation.
High Performance Computing on an IBM Cell Processor --- Bioinformatics
Hodor HPC Cluster LON MNG HPN Head Node Comp Node Comp Node Comp Node
Architecture & System Overview
THE OPERATION SYSTEM The need for an operating system
Introduction to Operating System (OS)
Introduction to HPC Workshop
Introduction to Operating Systems
The History of Operating Systems
Concurring Concurrently
Tonga Institute of Higher Education
Advanced Computing Facility Introduction
Mike Becher and Wolfgang Rehm
Processes and Threads Part III
Implementation of neural gas on Cell Broadband Engine
Operating System Introduction.
Computing Introduction.
Mapping the FFT Algorithm to the IBM Cell Processor
Using and Building Infrastructure Clouds for Science
Process Management -Compiled for CSIT
Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering
Presentation transcript:

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 You can get the full version of VMWare from OIT

Starting the simulator GUI

Set everything to Fast

Starting the simulator

Running Simple Hello Worlds

Running Synergistic Hello Worlds

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

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

hello_ppu Makefile hello_ppu.c

hello_spu Makefile hello_spu.c

hello_be1 – sync version

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”

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”

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

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

hello_be1 – sync version – ppu code (2)

hello_be1 – sync version – ppu code (3)

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

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

hello_be1 – async version – ppu code (2)

hello_be1 – async version – ppu code (3)

hello_be1 – async version – ppu code (4)

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

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

simple-multispu/simple – ppu code (2)

simple-multispu/simple – ppu code (3)

simple-multispu/simple – ppu code (4)

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