Exploring AMD’s Ambitious ROCm Initiative

HSA-Compliant System Runtime

The foundation for the ROCm environment is the ROCm kernel driver and system runtime stack. The ROCr system runtime API, which resides above the kernel driver, is a language-independent runtime that complies with Heterogeneous System Architecture (HSA) specifications. HSA is an industry standard designed to support the integration of GPUs and CPUs with shared tasks and scheduling.

The modular form of the ROCm system runtime stack means the system runtime could one day support additional programming languages. In the true spirit of heterogeneous computing, the kernel layer below is also implemented as a separate module to facilitate easy porting to other kernel environments.

Machine Learning and AI

ROCm is built to accommodate future technologies, and the future is machine learning and artificial intelligence. Many of the high-performance computer systems that depend on AMD’s GPU-based computing environment are used with AI research and development. The ROCm developers knew they would need to build in a broad foundation of support for machine learning and AI.

Perhaps the most significant new AI feature is the MIOpen machine-learning library. MIOpen adds support for Convolution Neural Network acceleration. According to AMD, the latest MIOpen release comes with “… deep Convolution solvers optimized for both forward and backward propagation.” The MIOpen library serves as a middleware layer between AI frameworks and the ROCm platform, supporting both OpenCL and HIP-based programming environments.

The ROCm team is well aware that much of the recent work with machine learning has centered around a few powerful programming frameworks, many of which were designed to work with CUDA. One of the goals of the project is to port many of these existing AI frameworks to the ROCm platform. By supporting these popular frameworks, the developers create a setting that makes it easy to code once in a familiar language and then compile for either ROCm and AMD GPUs or the conventional CUDA environment.

As mentioned previously, the developers have already ported the CAFFE deep-learning framework to ROCm, and they are currently working on porting the TensorFlow machine intelligence library. The ROCm team is also working on porting the Torch scientific computing framework, as well as the MXNet library and Microsoft’s Cognitive Toolkit (CNTK).