Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

It's Time to ROCm!


Published on

AMD has been away from the HPC space for a while, but now they are coming back in a big way with an open software approach to GPU computing. The Radeon Open Compute Platform (ROCm) was born from the Boltzman Initiative announced last year at SC15. Now available on GitHub, the ROCm Platform bringing a rich foundation to advanced computing by better integrating the CPU and GPU to solve real-world problems.

"We are excited to present ROCm, the first open-source HPC/ultrascale-class platform for GPU computing that’s also programming-language independent. We are bringing the UNIX philosophy of choice, minimalism and modular software development to GPU computing. The new ROCm foundation lets you choose or even develop tools and a language run time for your application."

Watch the video presentation:

Learn more:

Sign up for our insideHPC Newsletter:

Published in: Technology
  • Be the first to comment

  • Be the first to like this

It's Time to ROCm!

  1. 1. 1 It’s Time To ROCm!
  2. 2. 1 AMD INNOVATIONS AND SUPERCOMPUTING AMD has been a leading innovator in high-performance systems ‒ First with 64-bit x86 architecture, HyperTransport™, integrated memory controllers, multi-core socket compatible upgrades, SSE FMAC extensions AMD processors have been in many leading DOE supercomputers ‒ In 2008, seven of the top ten supercomputers used AMD Opteron processors AMD will lead again with systems incorporating advanced CPUs, GPUs, memory, and networks
  3. 3. 2 >$50M funding Memory, Programming, APUs, Network, more 2012-2016 HBM High Bandwidth Memory 14 NM Radeon RX480 June 2016 Driving Innovation Not Waiting For Miracles Extreme Perf/Watt Efficacy Radeon R9 Nano 46 GFLOP/Watt Sept 2015 Open GPU Computing Platform ROCm 1.0 April 2016 DOE Invests in AMD The first GPU devices to use HBM and CoWoS Radeon R9 Fury X, June 2015
  4. 4. 3
  5. 5. 4 INTRODUCING ROCm SOFTWARE PLATFORM Graphics Core Next Headless Linux® 64-bit Driver • Multi-GPU Shared Virtual Memory • Large Memory Single Allocation • Peer to Peer Multi-GPU • Peer to Peer with RDMA • Systems Management API and Tools HSA drives rich capabilities into the ROCm hardware and software • User Mode Queues • Architected Queuing Language • Flat memory Addressing • Atomic Memory Transactions • Process Concurrency & Preemption Rich Compiler Foundation for HPC Developer • LLVM Native GCN ISA Code Generation • Offline Compilation Support • Standardized loader and Code Object • GCN ISA Assembler and Disassembler A New Fully Open Source Foundation for HPC Class GPU computing Open Source Tools and Libraries • Rich Set of Open Source Math Libraries • Tuned Deep Learning Library • Optimized Parallel Programing Frameworks • CodeXL Profiler and GDB Debugging
  6. 6. 5 HIP Convert CUDA to portable C++ • Single-source Host+Kernel • C++ Kernel Language • C Runtime (CUDA-like) • Platforms: AMD GPU, NVIDIA (same perf as native CUDA) When to use it? • Port existing CUDA code • Developers familiar with CUDA • New project that needs portability to AMD and NVIDIA ROCm PROGRAMMING MODEL OPTIONS HCC True single-source C++ accelerator language • Single-source Host+Kernel • C++ Kernel Language • C++ Runtime • Platforms: AMD GPU When to use it? • New projects where true C++ language preferred • Use features from latest ISO C++ standards OpenCL Khronos Industry Standard accelerator language • Split Host/Kernel • C99-based Kernel Language • C Runtime • Platforms: CPU, GPU, FPGA When to use it? • Port existing OpenCL code • New project that needs portability to CPU,GPU,FPGA
  7. 7. 6 Where you get your “Song Sheets” • Overview, Install, Docs, Code, Links: • Blogs:
  8. 8. 7 WE ARE LOOKING TO BUILD OUT A WORLDWIDE BAND Get started today developing with ROCm - GPUOpen ROCm Getting Started Engage In the develop of ROCm @ GitHub RadeonOpenCompute Show case your applications, libraries and tools on to ROCm via GPUOpen How to Join “The power of one, if fearless and focused, is formidable, but the power of many working together is better.” – Gloria Macapagal Arroyo
  9. 9. 8
  10. 10. 9 CUDA PORTING WITH HIPIFY hipify Developer Cleanup and Tuning 95%+ Automatic Conversion Portable HIP C++ Developer maintains HIP port Resulting C++ code runs on NVIDIA (same performance) or AMD GPUs
  11. 11. 10 HIP COMPILATION PROCESS HIP->HC Header HCC Portable HIP C++ (Kernels + HIP API) HCC C++ (Kernels + HC) HIP API implemented with lightweight HIP runtime Uses HCC’s hc::accelerator, hc::accelerator_view, hc::completion_future Some calls directly into ROCR Compute kernels mostly unchanged Code compiled with HCC Can use CodeXL HIP->CUDA Header NVCC CUDA (Kernels + CUDA API) HIP API implemented as inlined calls to CUDA Runtime Compute kernels mostly unchanged Code compiled with NVCC (same as CUDA) Can use nvprof, CUDA debugger, other tools AMDNVIDIA