amd s unified cpu amp gpu processor concept
play

AMDs Unified CPU & GPU Processor Concept Advanced Seminar - PowerPoint PPT Presentation

AMDs Unified CPU & GPU Processor Concept Advanced Seminar Computer Engineering Sven Nobis Institute of Computer Engineering (ZITI) University of Heidelberg February 5, 2014 Overview AMDs 1 Introduction Unified CPU & GPU


  1. AMD’s Unified CPU & GPU Processor Concept Advanced Seminar Computer Engineering Sven Nobis Institute of Computer Engineering (ZITI) University of Heidelberg February 5, 2014

  2. Overview AMD’s 1 Introduction Unified CPU & GPU Processor 2 Background Concept CPU vs. GPU Sven Nobis Current Platforms: OpenCL & CUDA Introduction 3 Related Work Background CPU vs. GPU OpenCL & 4 The way to HSA CUDA Heterogeneous Unified Memory Access Related Work The way to 5 Heterogeneous System Architecture HSA Heterogeneous Concepts Unified Memory Access System Components HSA Concepts Development Tools System Components Development 6 Conclusion / Outlook Tools Conclusion / Outlook 2/37 References

  3. Previous: Single-Core Era AMD’s Unified CPU & GPU Processor Concept Single-Core Era Sven Nobis Enabled by: Constrained by: Introduction  Moore’s  Moore’s Law Power   Law Complexity   Voltage Background Scaling CPU vs. GPU   OpenCL & Assembly  C/C++  Java …  …  CUDA Single-thread Related Work Performance ? The way to we are HSA here Heterogeneous Unified Memory Time Access HSA [8, P. 5] Concepts System Components Development Tools Conclusion / Outlook 3/37 References

  4. Today: Multi-Core Era AMD’s Unified CPU & GPU Processor Concept Single-Core Era Multi-Core Era Sven Nobis Enabled by: Constrained by: Enabled by: Constrained by: Introduction  Moore’s  Moore’s Law Power Power   SMP Law Complexity Parallel SW architecture Scalability   Voltage Background Scaling CPU vs. GPU   OpenCL & Assembly  C/C++  Java … pthreads  OpenMP / TBB …  CUDA Single-thread Related Work Performance Throughput Performance ? The way to we are here we are HSA here Heterogeneous Unified Memory Time Time (# of processors) Access HSA [8, P. 5] Concepts System Components Development Tools Conclusion / Outlook 4/37 References

  5. Today till future: Heterogeneous System Era AMD’s Unified CPU & GPU Processor Concept Heterogeneous Single-Core Era Multi-Core Era Sven Nobis Systems Era Temporarily Enabled by: Constrained by: Enabled by: Constrained by: Enabled by: Introduction  Moore’s  Moore’s Law Power Power  Abundant data Constrained by:  SMP Law Complexity Parallel SW parallelism Programming architecture Scalability  Power efficient models  Voltage Background GPUs Comm.overhead Scaling CPU vs. GPU Shader  CUDA  OpenCL OpenCL & Assembly  C/C++  Java … pthreads  OpenMP / TBB …  C++ and Java CUDA Modern Application Single-thread Related Work Performance Throughput Performance Performance ? The way to we are here we are HSA here we are Heterogeneous here Unified Memory Time Time (# of processors) Access Time (Data-parallel exploitation) HSA [8, P. 5] Concepts System Components Development Tools Conclusion / Outlook 5/37 References

  6. Introduction AMD’s Unified CPU & GPU Processor Concept Sven Nobis Today’s problems on CPU / GPU programming Introduction programmability barrier Background CPU vs. GPU communication costs OpenCL & CUDA Solution Related Work AMD’s Unified CPU & GPU The way to Processor Concept? HSA Heterogeneous → Heterogeneous System Unified Memory Access Architecture (HSA) HSA Concepts System Components Development Tools [3, P. 4] Conclusion / Outlook 6/37 References

  7. Introduction AMD’s Unified CPU & GPU Processor Concept Sven Nobis Today’s problems on CPU / GPU programming Introduction programmability barrier Background CPU vs. GPU communication costs OpenCL & CUDA Solution Related Work AMD’s Unified CPU & GPU The way to Processor Concept? HSA Heterogeneous → Heterogeneous System Unified Memory Access Architecture (HSA) HSA Concepts System Components Development Tools [3, P. 4] Conclusion / Outlook 6/37 References

  8. Overview AMD’s 1 Introduction Unified CPU & GPU Processor 2 Background Concept CPU vs. GPU Sven Nobis Current Platforms: OpenCL & CUDA Introduction 3 Related Work Background CPU vs. GPU OpenCL & 4 The way to HSA CUDA Heterogeneous Unified Memory Access Related Work The way to 5 Heterogeneous System Architecture HSA Heterogeneous Concepts Unified Memory Access System Components HSA Concepts Development Tools System Components Development 6 Conclusion / Outlook Tools Conclusion / Outlook 7/37 References

  9. CPU vs. GPU AMD’s Unified CPU & GPU Processor Concept Sven Nobis CPU: GPU: Introduction Background CPU vs. GPU LCU TCU OpenCL & CUDA Latency Compute Unit Throughput Compute Unit Related Work The way to HSA Heterogeneous Unified Memory Access HSA Concepts System Components Development Tools Conclusion / Outlook 8/37 References

  10. OpenCL & CUDA AMD’s Unified CPU & GPU Processor Concept Both well-established platforms for GPU programming Sven Nobis Compute Unified Device Architecture (CUDA) Introduction Proprietary Background CPU vs. GPU Only for NVIDIA GPUs OpenCL & CUDA Open Computing Language (OpenCL) Related Work Open standard The way to HSA ATI, NVIDIA, Intel, ... Heterogeneous Unified Memory Not only GPUs Access HSA Concepts System Components Development Tools Conclusion / Outlook 9/37 References

  11. OpenCL Platform Model AMD’s Unified CPU & GPU Processor Concept Sven Nobis Introduction Background CPU vs. GPU OpenCL & CUDA Related Work The way to HSA Heterogeneous Unified Memory Access HSA Concepts System [10] Components Development Tools Conclusion / Outlook 10/37 References

  12. OpenCL Execution Model AMD’s Unified CPU & GPU Processor Concept Sven Nobis Introduction Background CPU vs. GPU OpenCL & CUDA Related Work The way to HSA Heterogeneous Unified Memory Access HSA Concepts System Components Development Tools Conclusion / [5, P. 11] Outlook 11/37 References

  13. Overview AMD’s 1 Introduction Unified CPU & GPU Processor 2 Background Concept CPU vs. GPU Sven Nobis Current Platforms: OpenCL & CUDA Introduction 3 Related Work Background CPU vs. GPU OpenCL & 4 The way to HSA CUDA Heterogeneous Unified Memory Access Related Work The way to 5 Heterogeneous System Architecture HSA Heterogeneous Concepts Unified Memory Access System Components HSA Concepts Development Tools System Components Development 6 Conclusion / Outlook Tools Conclusion / Outlook 12/37 References

  14. Related Work AMD’s Unified CPU & GPU Processor Concept In CUDA [4] Sven Nobis Unified Virtual Addressing (UVA) in CUDA 4 Introduction Unified Memory in CUDA 6 Background → Developer view to the memory CPU vs. GPU OpenCL & Implicit copy & pinning CUDA Related Work In OpenCL The way to Shared Virtual Memory HSA Heterogeneous Copy is still necessary (for fast access) Unified Memory Access HSA Concepts System Components Development Tools Conclusion / Outlook 13/37 References

  15. Overview AMD’s 1 Introduction Unified CPU & GPU Processor 2 Background Concept CPU vs. GPU Sven Nobis Current Platforms: OpenCL & CUDA Introduction 3 Related Work Background CPU vs. GPU OpenCL & 4 The way to HSA CUDA Heterogeneous Unified Memory Access Related Work The way to 5 Heterogeneous System Architecture HSA Heterogeneous Concepts Unified Memory Access System Components HSA Concepts Development Tools System Components Development 6 Conclusion / Outlook Tools Conclusion / Outlook 14/37 References

  16. CPU and GPU cores in a single die CPU AMD’s Unified CPU & GPU Processor Concept Sven Nobis Introduction Background CPU vs. GPU OpenCL & CUDA Related Work The way to HSA Heterogeneous Unified Memory Access APU HSA Concepts Llano System GPU Components Development Tools Conclusion / [3, P. 2] [7, P. 7] Outlook 15/37 References

  17.  hUMA: Heterogeneous Unified Memory Access AMD’s Unified CPU & GPU Multiple Virtual memory address spaces Processor  Today: Non-Uniform PHYSICAL MEMORY Concept PHYSICAL MEMORY Memory Access Sven Nobis Different/partitioned Introduction VIRTUAL MEMORY1 VIRTUAL MEMORY2 physical memory per Background compute unit CPU vs. GPU CPU0 GPU OpenCL & Multiple virtual CUDA VA1->PA1 VA2->PA1 memory address spaces Related Work The way to hUMA: Heterogeneous HSA Unified Memory Access Heterogeneous Unified Memory Access Same physical memory HSA Same virtual memory Concepts for all compute units System Components Development Tools Conclusion / Outlook 16/37 References

Recommend


More recommend