# Package manager integration 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. 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 ![ROCm release package naming](../../../../data/tutorials/install/linux/linux002.png "ROCm release package naming") The preceding image 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 The following image 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. ![ROCm meta packages](../../../../data/tutorials/install/linux/linux003.png "ROCm meta packages") ```{note} `rocm-llvm` is not a meta-package but a single package that installs the ROCm clang compiler files. ``` ```{table} Meta-packages and Their Descriptions :name: meta-package-desc | **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. ![Associated packages](../../../../data/tutorials/install/linux/linux004.png "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} The preceding image 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. ```