The Free Lunch Ended 7 Years Ago

Slides:



Advertisements
Similar presentations
Parallel Computing Glib Dmytriiev
Advertisements

Accelerators for HPC: Programming Models Accelerators for HPC: StreamIt on GPU High Performance Applications on Heterogeneous Windows Clusters
GPU Programming using BU Shared Computing Cluster
Vectors, SIMD Extensions and GPUs COMP 4611 Tutorial 11 Nov. 26,
Multi-core and tera- scale computing A short overview of benefits and challenges CSC 2007 Andrzej Nowak, CERN
GPU System Architecture Alan Gray EPCC The University of Edinburgh.
GPGPU Introduction Alan Gray EPCC The University of Edinburgh.
FSOSS Dr. Chris Szalwinski Professor School of Information and Communication Technology Seneca College, Toronto, Canada GPU Research Capabilities.
GRAPHICS AND COMPUTING GPUS Jehan-François Pâris
GPU Computing with CUDA as a focus Christie Donovan.
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 19, 2011 Emergence of GPU systems and clusters for general purpose High Performance Computing.
INTEL CONFIDENTIAL Why Parallel? Why Now? Introduction to Parallel Programming – Part 1.
Contemporary Languages in Parallel Computing Raymond Hummel.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
GPGPU overview. Graphics Processing Unit (GPU) GPU is the chip in computer video cards, PS3, Xbox, etc – Designed to realize the 3D graphics pipeline.
GPU Programming with CUDA – Accelerated Architectures Mike Griffiths
High Performance Computing G Burton – ICG – Oct12 – v1.1 1.
GPU Programming David Monismith Based on notes taken from the Udacity Parallel Programming Course.
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
By Arun Bhandari Course: HPC Date: 01/28/12. GPU (Graphics Processing Unit) High performance many core processors Only used to accelerate certain parts.
Applying GPU and POSIX Thread Technologies in Massive Remote Sensing Image Data Processing By: Group 17 King Mongkut's Institute of Technology Ladkrabang.
Accelerating image recognition on mobile devices using GPGPU
VTU – IISc Workshop Compiler, Architecture and HPC Research in Heterogeneous Multi-Core Era R. Govindarajan CSA & SERC, IISc
GPU Architecture and Programming
Outline  Over view  Design  Performance  Advantages and disadvantages  Examples  Conclusion  Bibliography.
1 Latest Generations of Multi Core Processors
Multi-Core Development Kyle Anderson. Overview History Pollack’s Law Moore’s Law CPU GPU OpenCL CUDA Parallelism.
GPUs: Overview of Architecture and Programming Options Lee Barford firstname dot lastname at gmail dot com.
OpenCL Programming James Perry EPCC The University of Edinburgh.
CENTRAL PROCESSING UNIT. CPU Does the actual processing in the computer. A single chip called a microprocessor. Composed of an arithmetic and logic unit.
Contemporary Languages in Parallel Computing Raymond Hummel.
Introduction to CUDA CAP 4730 Spring 2012 Tushar Athawale.
Computer Architecture Lecture 24 Parallel Processing Ralph Grishman November 2015 NYU.
GPGPU introduction. Why is GPU in the picture Seeking exa-scale computing platform Minimize power per operation. – Power is directly correlated to the.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Processor Level Parallelism 2. How We Got Here Developments in PC CPUs.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
General Purpose computing on Graphics Processing Units
Chapter 1 Introduction.
Computer Graphics Graphics Hardware
Prof. Zhang Gang School of Computer Sci. & Tech.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 July 12, 2012 © Barry Wilkinson CUDAIntro.ppt.
Chapter 10: Computer systems (1)
Brad Baker, Wayne Haney, Dr. Charles Choi
Our Graphics Environment
CS427 Multicore Architecture and Parallel Computing
GPU Computing Jan Just Keijser Nikhef Jamboree, Utrecht
OCR GCSE Computer Science Teaching and Learning Resources
Heterogeneous Computation Team HybriLIT
What is GPU? how does it work?
Enabling machine learning in embedded systems
3- Parallel Programming Models
Graphics Processing Unit
Multi-Layer Perceptron On A GPU
Processing Framework Sytse van Geldermalsen
Accelerating MapReduce on a Coupled CPU-GPU Architecture
Linchuan Chen, Xin Huo and Gagan Agrawal
MASS CUDA Performance Analysis and Improvement
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
About Hardware Optimization in Midas SW
Chapter 1 Introduction.
Dr. Tansel Dökeroğlu University of Turkish Aeronautical Association Computer Engineering Department Ceng 442 Introduction to Parallel.
Computer Graphics Graphics Hardware
Graphics Processing Unit
Multicore and GPU Programming
Types of Parallel Computers
6- General Purpose GPU Programming
CSE 502: Computer Architecture
Multicore and GPU Programming
Presentation transcript:

The Free Lunch Ended 7 Years Ago The Programmer's Delusion: More transistors on chip will solve all my problems! We Need Concurrent Programming to Satisfy Demand CHIPS CANNOT WORK ANY FASTER! Two Distinct Solutions: - High Performance Computers - Heterogeneous Computers

The Concurrency Paradigm Structured programming 1965-1985 the turn towards structure Object-oriented programming 1985-2005 the turn towards objects Concurrent programming 2005- the turn towards concurrency

The Concurrency Solutions High Performance Computing (HPC) large collections of computers high-speed communication channels exclusive and expensive – Sci-net consortium plus others Heterogeneous Computers (HC) single computers execute independent tasks on different computational units are inexpensive and readily accessible

Heterogeneous Computers CPU Central Processing Unit Single Instruction, Single Data General Purpose and Complex Flexible and Sophisticated GPU Graphics Processing Unit Single Program, Multiple Data Specialized and Simple Focused and Fast + Chip Designs Multi-Core – several cores (CPU + GPU) on a chip – << ~100 Many-Core – many cores (GPU) on a chip – >> ~100

Multi-Core or Many-Core

Programming Languages CUDA Nvidia's extension to C/C++ ~ 350,000,000 GPUs with CUDA ~ 1,000,000 toolkit downloads ~ 120,000 active developers ~ 475 university teaching centres simple for novice students with C/C++ skills OpenCL platform agnostic extension to C/C++ Nvidia (chair), AMD, Apple, ARM, IBM, Intel, ...

Ontario's Landscape Seneca College University of Toronto CUDA Teaching Centre – PI – Dr. Chris Szalwinski University of Toronto CUDA Teaching Centre – PI – Dr. Daniel Gruner McMaster University CUDA Teaching Centre – PI – Dr. Alexandru Patriciu

GPU610 and DPS915 Working on this ...