AMD Goes Open Source in Newest ROCm Platform Update

Processor maker is going all in for developing and sharing GPU-related hardware and software for high-end computing use cases.

In days gone by, one rarely heard of IT companies getting involved in the open sourcing of hardware blueprints. It was always about software. This is happening more frequently all the time and making a significant impact in many enterprises. It's yet another seismic change that has hit the larger-picture IT world.

This is relevant now because companies such as Facebook, Google, Microsoft, Brocade, Cisco Systems and a number of others through the Open Compute Project are now dedicated to designing and open sourcing items such as new-gen servers, racks, routers, switches, specialized teleco equipment and storage appliances, in addition to offering previously proprietary expertise to others in how to build new-gen IT hardware.

Here is a list of articles eWEEK has run on the OCP during the last several years.

AMD Taking a Key Role in Open Computing

This is now happening in the processor designing, building and distribution sector. Advanced Micro Devices, which only in the last year has become involved in open sourcing some of its products, had news on this front this week at Super Computing 2016 in Salt Lake City, a four-day event that ended Nov. 17.

AMD, an OCP member, announced at the show the v2.0 release of its open-source Radeon Open Compute Platform (ROCm), which includes software support of new Radeon GPU hardware, new math libraries, and a foundation of updated programming languages, among other things. Version 1.0 was launched last April 25, and a lot of development has been injected since then.

AMD also announced support of Open Computing Language (OpenCL) and for a wide range of CPUs in upcoming releases of ROCm, including support for AMD's upcoming Zen-based CPUs, Cavium ThunderX CPUs and IBM Power 8 CPUs. ROCm thus shows versatility as an open source platform for GPU computing.

OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators.

ROCm is Dockerized

ROCm also supports Docker containerization in Linux, a rapidly growing trend in many enterprises right now.

"An open source approach to heterogeneous computing can help bring the benefits of high-performance computing directly to developers, providing the flexibility for them to use available compute resources and extract the best possible performance from their available hardware," said Red Hat Vice-President of Platform Engineering Denise Dumas.

The new release of ROCm introduces a wide range of updates, including:

--Expanded GPU support: ROCm now supports all Polaris architecture-based graphics products, including the Radeon RX 460, 470 and 480 graphics cards and the Radeon Pro WX 7100, 5100 and 4100 GPUs, extending the portfolio of devices supported by ROCm devices. The Polaris architecture is specifically designed to benefit low-level programming, helping developers to extract the most from the hardware.

--ROCm Virtualization of the GPU hardware via OS Containers and Linux's Kernel Virtual Machine (KVM): ROCm now supports Docker containerization, allowing users to simplify the deployment of an application in ROCm-enabled Linux server environments. ROCm also supports GPU Hardware Virtualization via KVM pass-through to allow the benefits of hardware-accelerated GPU computing in virtualized solutions.

--Heterogeneous Compute Compiler (HCC): HCC is a single source ISO C++ 11/14 compiler for both CPU and GPU, with support for the C++17 Parallel Standard Template Library. It is built on a rich compiler infrastructure including LLVM-based GCN ISA code generation with assembler and disassembler support.

--Heterogeneous-Compute Interface for Portability (HIP): HIP enables developers to port CUDA applications to ROCm using HIPIFY which automates the conversion to the HIP kernel language and runtime API, creating portable applications that can run on virtually any GPU using either NVIDIA's CUDA Compiler or HCC.

--New Math Acceleration Libraries: ROCm introduces support for new advanced math acceleration libraries with support for BLAS, FFT and N-dimensional tensor contractions.

In addition to the release of ROCm, AMD also announced that it is working to expand the ROCm ecosystem through increased server CPU support, and planned support of OpenCL. Upcoming releases of ROCm are expected to support AMD Zen-based x86 CPUs, ARM AArch64 CPU architecture starting with Cavium ThunderX processors, as well as IBM Power 8 CPUs and servers to meet customers' growing hyperscale and HPC needs, the company said.

OpenCL is being built on a ROCm runtime and compiler foundation, which give greater low-level control of the GPU via its direct-to-metal access, the company said.

The new version of Radeon Open Compute is available for download here.

Chris Preimesberger

Chris Preimesberger

Chris Preimesberger is Editor of Features & Analysis at eWEEK, responsible in part for the publication's coverage areas. In his 10 years and more than 3,500 stories at eWEEK, he has distinguished...