HETEROGENEOUS
COMPUTING
RASHID ANSARI
170847980002
MTECH ACDS
INTRODUCTION
Heterogeneous computing refers to systems that use more
than one kind of processor or cores.
System gain performance with dissimilar coprocessors.
Source:- Qualcomm Snapdragon
Source:- Qualcomm Snapdragon
ISSUES WITH LEGACY GPU COMPUTE
• Multiple memory pools
• Multiple address spaces
• Expert programmers
only
Source:-AMD
• Two memory pools remain
• Still queue through the OS
• Still requires expert programmers
Source:-AMD
Physical Integration
Heterogeneous System Architecture
It allows integration of central processing units and graphics processors on the
same bus, with shared memory and tasks.
HSA is being developed by HSA Foundation.
Aim to reduce communication latency between CPUs, GPUs and other compute
devices, and make devices more compatible from a programmer’s perspective.
• Unified Coherent Memory enables data sharing across all
processors
• Processors architected to operate cooperatively
• Designed to enable the application to run on different processors at
different times
This is HSA
Source:-AMD
Source:-AMD
Source:-AMD
Source:-AMD
Programming for HSA
1. OpenCL
2. CUDA
3. hUMA
OpenCL
• OpenCL initially developed by Apple Inc.
• OpenCL is a framework for writing programs that execute across
heterogenous platforms
• Allows existing source code to target the CPU and GPU.
CUDA
• CUDA is a parallel computing platform and application programming
interface model created by Nvidia.
• It contains libraries,Compiler directives ,c,c++, and Fortran extensions
• Free but limited to only Nvidia hardware
hUMA
• hUMA stands for Heterogeneous Uniform Memory Access
• Results in support for mainstream languages such as Python, C++ and Java
Example Platforms
Samsung Exynos
Apple “A” series
AMD APUs
ARM big.LITTLE CPU architecture
Real World Application of HC
AMD APUs
Smartphones
Laptops
PlayStation 3 and PlayStation 4
Xbox One
Pros
Small and efficient processor
Better battery life
Lower cost
Increased performance for parallel applications
Cons
A discrete CPU and GPU can provide more power
New software design models
References
1. Shan, Amar (2006). Heterogeneous Processing: a Strategy for Augmenting Moore's Law.
Linux Journal.
2. A Survey Of Techniques for Architecting and Managing Asymmetric Multicore Processors,
ACM Computing Surveys, 2015.
3. AMD
4. Wikipedia
THANK
YOU

Heterogeneous computing

  • 1.
  • 2.
    INTRODUCTION Heterogeneous computing refersto systems that use more than one kind of processor or cores. System gain performance with dissimilar coprocessors. Source:- Qualcomm Snapdragon
  • 3.
  • 4.
    ISSUES WITH LEGACYGPU COMPUTE • Multiple memory pools • Multiple address spaces • Expert programmers only Source:-AMD
  • 5.
    • Two memorypools remain • Still queue through the OS • Still requires expert programmers Source:-AMD Physical Integration
  • 6.
    Heterogeneous System Architecture Itallows integration of central processing units and graphics processors on the same bus, with shared memory and tasks. HSA is being developed by HSA Foundation. Aim to reduce communication latency between CPUs, GPUs and other compute devices, and make devices more compatible from a programmer’s perspective.
  • 7.
    • Unified CoherentMemory enables data sharing across all processors • Processors architected to operate cooperatively • Designed to enable the application to run on different processors at different times This is HSA Source:-AMD
  • 8.
  • 9.
  • 11.
  • 12.
    Programming for HSA 1.OpenCL 2. CUDA 3. hUMA
  • 13.
    OpenCL • OpenCL initiallydeveloped by Apple Inc. • OpenCL is a framework for writing programs that execute across heterogenous platforms • Allows existing source code to target the CPU and GPU. CUDA • CUDA is a parallel computing platform and application programming interface model created by Nvidia. • It contains libraries,Compiler directives ,c,c++, and Fortran extensions • Free but limited to only Nvidia hardware hUMA • hUMA stands for Heterogeneous Uniform Memory Access • Results in support for mainstream languages such as Python, C++ and Java
  • 14.
    Example Platforms Samsung Exynos Apple“A” series AMD APUs ARM big.LITTLE CPU architecture
  • 15.
    Real World Applicationof HC AMD APUs Smartphones Laptops PlayStation 3 and PlayStation 4 Xbox One
  • 16.
    Pros Small and efficientprocessor Better battery life Lower cost Increased performance for parallel applications
  • 17.
    Cons A discrete CPUand GPU can provide more power New software design models
  • 18.
    References 1. Shan, Amar(2006). Heterogeneous Processing: a Strategy for Augmenting Moore's Law. Linux Journal. 2. A Survey Of Techniques for Architecting and Managing Asymmetric Multicore Processors, ACM Computing Surveys, 2015. 3. AMD 4. Wikipedia
  • 19.