Presentation is loading. Please wait.

Presentation is loading. Please wait.

Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.

Similar presentations


Presentation on theme: "Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous."— Presentation transcript:

1 Heterogeneous Processing KYLE ADAMSKI

2 Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous Programming Data-parallel computing with GPU’s

3 What is Heterogeneous Processing? Helps meet performance requirements for todays software Uses variety of computational units for processing General-purpose processor (GPP) Special-purpose processors Digital Signal Processors (DSP) Graphics Processing Unit (GPU) (Most Popular) Co-Processor Field-Programmable Gate Array (FPGA) Consists of processors with different instruction set architectures

4 What is Heterogeneous Processing? Cont… Demand due to need for high-performance Considered parallel computing or multi-core systems Parallel - Calculations are carried out simultaneously Multi-core – A single computing component with two or more central processing units Also considered Hybrid Computing

5 Why it is necessary Bypasses physical barriers of minimum CPU size Bypasses Memory-wall issue CPU improved at a rate of 55% annually while memory speed 10% Reduces energy consumption Better performance-per-dollar ratio than CPU’s Reduces latency

6 Issues with heterogeneity Computation elements may have different instruction set architectures Different elements may interpret memory in different ways Library and OS services may not be uniformly available to elements Additional translation for language features Different cache structures Multiple ways of interconnecting Multiple compilers

7 CPU’s vs. GPU’s

8 GPU’s take data and perform same operations over and over very quickly, whereas CPU’s skip all over CPU’s have a few cores, GPU’s have hundreds Allows GPU’s to handle thousands of threads simultaneously Allows GPU to be more power and cost efficient CPU’s better for general purpose performance

9 Heterogeneous Programming Faster processing but difficult to develop for Programmers need to consider how to program in parallel Requires hardware specific code incorporated in application code Increases complexity Decreases portability Balancing application workload Different processing speeds

10 Heterogeneous programming cont… Easier with programming building blocks Programming libraries Higher-order functions Microsoft Accelerator Higher-level data parallel programming system Code written once and then executed on three different targets Library used from any language that supports linking with a C calling interface under Windows

11 Heterogeneous programming cont…

12 OpenCL – Open Computing Language Framework for writing programs that execute across heterogeneous platforms Developed by Apple

13 Data-parallel computing with GPU’s Difficult to program for Requires older techniques Explicit data placement Data movement Compute Unified Device Architecture (CUDA) Created by Nvidia Parallel computing platform and programming model for their GPU’s Limited to Nvidia hardware Allows more control of the GPU

14 Field-programmable gate array Configurable after manufacturing Configured using hardware description language Supports high-speed irregular operations Processing XML queries in real-time over high-speed networks Contains logic blocks with interconnects that allow the blocks to be wired together

15 Summary What is heterogeneous processing Why heterogeneous processing is necessary Some of the common issues with heterogeneous processing The differences between CPU’s vs. GPU’s Heterogeneous Programming Data-parallel computing with GPU’s

16 Sources http://epic.hpi.unipotsdam.de/pub/Home/TrendsAndConceptsII20 10/HW_Trends_borkar_2015.pdf http://epic.hpi.unipotsdam.de/pub/Home/TrendsAndConceptsII20 10/HW_Trends_borkar_2015.pdf http://blogs.nvidia.com/2009/12/whats-the-difference-between-a- cpu-and-a-gpu/ http://blogs.nvidia.com/2009/12/whats-the-difference-between-a- cpu-and-a-gpu/ http://queue.acm.org/detail.cfm?id=2000516

17 Questions


Download ppt "Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous."

Similar presentations


Ads by Google