Package Manager Integration#

Applies to Linux

2023-06-02

6 min read time

This section provides information about the required meta-packages for the following AMD ROCm programming models:

  • Heterogeneous-Computing Interface for Portability (HIP)

  • OpenCL™

  • OpenMP™

ROCm Package Naming Conventions#

A meta-package is a grouping of related packages and dependencies used to support a specific use case.

Example: Running HIP applications

All meta-packages exist in both versioned and non-versioned forms.

  • Non-versioned packages – For a single-version installation of the ROCm stack

  • Versioned packages – For multi-version installations of the ROCm stack

Fig. 2 ROCm Release Package Naming#

Fig. 2 demonstrates the single and multi-version ROCm packages’ naming structure, including examples for various Linux distributions. See terms below:

Module - It is the part of the package that represents the name of the ROCm component.

Example: The examples mentioned in the image represent the ROCm HIP module.

Module version - It is the version of the library released in that package. It should increase with a newer release.

Release version - It shows the ROCm release version when the package was released.

Example: 50400 points to the ROCm 5.4.0 release.

Build id - It represents the Jenkins build number for that release.

Arch - It shows the architecture for which the package was created.

Distro - It describes the distribution for which the package was created. It is valid only for rpm packages.

Example: el8 represents RHEL 8.x packages.

Components of ROCm Programming Models#

Fig. 3 demonstrates the high-level layered architecture of ROCm programming models and their meta-packages. All meta-packages are a combination of required packages and libraries.

Example:

  • rocm-hip-runtime is used to deploy on supported machines to execute HIP applications.

  • rocm-hip-sdk contains runtime components to deploy and execute HIP applications.

Fig. 3 ROCm Meta Packages#

Note

rocm-llvm is not a meta-package but a single package that installs the ROCm clang compiler files.

Table 1 Meta-packages and Their Descriptions#

Meta-packages

Description

rocm-language-runtime

The ROCm runtime

rocm-hip-runtime

Run HIP applications written for the AMD platform

rocm-opencl-runtime

Run OpenCL-based applications on the AMD platform

rocm-hip-runtime-devel

Develop applications on HIP or port from CUDA

rocm-opencl-sdk

Develop applications in OpenCL for the AMD platform

rocm-hip-libraries

HIP libraries optimized for the AMD platform

rocm-hip-sdk

Develop or port HIP applications and libraries for the AMD platform

rocm-developer-tools

Debug and profile HIP applications

rocm-ml-sdk

Develop and run Machine Learning applications with optimized for AMD

rocm-ml-libraries

Key Machine Learning libraries, specifically MIOpen

rocm-openmp-sdk

Develop OpenMP-based applications for the AMD platform

rocm-openmp-runtime

Run OpenMP-based applications for the AMD platform

Packages in ROCm Programming Models#

This section discusses the available meta-packages and their packages. The following image visualizes the meta-packages and their associated packages in a ROCm programming model.

Fig. 4 Associated Packages#

  • Meta-packages can include another meta-package.

  • rocm-core package is common across all the meta-packages.

  • Meta-packages and associated packages are represented in the same color.

Note

Fig. 4 is for informational purposes only, as the individual packages in a meta-package are subject to change. Install meta-packages, and not individual packages, to avoid conflicts.