Heterogeneous Processing KYLE ADAMSKI Overview What is heterogeneous
- Slides: 17
Heterogeneous Processing KYLE ADAMSKI
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
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
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
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
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
CPU’s vs. GPU’s
CPU’s vs. GPU’s • 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
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
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 •
Heterogeneous programming cont…
Heterogeneous programming cont… • Open. CL – Open Computing Language Framework for writing programs that execute across heterogeneous platforms • Developed by Apple •
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 •
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
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
Sources • http: //epic. hpi. unipotsdam. de/pub/Home/Trends. And. Concepts. II 20 10/HW_Trends_borkar_2015. pdf • http: //blogs. nvidia. com/2009/12/whats-the-difference-between-acpu-and-a-gpu/ • http: //queue. acm. org/detail. cfm? id=2000516
Questions
- Kyle adamski
- Kyle adamski
- Martin adamski
- Point processing in image enhancement
- Image processing
- Bottom-up processing examples
- Histogram processing in digital image processing
- Morphological processing in digital image processing
- High boost filtering matlab
- Parallel processing vs concurrent processing
- Bottom-up processing example
- Batch processing vs interactive processing
- Bottom up vs top down psychology
- Primary and secondary processing of food
- Neighborhood processing in digital image processing
- Gloria suarez
- Kyle corbitt
- Kyle gaines