Rtd alexv feedback (#1945)

This commit is contained in:
Alex Voicu
2023-03-15 18:22:25 +00:00
committed by GitHub
parent 9144ac6238
commit bcba7ed752
83 changed files with 3039 additions and 2556 deletions

View File

@@ -515,8 +515,8 @@ typedef enum hipDeviceAttribute_t {
hipDeviceAttributeMaxTexture3DHeight, // Maximum dimensions height of 3D images in image elements
hipDeviceAttributeMaxTexture3DDepth, // Maximum dimensions depth of 3D images in image elements
hipDeviceAttributeCudaCompatibleBegin = 0,
hipDeviceAttributeHdpMemFlushCntl, // Address of the HDP\_MEM\_COHERENCY\_FLUSH\_CNTL register
hipDeviceAttributeHdpRegFlushCntl, // Address of the HDP\_REG\_COHERENCY\_FLUSH\_CNTL register
hipDeviceAttributeHdpMemFlushCntl, // Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register
hipDeviceAttributeHdpRegFlushCntl, // Address of the HDP_REG_COHERENCY_FLUSH_CNTL register
hipDeviceAttributeEccEnabled = hipDeviceAttributeCudaCompatibleBegin, // Whether ECC support is enabled.
hipDeviceAttributeAccessPolicyMaxWindowSize, // Cuda only. The maximum size of the window policy in bytes.
hipDeviceAttributeAsyncEngineCount, // Cuda only. Asynchronous engines number.

View File

@@ -145,4 +145,4 @@ No notable changes in this release for deployment and management tools.
## Older ROCm™ Releases
For release information for older ROCm™ releases, refer to
[CHANGELOG](CHANGELOG.md).
[CHANGELOG](./CHANGELOG.md).

View File

@@ -2,4 +2,5 @@
Page could not be found.
Return to [home](index) or please use the links from the sidebar to find what you are looking for.
Return to [home](./index) or please use the links from the sidebar to find what
you are looking for.

View File

@@ -1,71 +1,71 @@
# About ROCm Documentation
ROCm documentation is made available under open source [licenses](licensing.md).
Documentation is built using open source toolchains. Contributions to our
documentation is encouraged and welcome. As a contributor, please familiarize
yourself with our documentation toolchain.
## ReadTheDocs
[ReadTheDocs](https://docs.readthedocs.io/en/stable/) is our frontend for the
our documentation. By frontend, this is the tool that serves our HTML based
documentation to our end users. We are using a paid ReadTheDocs plan. Many
projects were using the free readthedocs plan. All projects should transition to
the paid readthedocs site as this is add free. The paid site has additional
functionality including longer build times, better user monitoring and the
[rocmdoc.amd.com](https://rocmdoc.amd.com) URL. Please contact the documentation
team or devops for readthedocs access.
## Doxygen
[Doxygen](https://www.doxygen.nl/) is the most common inline code documentation
standard. ROCm projects are use Doxygen for public API documentation (unless the
upstream project is using a different tool).
## Sphinx
[Sphinx](https://www.sphinx-doc.org/en/master/) is a documentation generator
originally used for python. It is now widely used in the Open Source community.
Originally, sphinx supported rst based documentation. Markdown support is now
available. ROCm documentation plans to default to markdown for new projects.
Existing projects using rst are under no obligation to convert to markdown. New projects
that believe markdown is not suitable should contact the documentation team
prior to selecting rst.
### Sphinx Theme
ROCm is using the
[Sphinx Book Theme](https://sphinx-book-theme.readthedocs.io/en/latest/). This
theme is used by Jupyter books. ROCm documentation applies some customization
include a header and footer on top of the Sphinx Book Theme. A future custom
ROCm theme will be part of our documentation goals.
### Sphinx Design
Sphinx Design is an extension for sphinx based websites that add design
functionality. Please see the documentation
[here](https://sphinx-design.readthedocs.io/en/latest/index.html). ROCm
documentation uses sphinx design for grids, cards, and synchronized tabs.
Other features may be used in the future.
### Sphinx External TOC
ROCm uses the
[sphinx-external-toc](https://sphinx-external-toc.readthedocs.io/en/latest/intro.html)
for our navigation. This tool allows a yml file based left navigation menu. This
tool was selected due to its flexibility that allows scripts to operate on the
yml file. Please transition to this file for the project's navigation. You can
see the `_toc.yml.in` file in this repository in the docs/sphinx folder for an
example.
### Breathe
Sphinx uses [Breathe](https://www.breathe-doc.org/) to integrate doxygen
content.
## rocm-docs-core pip package
[rocm-docs-core](https://github.com/RadeonOpenCompute/rocm-docs-core) is an AMD
maintained project that applies customization for our documentation. This
project is the tool most ROCm repositories will use as part of the documentation
build.
# About ROCm Documentation
ROCm documentation is made available under open source [licenses](licensing.md).
Documentation is built using open source toolchains. Contributions to our
documentation is encouraged and welcome. As a contributor, please familiarize
yourself with our documentation toolchain.
## ReadTheDocs
[ReadTheDocs](https://docs.readthedocs.io/en/stable/) is our frontend for the
our documentation. By frontend, this is the tool that serves our HTML based
documentation to our end users. We are using a paid ReadTheDocs plan. Many
projects were using the free readthedocs plan. All projects should transition to
the paid readthedocs site as this is add free. The paid site has additional
functionality including longer build times, better user monitoring and the
[rocmdoc.amd.com](https://rocmdoc.amd.com) URL. Please contact the documentation
team or devops for readthedocs access.
## Doxygen
[Doxygen](https://www.doxygen.nl/) is the most common inline code documentation
standard. ROCm projects are use Doxygen for public API documentation (unless the
upstream project is using a different tool).
## Sphinx
[Sphinx](https://www.sphinx-doc.org/en/master/) is a documentation generator
originally used for python. It is now widely used in the Open Source community.
Originally, sphinx supported rst based documentation. Markdown support is now
available. ROCm documentation plans to default to markdown for new projects.
Existing projects using rst are under no obligation to convert to markdown. New
projects that believe markdown is not suitable should contact the documentation
team prior to selecting rst.
### Sphinx Theme
ROCm is using the
[Sphinx Book Theme](https://sphinx-book-theme.readthedocs.io/en/latest/). This
theme is used by Jupyter books. ROCm documentation applies some customization
include a header and footer on top of the Sphinx Book Theme. A future custom
ROCm theme will be part of our documentation goals.
### Sphinx Design
Sphinx Design is an extension for sphinx based websites that add design
functionality. Please see the documentation
[here](https://sphinx-design.readthedocs.io/en/latest/index.html). ROCm
documentation uses sphinx design for grids, cards, and synchronized tabs.
Other features may be used in the future.
### Sphinx External TOC
ROCm uses the
[sphinx-external-toc](https://sphinx-external-toc.readthedocs.io/en/latest/intro.html)
for our navigation. This tool allows a yml file based left navigation menu. This
tool was selected due to its flexibility that allows scripts to operate on the
yml file. Please transition to this file for the project's navigation. You can
see the `_toc.yml.in` file in this repository in the docs/sphinx folder for an
example.
### Breathe
Sphinx uses [Breathe](https://www.breathe-doc.org/) to integrate doxygen
content.
## rocm-docs-core pip package
[rocm-docs-core](https://github.com/RadeonOpenCompute/rocm-docs-core) is an AMD
maintained project that applies customization for our documentation. This
project is the tool most ROCm repositories will use as part of the documentation
build.

View File

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 163 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 407 KiB

After

Width:  |  Height:  |  Size: 407 KiB

View File

Before

Width:  |  Height:  |  Size: 465 KiB

After

Width:  |  Height:  |  Size: 465 KiB

View File

Before

Width:  |  Height:  |  Size: 207 KiB

After

Width:  |  Height:  |  Size: 207 KiB

View File

Before

Width:  |  Height:  |  Size: 461 KiB

After

Width:  |  Height:  |  Size: 461 KiB

View File

Before

Width:  |  Height:  |  Size: 461 KiB

After

Width:  |  Height:  |  Size: 461 KiB

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 412 KiB

After

Width:  |  Height:  |  Size: 412 KiB

View File

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,4 +0,0 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Frameworks_Installation.html
HostUrl=https://docs-be.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/image.006.png?_LANG=enus

View File

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -1,43 +1,44 @@
# Deploy
Please follow the guides below to begin your ROCm journey. ROCm can be consumed
via many mechanisms.
:::::{grid} 1 1 3 3
:gutter: 1
::::{grid-item-card}
:padding: 2
Quick Start
^^^
- [Linux](quick_start)
- [Windows](hip_sdk_install_win/hip_sdk_install_win)
::::
::::{grid-item-card}
:padding: 2
Docker
^^^
- [Guide](deploy/docker)
::::
::::{grid-item-card}
:padding: 2
[Advanced](deploy/advanced)
^^^
- [Uninstall](deploy/advanced/uninstall)
- [Multi-ROCm Installations](deploy/advanced/multi)
- [spack](deploy/advanced/spack)
- [Build from Source](deploy/advanced/build_source)
::::
:::::
## Related Information
[Release Information](release)
# Deploy
Please follow the guides below to begin your ROCm journey. ROCm can be consumed
via many mechanisms.
:::::{grid} 1 1 3 3
:gutter: 1
::::{grid-item-card}
:padding: 2
Quick Start
^^^
- [Linux](quick_start)
- [Windows](hip_sdk_install_win/hip_sdk_install_win)
::::
::::{grid-item-card}
:padding: 2
Docker
^^^
- [Guide](deploy/docker)
- [Dockerhub](https://hub.docker.com/u/rocm/#!)
::::
::::{grid-item-card}
:padding: 2
[Advanced](deploy/advanced)
^^^
- [Uninstall](deploy/advanced/uninstall)
- [Multi-ROCm Installations](deploy/advanced/multi)
- [spack](deploy/advanced/spack)
- [Build from Source](deploy/advanced/build_source)
::::
:::::
## Related Information
[Release Information](release)

10
docs/deploy/advanced.md Normal file
View File

@@ -0,0 +1,10 @@
# Advanced
## Installations
- [Uninstall](advanced/uninstall)
- [Multi-ROCm Installations](advanced/multi)
## Clusters and Network Deployment
- [spack](advanced/spack)

View File

@@ -0,0 +1 @@
# Build from Source

View File

@@ -0,0 +1 @@
# Multi-ROCm Installation

View File

@@ -0,0 +1 @@
# spack

View File

@@ -0,0 +1 @@
# Uninstall Guide

View File

@@ -1,55 +1,67 @@
# Docker
## Prequisites
Docker containers share the kernel with the host operating system, therefore the ROCm kernel-mode
driver must be installed on the host. Please refer to the [Basic Installation Guide](install.md)
for details. The other user-space parts (like the HIP-runtime or math libraries) of the ROCm stack
will be loaded from the container image and don't need to be installed to the host.
## Accessing GPUs in containers
In order to access GPUs in a container (to run applications using HIP, OpenCL or OpenMP offloading)
explicit access to the GPUs must be granted.
The ROCm runtimes make use of multiple device files:
- `/dev/kfd`: the main compute interface shared by all GPUs
- `/dev/dri/renderD<node>`: direct rendering interface (DRI) devices for each GPU. **\<node\>** is a
number for each card in the system starting from 128.
Exposing these devices to a container is done by using the
[`--device`](https://docs.docker.com/engine/reference/commandline/run/#device) option,
i.e. to allow access to all GPUs expose `/dev/kfd` and all `/dev/dri/renderD` devices:
```shell
docker run --device /dev/kfd --device /dev/renderD128 --device /dev/renderD129 ...
```
More conveniently, instead of listing all devices, the entire `/dev/dri` folder can be exposed to
the new container:
```shell
docker run --device /dev/kfd --device /dev/dri
```
Note that this gives more access than strictly required, as it also exposes the other device files
found in that folder to the container.
### Restricting a container to a subset of the GPUs
If a `/dev/dri/renderD` device is not exposed to a container then it cannot use the GPU associated
with it; this allows to restrict a container to any subset of devices.
For example to allow the container to access the first and third GPU start it like:
```shell
docker run --device /dev/kfd --device /dev/dri/renderD128 --device /dev/dri/renderD130 <image>
```
## Docker images in the ROCm ecosystem
### Base images
https://github.com/RadeonOpenCompute/ROCm-docker hosts images useful for users wishing to build their
own containers levaraging ROCm. The built images are available from
[Docker Hub](https://hub.docker.com/u/rocm). In particular `rocm/rocm-terminal` is a small image
with the prequisites to build HIP applications, but does not include any libraries.
### Applications
AMD provides pre-built images for various GPU-ready applications throught its Infinity Hub at
https://www.amd.com/en/technologies/infinity-hub.
# Docker
## Prequisites
Docker containers share the kernel with the host operating system, therefore the
ROCm kernel-mode driver must be installed on the host. Please refer to the
[Basic Installation Guide](./install.md) for details. The other user-space parts
(like the HIP-runtime or math libraries) of the ROCm stack will be loaded from
the container image and don't need to be installed to the host.
## Accessing GPUs in containers
In order to access GPUs in a container (to run applications using HIP, OpenCL or
OpenMP offloading) explicit access to the GPUs must be granted.
The ROCm runtimes make use of multiple device files:
- `/dev/kfd`: the main compute interface shared by all GPUs
- `/dev/dri/renderD<node>`: direct rendering interface (DRI) devices for each
GPU. **`<node>`** is a number for each card in the system starting from 128.
Exposing these devices to a container is done by using the
[`--device`](https://docs.docker.com/engine/reference/commandline/run/#device)
option, i.e. to allow access to all GPUs expose `/dev/kfd` and all
`/dev/dri/renderD` devices:
```shell
docker run --device /dev/kfd --device /dev/renderD128 --device /dev/renderD129 ...
```
More conveniently, instead of listing all devices, the entire `/dev/dri` folder
can be exposed to the new container:
```shell
docker run --device /dev/kfd --device /dev/dri
```
Note that this gives more access than strictly required, as it also exposes the
other device files found in that folder to the container.
### Restricting a container to a subset of the GPUs
If a `/dev/dri/renderD` device is not exposed to a container then it cannot use
the GPU associated with it; this allows to restrict a container to any subset of
devices.
For example to allow the container to access the first and third GPU start it
like:
```shell
docker run --device /dev/kfd --device /dev/dri/renderD128 --device /dev/dri/renderD130 <image>
```
## Docker images in the ROCm ecosystem
### Base images
<https://github.com/RadeonOpenCompute/ROCm-docker> hosts images useful for users
wishing to build their own containers levaraging ROCm. The built images are
available from [Docker Hub](https://hub.docker.com/u/rocm). In particular
`rocm/rocm-terminal` is a small image with the prequisites to build HIP
applications, but does not include any libraries.
### Applications
AMD provides pre-built images for various GPU-ready applications through its
Infinity Hub at <https://www.amd.com/en/technologies/infinity-hub>.

View File

@@ -1,3 +1,4 @@
# Basic Installation Guide
This guide explains the basic installation of ROCm. This is the recommended starting point for all users of ROCm.
# Basic Installation Guide
This guide explains the basic installation of ROCm. This is the recommended
starting point for all users of ROCm.

View File

@@ -1 +1 @@
# Multi-ROCm Installation
# Multi-ROCm Installation

View File

@@ -1 +1 @@
# spack
# spack

View File

@@ -1,5 +1,5 @@
# Inception V3 with PyTorch
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Deep_Learning_Training.html>.
Ignore training description.
# Inception V3 with PyTorch
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Deep_Learning_Training.html>.
Ignore training description.

View File

@@ -1,179 +1,179 @@
# Quick Start (Windows)
The steps to install the HIP SDK for Windows are described in this document.
## System Requirements
The HIP SDK is supported on Windows 10 and 11. The HIP SDK may be installed on a
system without AMD GPUs to use the build toolchains. To run HIP applications, a
compatible GPU is required. Please see the supported GPU guide for more details.
TODO: provide link to supported GPU guide.
## SDK Installation
Installation options are listed in Table 1.
| **Table 1. Components for Installation** | |
|:------------------------:|:----------------:|:------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| **HIP Components** | **Install Type** | **Display Driver** | **Install Options** |
| **HIP SDK Core** | **Full** | Adrenalin 22.40 | **Full:** Provides all AMD Software features and controls for gaming, recording, streaming, and tweaking your performance on your graphics hardware. |
| **HIP Libraries** | **Full** | | **Minimal:** Provides only the basic controls for AMD Software features and does not include advanced features such as performance tweaking or recording and capturing content.|
| **HIP Runtime Compiler** | **Full** | | **Driver Only:** Provides no user interface for AMD Software features. |
| **Ray Tracing** | **Full** | | **Do Not Install** |
| **BitCode Profiler** | **Full** | | |
TODO: describe each installation option.
## HIP SDK Installer
The AMD HIP SDK Installer manages the installation and uninstallation process of
HIP SDK for Windows. This includes system configuration checks, installing
components, and installing the display driver.
To launch the AMD HIP SDK Installer, click the **Setup** icon shown in Figure 1.
The installer will begin to load and detect your system's configuration and
compatibility, as shown in Figure 2. A completely loaded AMD HIP SDK Installer
window will appear, as shown in Figure 3.
| ![Setup](../data/hip_sdk_install_win/image/Setup-Icon.png) |
|:------------------------------:|
| **Figure 1. Setup Icon** |
| ![Loading Window](../data/hip_sdk_install_win/image/Loading-Window.png) |
|:-------------------------------------------:|
| **Figure 2. AMD HIP SDK Loading Window** |
| ![Installer Window](../data/hip_sdk_install_win/image/Installer-Window.png) |
|:-----------------------------------------------:|
| **Figure 3. AMD HIP SDK Installer Window** |
### Installation Selections
By default, all components are selected for installation. Refer to Figure 3 for
an instance when the Select All option is turned on.
**Note** The Select All option only applies to the installation of HIP
components. To install the AMD Display Driver, manually select the install type.
**Note** To customize the install location on your system, click
**Additional Options** under HIP SDK Core and AMD Radeon Vega 10 Graphics. Refer
to the sections [HIP Components](#hip-components) and
[AMD Display Driver](#amd-display-driver) for more information on each
installation.
To make installation selections and install, follow these steps:
1. Scroll the window to AMD Display Driver and select the desired install type.
Refer to the section [AMD Display Driver](#amd-display-driver) for more
information on installation types.
2. Once selected, click **Install** located in the lower right corner, and skip
to [Installing Components](#installing-components).
#### Deselect All
To select individual component installs onto your system click **Deselect All**
in the upper right corner of the installer window, as seen in Figure 3. Figure 4
demonstrates the installer window once the installation components are all
deselected.
| ![DeSelect All](../data/hip_sdk_install_win/image/DeSelectAll.png) |
|:--------------------------------------:|
| **Figure 4. Deselect All Selection** |
#### HIP Components
By default, each HIP component will be checked off for full installation,
Figures 4 through 8 demonstrate the options available to you when you click
**Additional Options** under each component.
| **Table 2. Custom Selections for Installation** | |
|:------------------------------------------------------------------|:---------------------------------------------------- |
| **If:** | **Then:** |
| You intend to make custom selections for this installation | Skip to the section _Deselect All_. |
| You do not intend to make custom selections for this installation | Continue to the section _AMD Display Driver_. |
**Note** You can manually select installation locations for the HIP SDK Core, as
shown in Figure 5.
| ![HIP SDK Core](../data/hip_sdk_install_win/image/HIP-SDK-Core.png) |
|:---------------------------------------:|
| **Figure 5. HIP SDK Core Option** |
| ![HIP Libraries](../data/hip_sdk_install_win/image/HIP-Libraries.png) |
|:-----------------------------------------:|
| **Figure 6. HIP Libraries Option** |
| ![HIP Runtime Compiler](../data/hip_sdk_install_win/image/HIP-Runtime-Compiler.png) |
|:-------------------------------------------------------:|
| **Figure 7. HIP Runtime Compiler Option** |
| ![HIP Ray Tracing](../data/hip_sdk_install_win/image/HIP-Ray-Tracing.png) |
|:---------------------------------------------:|
| **Figure 8. HIP Ray Tracing** |
| ![BitCode Profiler](../data/hip_sdk_install_win/image/BitCode-Profiler.png) |
|:-----------------------------------------------:|
| **Figure 9. BitCode Profiler** |
#### AMD Display Driver
The AMD Display Driver offers three install types:
- Full Install
- Minimal Install
- Driver only
Table 3 describes the difference in each option shown in Figure 10.
**Note** You must perform a system restart for a complete installation of the
Display Driver.
**Note** Unless you intend to factory reset your machine, leave the
**Factory Reset (Optional)** box unchecked. A Factory Reset will remove all
prior versions of AMD HIP SDK and drivers. You will not be able to roll back to
previously installed drivers.
| **Table 3. Display Driver Install Options** | |
|:-------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| **Install Option** | **Description** |
| **Full Install** | Provides all AMD Software features and controls for gaming, recording, streaming, and tweaking the performance on your graphics hardware. |
| **Minimal Install** | Provides only the basic controls for AMD Software features and does not include advanced features such as performance tweaking or recording and capturing content. |
| **Driver Only** | Provides no user interface for AMD Software features. |
| ![Display Driver](image/AMD-Display-Driver.png) |
|:-----------------------------------------------:|
| **Figure 10. AMD Display Driver Options** |
## Installing Components
Please wait for the installation to complete during as shown in Figure 11.
| ![Installing](../data/hip_sdk_install_win/image/Installation.png) |
|:-------------------------------------:|
| **Figure 11. Active Installation** |
### Installation Complete
Once the installation is complete, the installer window may prompt you for a
system restart. Click **Restart** at the lower right corner, shown in Figure 12.
| ![Installation Complete](../data/hip_sdk_install_win/image/Installation-Complete.png) |
|:---------------------------------------------------------:|
| **Figure 12. Installation Complete** |
## Uninstallation
All components, except visual studio plug-in should be uninstalled through
control panel -> Add/Remove Program. For visual studio extension uninstallation,
please refer to
<https://github.com/ROCm-Developer-Tools/HIP-VS/blob/master/README.md>. For the
uninstallation of the HIP SDK Core and drivers repeat the steps in the sections
[HIP SDK Installer](#hip-sdk-installer) and
[Installing Components](#installing-components).
**Note** Selecting **Install** once ROCm has already installed results in its
uninstallation.
| ![Uninstall](../data/hip_sdk_install_win/image/Uninstallation.png) |
|:----------------------------------------:|
| **Figure 13. HIP SDK Uninstalling** |
# Quick Start (Windows)
The steps to install the HIP SDK for Windows are described in this document.
## System Requirements
The HIP SDK is supported on Windows 10 and 11. The HIP SDK may be installed on a
system without AMD GPUs to use the build toolchains. To run HIP applications, a
compatible GPU is required. Please see the supported GPU guide for more details.
TODO: provide link to supported GPU guide.
## SDK Installation
Installation options are listed in Table 1.
| **Table 1. Components for Installation** ||| |
|:------------------------:|:----------------:|:------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| **HIP Components** | **Install Type** | **Display Driver** | **Install Options** |
| **HIP SDK Core** | **Full** | Adrenalin 22.40 | **Full:** Provides all AMD Software features and controls for gaming, recording, streaming, and tweaking your performance on your graphics hardware. |
| **HIP Libraries** | **Full** | | **Minimal:** Provides only the basic controls for AMD Software features and does not include advanced features such as performance tweaking or recording and capturing content.|
| **HIP Runtime Compiler** | **Full** | | **Driver Only:** Provides no user interface for AMD Software features. |
| **Ray Tracing** | **Full** | | **Do Not Install** |
| **BitCode Profiler** | **Full** | | |
TODO: describe each installation option.
## HIP SDK Installer
The AMD HIP SDK Installer manages the installation and uninstallation process of
HIP SDK for Windows. This includes system configuration checks, installing
components, and installing the display driver.
To launch the AMD HIP SDK Installer, click the **Setup** icon shown in Figure 1.
The installer will begin to load and detect your system's configuration and
compatibility, as shown in Figure 2. A completely loaded AMD HIP SDK Installer
window will appear, as shown in Figure 3.
| ![Setup](../data/hip_sdk_install_win/Setup-Icon.png) |
|:----------------------------------------------------:|
| **Figure 1. Setup Icon** |
| ![Loading Window](../data/hip_sdk_install_win/Loading-Window.png) |
|:-----------------------------------------------------------------:|
| **Figure 2. AMD HIP SDK Loading Window** |
| ![Installer Window](../data/hip_sdk_install_win/Installer-Window.png) |
|:---------------------------------------------------------------------:|
| **Figure 3. AMD HIP SDK Installer Window** |
### Installation Selections
By default, all components are selected for installation. Refer to Figure 3 for
an instance when the Select All option is turned on.
**Note** The Select All option only applies to the installation of HIP
components. To install the AMD Display Driver, manually select the install type.
**Note** To customize the install location on your system, click
**Additional Options** under HIP SDK Core and AMD Radeon Vega 10 Graphics. Refer
to the sections [HIP Components](#hip-components) and
[AMD Display Driver](#amd-display-driver) for more information on each
installation.
To make installation selections and install, follow these steps:
1. Scroll the window to AMD Display Driver and select the desired install type.
Refer to the section [AMD Display Driver](#amd-display-driver) for more
information on installation types.
2. Once selected, click **Install** located in the lower right corner, and skip
to [Installing Components](#installing-components).
#### Deselect All
To select individual component installs onto your system click **Deselect All**
in the upper right corner of the installer window, as seen in Figure 3. Figure 4
demonstrates the installer window once the installation components are all
deselected.
| ![DeSelect All](../data/hip_sdk_install_win/DeSelectAll.png) |
|:------------------------------------------------------------:|
| **Figure 4. Deselect All Selection** |
#### HIP Components
By default, each HIP component will be checked off for full installation,
Figures 4 through 8 demonstrate the options available to you when you click
**Additional Options** under each component.
| **Table 2. Custom Selections for Installation** | |
|:------------------------------------------------------------------|:---------------------------------------------------- |
| **If:** | **Then:** |
| You intend to make custom selections for this installation | Skip to the section _Deselect All_. |
| You do not intend to make custom selections for this installation | Continue to the section _AMD Display Driver_. |
**Note** You can manually select installation locations for the HIP SDK Core, as
shown in Figure 5.
| ![HIP SDK Core](../data/hip_sdk_install_win/HIP-SDK-Core.png) |
|:-------------------------------------------------------------:|
| **Figure 5. HIP SDK Core Option** |
| ![HIP Libraries](../data/hip_sdk_install_win/HIP-Libraries.png) |
|:---------------------------------------------------------------:|
| **Figure 6. HIP Libraries Option** |
| ![HIP Runtime Compiler](../data/hip_sdk_install_win/HIP-Runtime-Compiler.png) |
|:-----------------------------------------------------------------------------:|
| **Figure 7. HIP Runtime Compiler Option** |
| ![HIP Ray Tracing](../data/hip_sdk_install_win/HIP-Ray-Tracing.png) |
|:-------------------------------------------------------------------:|
| **Figure 8. HIP Ray Tracing** |
| ![BitCode Profiler](../data/hip_sdk_install_win/BitCode-Profiler.png) |
|:---------------------------------------------------------------------:|
| **Figure 9. BitCode Profiler** |
#### AMD Display Driver
The AMD Display Driver offers three install types:
- Full Install
- Minimal Install
- Driver only
Table 3 describes the difference in each option shown in Figure 10.
**Note** You must perform a system restart for a complete installation of the
Display Driver.
**Note** Unless you intend to factory reset your machine, leave the
**Factory Reset (Optional)** box unchecked. A Factory Reset will remove all
prior versions of AMD HIP SDK and drivers. You will not be able to roll back to
previously installed drivers.
| **Table 3. Display Driver Install Options** | |
|:-------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| **Install Option** | **Description** |
| **Full Install** | Provides all AMD Software features and controls for gaming, recording, streaming, and tweaking the performance on your graphics hardware. |
| **Minimal Install** | Provides only the basic controls for AMD Software features and does not include advanced features such as performance tweaking or recording and capturing content. |
| **Driver Only** | Provides no user interface for AMD Software features. |
| ![Display Driver](../data/hip_sdk_install_win/AMD-Display-Driver.png) |
|:---------------------------------------------------------------------:|
| **Figure 10. AMD Display Driver Options** |
## Installing Components
Please wait for the installation to complete during as shown in Figure 11.
| ![Installing](../data/hip_sdk_install_win/Installation.png) |
|:-----------------------------------------------------------:|
| **Figure 11. Active Installation** |
### Installation Complete
Once the installation is complete, the installer window may prompt you for a
system restart. Click **Restart** at the lower right corner, shown in Figure 12.
| ![Installation Complete](../data/hip_sdk_install_win/Installation-Complete.png) |
|:-------------------------------------------------------------------------------:|
| **Figure 12. Installation Complete** |
## Uninstallation
All components, except visual studio plug-in should be uninstalled through
control panel -> Add/Remove Program. For visual studio extension uninstallation,
please refer to
<https://github.com/ROCm-Developer-Tools/HIP-VS/blob/master/README.md>. For the
uninstallation of the HIP SDK Core and drivers repeat the steps in the sections
[HIP SDK Installer](#hip-sdk-installer) and
[Installing Components](#installing-components).
**Note** Selecting **Install** once ROCm has already installed results in its
uninstallation.
| ![Uninstall](../data/hip_sdk_install_win/Uninstallation.png) |
|:------------------------------------------------------------:|
| **Figure 13. HIP SDK Uninstalling** |

View File

@@ -1 +1 @@
# Deep Learning Guide
# Deep Learning Guide

View File

@@ -1,5 +1,5 @@
# Docker GPU Isolation Techniques
## GPU Passthrough
## Environment Variable
# Docker GPU Isolation Techniques
## GPU Passthrough
## Environment Variable

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
# PyTorch Installation for ROCm
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Frameworks_Installation.html>
TEST
# PyTorch Installation for ROCm
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Frameworks_Installation.html>
TEST

View File

@@ -1,3 +1,3 @@
# System Debugging Guide
Pull from https://docs.amd.com/bundle/ROCm-System-Level-Debug-Guide-v5.2/page/ROCm_System_Level_Debug_Information.html
# System Debugging Guide
Pull from <https://docs.amd.com/bundle/ROCm-System-Level-Debug-Guide-v5.2/page/ROCm_System_Level_Debug_Information.html>

View File

@@ -1,4 +1,4 @@
# TensorFlow Installation for ROCm
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Frameworks_Installation.html>
# TensorFlow Installation for ROCm
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Frameworks_Installation.html>

View File

@@ -1,4 +1,4 @@
# Inference Optimization Using MIGraphX
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Optimization.html>
# Inference Optimization Using MIGraphX
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Optimization.html>

View File

@@ -1,4 +1,4 @@
# AMD ROCm Documentation
# AMD ROCm Documentation
Welcome to AMD ROCm's documentation!
@@ -63,6 +63,7 @@ Understand ROCm
:padding: 2
How to Guides
^^^
- [How to Isolate GPUs in Docker?](how_to/docker_gpu_isolation)
- [Setting up for Deep Learning with ROCm](how_to/deep_learning_rocm)
- [Magma Installation](how_to/magma_install/magma_install)

View File

@@ -1,23 +1,79 @@
# ISV Deployment Guide (Windows)
## Abstract
ISVs deploying applications using the HIP SDK depend on the AMD GPU Drivers, HIP Runtime Library and HIP SDK Libraries. A compatibility matrix table provides details on AMDs support model. AMD GPU Drivers are distributed with a HIP Runtime included. Each HIP Runtime is associated with a HIP compiler version. Applications built with a particular HIP compiler should document its associated HIP Runtime version and AMD GPU Driver as minimum version requirements for its end users. Applications do not distribute the HIP Runtime. Instead, end users will use the HIP Runtime provided by an AMD GPU Driver. AMD provides backward compatibility for applications dynamically linked to the HIP Runtime based on our Driver and HIP support policy. ISV applications using the HIP SDK Libraries, for example hipBLAS, should distribute the HIP SDK Library as part of its installer package. It is recommended not to require end users to install the HIP SDK. AMD provides backward compatibility for AMD Driver and HIP Runtime for the HIP SDK Libraries based on our support policy. AMD support policy for Visual Studio and other third-party compilers are documented here.
## Introduction
This guide is intended for Independent Software Vendors (ISVs) and other software developers intending to build applications with the HIP SDK for Windows. The HIP SDK is intended for developer distribution in contrast to the AMD GPU driver which is intended for all end users. The guide discusses how to use and distribute components from the HIP SDK. The HIP SDK is the collection of the AMD GPU Driver, HIP Runtime and the HIP Libraries. These three parts are distributed in the HIP SDK installer. The compatibility and versioning relation between these three parts is documented here. AMDs support policies for the developer tools allows the ISVs the stability to plan the usage of a tool chain.
## Recommended Library Distribution Model
The HIP SDK is distributed via a Windows installer. This distribution system is only intended for software developers and testers. AMD recommends that end users of the program built against HIP SDK components do not have a requirement to install the HIP SDK. There are two types of ISV applications that use the HIP SDK as follows.
The first group of ISV applications have a dependency on the HIP Runtime and select HIP Header Only Libraries (rocPRIM, hipCUB and rocThrust). This group of ISV applications need to require their end users install an AMD GPU Driver. Each AMD GPU driver has a HIP runtime library bundled with it. The ISV application should ensure that the HIP runtime library has a minimum version associated with it. As the HIP runtime library does not have semantic versioning, the ISV application cannot check for compatibility. However, AMD is committed to not breaking API/ABI compatibility unless the major version number of the HIP runtime is incremented. ISV applications may run without user warning if the HIP major version available in the driver is the same as the HIP major version associated with the compiler it was built with. The ISV at its discretion may throw a warning if the HIP major version is higher than the associate HIP major version of the compiler it was built with.
The second group of ISV application has a dependency on the HIP Runtime and one or more Dynamically Linked HIP Libraries including the HIP RT library. ISV applications with this dependency need to ensure the end user installs an AMD GPU Driver and is recommended to distribute the dynamically linked HIP library in the installer package of its application. This allows end users to avoid installing the HIP SDK. One benefit of this model is smaller disk space required as only required binaries are distributed by the ISV application. It also avoids the end user to have to agree to licensing agreements for the entire HIP SDK. The version checks recommended for the ISV application including dynamically linked HIP Libraries follow the same requirements as the ISV applications that only have the HIP Runtime and header only library. In addition, each dynamically linked HIP library also has a minimum HIP runtime requirement. Checks for the minimum HIP version for each dynamically linked HIP library may be added at the ISVs discretion. Usually, the minimum HIP version check for the HIP runtime is sufficient if dynamically linked HIP libraries come from the same SDK package as the HIP compiler.
Please note AMD does not support static linking to any components distributed in the HIP SDK.
## Conclusion
This guide provides a limited set of guidance for ISVs application deployment. Please refer to the HIP API guides for the SDK and HIP Optimization guides for more information.
# ISV Deployment Guide (Windows)
## Abstract
ISVs deploying applications using the HIP SDK depend on the AMD GPU Drivers, HIP
Runtime Library and HIP SDK Libraries. A compatibility matrix table provides
details on AMDs support model. AMD GPU Drivers are distributed with a HIP
Runtime included. Each HIP Runtime is associated with a HIP compiler version.
Applications built with a particular HIP compiler should document its associated
HIP Runtime version and AMD GPU Driver as minimum version requirements for its
end users. Applications do not distribute the HIP Runtime. Instead, end users
will use the HIP Runtime provided by an AMD GPU Driver. AMD provides backward
compatibility for applications dynamically linked to the HIP Runtime based on
our Driver and HIP support policy. ISV applications using the HIP SDK Libraries,
for example hipBLAS, should distribute the HIP SDK Library as part of its
installer package. It is recommended not to require end users to install the
HIP SDK. AMD provides backward compatibility for AMD Driver and HIP Runtime for
the HIP SDK Libraries based on our support policy. AMD support policy for Visual
Studio and other third-party compilers are documented here.
## Introduction
This guide is intended for Independent Software Vendors (ISVs) and other
software developers intending to build applications with the HIP SDK for
Windows. The HIP SDK is intended for developer distribution in contrast to the
AMD GPU driver which is intended for all end users. The guide discusses how to
use and distribute components from the HIP SDK. The HIP SDK is the collection of
the AMD GPU Driver, HIP Runtime and the HIP Libraries. These three parts are
distributed in the HIP SDK installer. The compatibility and versioning relation
between these three parts is documented here. AMDs support policies for the
developer tools allows the ISVs the stability to plan the usage of a tool chain.
## Recommended Library Distribution Model
The HIP SDK is distributed via a Windows installer. This distribution system is
only intended for software developers and testers. AMD recommends that end users
of the program built against HIP SDK components do not have a requirement to
install the HIP SDK. There are two types of ISV applications that use the HIP
SDK as follows.
The first group of ISV applications have a dependency on the HIP Runtime and
select HIP Header Only Libraries (rocPRIM, hipCUB and rocThrust). This group of
ISV applications need to require their end users install an AMD GPU Driver. Each
AMD GPU driver has a HIP runtime library bundled with it. The ISV application
should ensure that the HIP runtime library has a minimum version associated with
it. As the HIP runtime library does not have semantic versioning, the ISV
application cannot check for compatibility. However, AMD is committed to not
breaking API/ABI compatibility unless the major version number of the HIP
runtime is incremented. ISV applications may run without user warning if the HIP
major version available in the driver is the same as the HIP major version
associated with the compiler it was built with. The ISV at its discretion may
throw a warning if the HIP major version is higher than the associate HIP major
version of the compiler it was built with.
The second group of ISV application has a dependency on the HIP Runtime and one
or more Dynamically Linked HIP Libraries including the HIP RT library. ISV
applications with this dependency need to ensure the end user installs an AMD
GPU Driver and is recommended to distribute the dynamically linked HIP library
in the installer package of its application. This allows end users to avoid
installing the HIP SDK. One benefit of this model is smaller disk space required
as only required binaries are distributed by the ISV application. It also avoids
the end user to have to agree to licensing agreements for the entire HIP SDK.
The version checks recommended for the ISV application including dynamically
linked HIP Libraries follow the same requirements as the ISV applications that
only have the HIP Runtime and header only library. In addition, each dynamically
linked HIP library also has a minimum HIP runtime requirement. Checks for the
minimum HIP version for each dynamically linked HIP library may be added at the
ISVs discretion. Usually, the minimum HIP version check for the HIP runtime is
sufficient if dynamically linked HIP libraries come from the same SDK package as
the HIP compiler.
Please note AMD does not support static linking to any components distributed in
the HIP SDK.
## Conclusion
This guide provides a limited set of guidance for ISVs application deployment.
Please refer to the HIP API guides for the SDK and HIP Optimization guides for
more information.

View File

@@ -1,236 +1,236 @@
# Quick Start (Linux)
## Install Prerequisites
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
Install kernel headers and modules for the active kernel.
```bash
sudo apt install linux-headers-`uname -r` linux-modules-extra-`uname -r`
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::
## Add Repositories
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
Add the ROCm GPG key and add the repositories
```bash
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add -
echo 'deb [arch=amd64] https://repo.radeon.com/amdgpu/latest/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/amdgpu.list
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ focal main' | sudo tee /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt-get update
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::
## Install Drivers
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
Install the amdgpu kernel module, aka driver, on your system.
```bash
sudo apt install amdgpu-dkms
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::
## Install ROCm Runtimes
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
Installs the rocm-hip-runtime metapackage. This contains depedencies for most
common ROCm applications.
```bash
sudo apt install rocm-hip-libraries
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::
## Reboot the system
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
The driver requires a system reboot.
```bash
sudo reboot
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::
# Quick Start (Linux)
## Install Prerequisites
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
Install kernel headers and modules for the active kernel.
```bash
sudo apt install linux-headers-`uname -r` linux-modules-extra-`uname -r`
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::
## Add Repositories
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
Add the ROCm GPG key and add the repositories
```bash
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add -
echo 'deb [arch=amd64] https://repo.radeon.com/amdgpu/latest/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/amdgpu.list
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ focal main' | sudo tee /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt-get update
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::
## Install Drivers
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
Install the amdgpu kernel module, aka driver, on your system.
```bash
sudo apt install amdgpu-dkms
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::
## Install ROCm Runtimes
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
Installs the rocm-hip-runtime metapackage. This contains depedencies for most
common ROCm applications.
```bash
sudo apt install rocm-hip-libraries
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::
## Reboot the system
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: key5
The driver requires a system reboot.
```bash
sudo reboot
```
:::
:::{tab-item} Ubuntu 22.04
:sync: key6
Content 3
:::
:::{tab-item} RHEL8
:sync: key1
Content 1
:::
:::{tab-item} RHEL9
:sync: key2
Content 2
:::
:::{tab-item} SLES15 SP3
:sync: key3
Content 3
:::
:::{tab-item} SLES15 SP4
:sync: key4
Content 3
:::
::::

View File

@@ -1 +1 @@
# Computer Vision
# Computer Vision

View File

@@ -1 +1 @@
# Development Tools
# Development Tools

View File

@@ -1,8 +1,8 @@
# Framework Compatibility
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Prerequisites.html>.
Only the frameworks content. Link to kernel/userspace guide.
Also pull content from
<https://docs.amd.com/bundle/ROCm-Compatible-Frameworks-Release-Notes/page/Framework_Release_Notes.html>
# Framework Compatibility
Pull content from
<https://docs.amd.com/bundle/ROCm-Deep-Learning-Guide-v5.4.1/page/Prerequisites.html>.
Only the frameworks content. Link to kernel/userspace guide.
Also pull content from
<https://docs.amd.com/bundle/ROCm-Compatible-Frameworks-Release-Notes/page/Framework_Release_Notes.html>

View File

@@ -1,10 +1,19 @@
# GPU Architectures
## ISA Documentation
- [AMD Instinct MI200 Instruction Set Architecture Reference Guide](https://developer.amd.com/wp-content/resources/CDNA2_Shader_ISA_18November2021.pdf)
## Whitepapers
- [AMD CDNA Architecture Whitepaper](https://www.amd.com/system/files/documents/amd-cdna-whitepaper.pdf)
- [AMD CDNA™ 2 Architecture Whitepaper](https://www.amd.com/system/files/documents/amd-cdna2-white-paper.pdf)
# GPU Architectures
## ISA Documentation
- [AMD Instinct MI200/CDNA2 Instruction Set Architecture](https://www.amd.com/system/files/TechDocs/instinct-mi200-cdna2-instruction-set-architecture.pdf)
- [AMD Instinct MI100/CDNA1 Instruction Set Architecture](https://www.amd.com/system/files/TechDocs/instinct-mi100-cdna1-shader-instruction-set-architecture%C2%A0.pdf)
- [AMD Instinct MI50/Vega 7nm Instruction Set Architecture](https://www.amd.com/system/files/TechDocs/vega-7nm-shader-instruction-set-architecture.pdf)
- [AMD Instinct MI25/Vega Instruction Set Architecture](https://www.amd.com/system/files/TechDocs/vega-shader-instruction-set-architecture.pdf)
- [AMD RDNA3 Instruction Set Architecture](https://www.amd.com/system/files/TechDocs/rdna3-shader-instruction-set-architecture-feb-2023_0.pdf)
- [AMD RDNA2 Instruction Set Architecture](https://www.amd.com/system/files/TechDocs/rdna2-shader-instruction-set-architecture.pdf)
- [AMD RDNA Instruction Set Architecture](https://www.amd.com/system/files/TechDocs/rdna-shader-instruction-set-architecture.pdf)
- [AMD GCN3 Instruction Set Architecture](https://www.amd.com/system/files/TechDocs/gcn3-instruction-set-architecture.pdf)
## Whitepapers
- [AMD CDNA™ 2 Architecture Whitepaper](https://www.amd.com/system/files/documents/amd-cdna2-white-paper.pdf)
- [AMD CDNA Architecture Whitepaper](https://www.amd.com/system/files/documents/amd-cdna-whitepaper.pdf)
- [AMD Vega Architecture Whitepaper](https://en.wikichip.org/w/images/a/a1/vega-whitepaper.pdf)
- [AMD RDNA Architecture Whitepaper](https://www.amd.com/system/files/documents/rdna-whitepaper.pdf)

View File

@@ -8,7 +8,7 @@ ROCm libraries for BLAS are as follows:
:::{grid-item-card} hipBLAS
hipBLAS is a compatiblity layer for GPU accelerated BLAS optimized for AMD GPUs
via rocBLAS and rocSOLVER. hipBLAS allows for a common interface for other GPU
BLAS libraries.
BLAS libraries.
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/CHANGELOG.md)
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipBLAS/en/rtd/)

View File

@@ -8,7 +8,7 @@ ROCm libraries for FFT are as follows:
:::{grid-item-card} hipFFT
hipFFT is a compatiblity layer for GPU accelerated FFT optimized for AMD GPUs
using rocFFT. hipFFT allows for a common interface for other non AMD GPU
FFT libraries.
FFT libraries.
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipFFT/blob/develop/CHANGELOG.md)
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipFFT/en/rtd/)
@@ -24,4 +24,4 @@ rocFFT is an AMD GPU optimized library for FFT.
:::
:::::
:::::

View File

@@ -1,2 +1 @@
# HIP

View File

@@ -1 +1 @@
# Kernel Userspace Compatiblity Reference
# Kernel Userspace Compatibility Reference

File diff suppressed because it is too large Load Diff

1
docs/reference/tools.md Normal file
View File

@@ -0,0 +1 @@
# Management Tools

View File

@@ -1,146 +1,154 @@
# GPU and OS Support
## OS Support
ROCm supports the operating systems listed below.
| OS | Validated Kernel |
|:------------------:|:------------------:|
| RHEL 9.1 | `5.14` |
| RHEL 8.6 to 8.7 | `4.18` |
| SLES 15 SP4 | |
| Ubuntu 20.04.5 LTS | `5.15` |
| Ubuntu 22.04.1 LTS | `5.15`, OEM `5.17` |
## Virtualization Support
ROCm supports virtualization for select GPUs only as shown below.
| Hypervisor | Version | GPU | Validated Guest OS (validated kernel) |
|:--------------:|:--------:|:-----:|:--------------------------------------------------------------------------------:|
| VMWare |ESXi 8 | MI250 | `Ubuntu 20.04 (5.15.0-56-generic)` |
| VMWare |ESXi 8 | MI210 | `Ubuntu 20.04 (5.15.0-56-generic)`, `SLES 15 SP4 (5.14.21-150400.24.18-default)` |
| VMWare |ESXi 7 | MI210 | `Ubuntu 20.04 (5.15.0-56-generic)`, `SLES 15 SP4( 5.14.21-150400.24.18-default)` |
## GPU Support Table
::::{tab-set}
:::{tab-item} Instinct™
:sync: instinct
Use Driver Shipped with ROCm
|GPU |Architecture |Product|[LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Linux | Windows |
|:----------------:|:--------------:|:----:|:--------------------------------------------------------------------:|:------------------------------------:|:-------:|
|Instinct™ MI250X | CDNA2 |Full |gfx90a |Supported |Unsupported |
|Instinct™ MI250 | CDNA2 |Full |gfx90a |Supported |Unsupported |
|Instinct™ MI210 | CDNA2 |Full |gfx90a |Supported |Unsupported |
|Instinct™ MI100 | CDNA |Full |gfx908 |Supported |Unsupported |
|Instinct™ MI50 | Vega |Full |gfx906 |Supported |Unsupported |
:::
:::{tab-item} Radeon Pro
:sync: radeonpro
[Use Radeon Pro Driver](https://www.amd.com/en/support/linux-drivers)
|GPU |Architecture |SW Level|[LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Linux | Windows |
|:----------------:|:--------------:|:----:|:--------------------------------------------------------------------:|:------------------------------------:|:-------:|
|Radeon™ Pro W6800 | RDNA2 |Full |gfx1030 |Supported |Supported|
|Radeon™ Pro V620 | RDNA2 |Full|gfx1030 |Supported |Unsupported|
:::
:::{tab-item} Radeon
:sync: radeon
[Use Radeon Pro Driver](https://www.amd.com/en/support/linux-drivers)
|GPU |Architecture |SW Level|[LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Linux | Windows |
|:----------------:|:--------------:|:----:|:--------------------------------------------------------------------:|:------------------------------------:|:-------:|
|Radeon™ RX 6900 XT| RDNA2 |HIP SDK|gfx1030 |Supported |Supported|
|Radeon™ RX 6600 | RDNA2 |HIP Runtime|gfx1031 |Supported|Supported|
|Radeon™ R9 Fury | Fiji |Full|gfx803 |Community |Unsupported|
:::
::::
### Software Enablement Level
::::{tab-set}
:::{tab-item} Instinct™
:sync: instinct
Instinct™ products support the full stack available in ROCm.
:::
:::{tab-item} Radeon Pro™
:sync: radeonpro
ROCm software support varies by GPU type and Operating System. ROCm ecosystem products are three software stack enablement levels that correspond as described below:
- Full includes all software that is part of the ROCm ecosystem. Please see [article](link) for details of ROCm.
- HIP SDK includes the HIP Runtime and a selection of GPU libraries for compute. Please see [article](link) for details of HIP SDK.
- HIP Runtime enables the use of the HIP Runtime only.
:::
:::{tab-item} Radeon™
:sync: radeon
ROCm software support varies by GPU type and Operating System. ROCm ecosystem products are three software stack enablement levels that correspond as described below:
- Full includes all software that is part of the ROCm ecosystem. Please see [article](link) for details of ROCm.
- HIP SDK includes the HIP Runtime and a selection of GPU libraries for compute. Please see [article](link) for details of HIP SDK.
- HIP enables the use of the HIP Runtime only.
:::
::::
### Support Status
::::{tab-set}
:::{tab-item} Instinct™
:sync: instinct
- Supported - AMD enables these GPUs in our software distributions for the corresponding ROCm product.
- Unsupported - This configuration is not enabled in our software distributions.
- Deprecated - Support will be removed in a future release.
:::
:::{tab-item} Radeon Pro™
:sync: radeonpro
GPU support levels for Radeon Pro™
- Supported - AMD enables these GPUs in our software distributions for the corresponding ROCm product.
- Unsupported - This configuration is not enabled in our software distributions.
- Deprecated - Support will be removed in a future release.
- Community - AMD does not enable these GPUs in our software distributions but end users are free to enable these GPUs themselves.
:::
:::{tab-item} Radeon™
:sync: radeon
Support levels for Radeon™ GPUs:
- Supported - AMD enables these GPUs in our software distributions for the corresponding ROCm product.
- Unsupported - This configuration is not enabled in our software distributions.
- Deprecated - Support will be removed in a future release.
- Community - AMD does not enable these GPUs in our software distributions but end users are free to enable these GPUs themselves.
:::
::::
## CPU Support
ROCm requires CPUs that support PCIe™ Atomics. Modern CPUs after the release of
1st generation AMD Zen CPU and Intel™ Haswell support PCIe Atomics.
# GPU and OS Support
## OS Support
ROCm supports the operating systems listed below.
| OS | Validated Kernel |
|:------------------:|:------------------:|
| RHEL 9.1 | `5.14` |
| RHEL 8.6 to 8.7 | `4.18` |
| SLES 15 SP4 | |
| Ubuntu 20.04.5 LTS | `5.15` |
| Ubuntu 22.04.1 LTS | `5.15`, OEM `5.17` |
## Virtualization Support
ROCm supports virtualization for select GPUs only as shown below.
| Hypervisor | Version | GPU | Validated Guest OS (validated kernel) |
|:--------------:|:--------:|:-----:|:--------------------------------------------------------------------------------:|
| VMWare |ESXi 8 | MI250 | `Ubuntu 20.04 (5.15.0-56-generic)` |
| VMWare |ESXi 8 | MI210 | `Ubuntu 20.04 (5.15.0-56-generic)`, `SLES 15 SP4 (5.14.21-150400.24.18-default)` |
| VMWare |ESXi 7 | MI210 | `Ubuntu 20.04 (5.15.0-56-generic)`, `SLES 15 SP4( 5.14.21-150400.24.18-default)` |
## GPU Support Table
::::{tab-set}
:::{tab-item} Instinct™
:sync: instinct
Use Driver Shipped with ROCm
| GPU | Architecture | Product | [LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Linux | Windows |
|:-=---------------:|:---------------:|:-------:|:--------------------------------------------------------------------:|:------------------------------------:|:-----------:|
| Instinct™ MI250X | CDNA2 | Full | gfx90a | Supported | Unsupported |
| Instinct™ MI250 | CDNA2 | Full | gfx90a | Supported | Unsupported |
| Instinct™ MI210 | CDNA2 | Full | gfx90a | Supported | Unsupported |
| Instinct™ MI100 | CDNA | Full | gfx908 | Supported | Unsupported |
| Instinct™ MI50 | Vega | Full | gfx906 | Supported | Unsupported |
:::
:::{tab-item} Radeon Pro™
:sync: radeonpro
[Use Radeon Pro Driver](https://www.amd.com/en/support/linux-drivers)
| GPU | Architecture | SW Level | [LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Linux | Windows |
|:-----------------:|:---------------:|:--------:|:--------------------------------------------------------------------:|:------------------------------------:|:-----------:|
| Radeon™ Pro W6800 | RDNA2 | Full | gfx1030 | Supported | Supported |
| Radeon™ Pro V620 | RDNA2 | Full | gfx1030 | Supported | Unsupported |
:::
:::{tab-item} Radeon™
:sync: radeon
[Use Radeon Pro Driver](https://www.amd.com/en/support/linux-drivers)
| GPU | Architecture | SW Level | [LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Linux | Windows |
|:------------------:|:--------------:|:----------:|:--------------------------------------------------------------------:|:------------------------------------:|:-----------:|
| Radeon™ RX 6900 XT | RDNA2 |HIP SDK | gfx1030 | Supported | Supported |
| Radeon™ RX 6600 | RDNA2 |HIP Runtime | gfx1031 | Supported | Supported |
| Radeon™ R9 Fury | Fiji |Full | gfx803 | Community | Unsupported |
:::
::::
### Software Enablement Level
::::{tab-set}
:::{tab-item} Instinct™
:sync: instinct
Instinct™ products support the full stack available in ROCm.
:::
:::{tab-item} Radeon Pro™
:sync: radeonpro
ROCm software support varies by GPU type and Operating System. ROCm ecosystem
products are three software stack enablement levels that correspond as
described below:
- Full includes all software that is part of the ROCm ecosystem. Please see
[article](link) for details of ROCm.
- HIP SDK includes the HIP Runtime and a selection of GPU libraries for compute.
Please see [article](link) for details of HIP SDK.
- HIP Runtime enables the use of the HIP Runtime only.
:::
:::{tab-item} Radeon
:sync: radeon
ROCm software support varies by GPU type and Operating System. ROCm ecosystem
products are three software stack enablement levels that correspond as described
below:
- Full includes all software that is part of the ROCm ecosystem. Please see
[article](link) for details of ROCm.
- HIP SDK includes the HIP Runtime and a selection of GPU libraries for compute.
Please see [article](link) for details of HIP SDK.
- HIP enables the use of the HIP Runtime only.
:::
::::
### Support Status
::::{tab-set}
:::{tab-item} Instinct
:sync: instinct
- Supported - AMD enables these GPUs in our software distributions for the
corresponding ROCm product.
- Unsupported - This configuration is not enabled in our software distributions.
- Deprecated - Support will be removed in a future release.
:::
:::{tab-item} Radeon Pro™
:sync: radeonpro
GPU support levels for Radeon Pro™
- Supported - AMD enables these GPUs in our software distributions for the
corresponding ROCm product.
- Unsupported - This configuration is not enabled in our software distributions.
- Deprecated - Support will be removed in a future release.
- Community - AMD does not enable these GPUs in our software distributions but
end users are free to enable these GPUs themselves.
:::
:::{tab-item} Radeon™
:sync: radeon
Support levels for Radeon™ GPUs:
- Supported - AMD enables these GPUs in our software distributions for the
corresponding ROCm product.
- Unsupported - This configuration is not enabled in our software distributions.
- Deprecated - Support will be removed in a future release.
- Community - AMD does not enable these GPUs in our software distributions but
end users are free to enable these GPUs themselves.
:::
::::
## CPU Support
ROCm requires CPUs that support PCIe™ Atomics. Modern CPUs after the release of
1st generation AMD Zen CPU and Intel™ Haswell support PCIe Atomics.

View File

@@ -1,93 +1,93 @@
# Licensing Terms
ROCm™ is released by Advanced Micro Devices, Inc. under the open source licenses
via public GitHub repositories. The following table is a list of ROCm components
with the links to the license terms. The list is ordered to follow ROCm's
manifest file.
| Component | License |
|:------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------:|
| [ROCK-Kernel-Driver](https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/) | [GPL 2.0 WITH Linux-syscall-note](https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/blob/master/COPYING) |
| [ROCT-Thunk-Interface](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/) | [MIT](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/blob/master/LICENSE.md) |
| [ROCR-Runtime](https://github.com/RadeonOpenCompute/ROCR-Runtime/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/ROCR-Runtime/blob/master/LICENSE.txt) |
| [rocm_smi_lib](https://github.com/RadeonOpenCompute/rocm_smi_lib/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/rocm_smi_lib/blob/master/License.txt) |
| [rocm-cmake](https://github.com/RadeonOpenCompute/rocm-cmake/) | [MIT](https://github.com/RadeonOpenCompute/rocm-cmake/blob/develop/LICENSE) |
| [rocminfo](https://github.com/RadeonOpenCompute/rocminfo/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/rocminfo/blob/master/License.txt) |
| [rocprofiler](https://github.com/ROCm-Developer-Tools/rocprofiler/) | [MIT](https://github.com/ROCm-Developer-Tools/rocprofiler/blob/amd-master/LICENSE) |
| [roctracer](https://github.com/ROCm-Developer-Tools/roctracer/) | [MIT](https://github.com/ROCm-Developer-Tools/roctracer/blob/amd-master/LICENSE) |
| [ROCm-OpenCL-Runtime](https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/) | [MIT](https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/blob/develop/LICENSE.txt) |
| [ROCm-OpenCL-Runtime/api/opencl/khronos/icd](https://github.com/KhronosGroup/OpenCL-ICD-Loader/) | [Apache 2.0](https://github.com/KhronosGroup/OpenCL-ICD-Loader/blob/main/LICENSE) |
| [clang-ocl](https://github.com/RadeonOpenCompute/clang-ocl/) | [MIT](https://github.com/RadeonOpenCompute/clang-ocl/blob/master/LICENSE) |
| [HIP](https://github.com/ROCm-Developer-Tools/HIP/) | [MIT](https://github.com/ROCm-Developer-Tools/HIP/blob/develop/LICENSE.txt) |
| [hipamd](https://github.com/ROCm-Developer-Tools/hipamd/) | [MIT](https://github.com/ROCm-Developer-Tools/hipamd/blob/develop/LICENSE.txt) |
| [ROCclr](https://github.com/ROCm-Developer-Tools/ROCclr/) | [MIT](https://github.com/ROCm-Developer-Tools/ROCclr/blob/develop/LICENSE.txt) |
| [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/) | [MIT](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/amd-staging/LICENSE.txt) |
| [HIPCC](https://github.com/ROCm-Developer-Tools/HIPCC/blob/) | [MIT](https://github.com/ROCm-Developer-Tools/HIPCC/blob/develop/LICENSE.txt) |
| [llvm-project](https://github.com/ROCm-Developer-Tools/llvm-project/) | [Apache](https://github.com/ROCm-Developer-Tools/llvm-project/blob/main/LICENSE.TXT) |
| [ROCm-Device-Libs](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/blob/amd-stg-open/LICENSE.TXT) |
| [atmi](https://github.com/RadeonOpenCompute/atmi/) | [MIT](https://github.com/RadeonOpenCompute/atmi/blob/master/LICENSE.txt) |
| [ROCm-CompilerSupport](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/blob/amd-stg-open/LICENSE.txt) |
| [rocr_debug_agent](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/) | [The University of Illinois/NCSA](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/blob/master/LICENSE.txt) |
| [rocm_bandwidth_test](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/blob/master/LICENSE.txt) |
| [half](https://github.com/ROCmSoftwarePlatform/half/) | [MIT](https://github.com/ROCmSoftwarePlatform/half/blob/master/LICENSE.txt) |
| [RCP](https://github.com/GPUOpen-Tools/radeon_compute_profiler/) | [MIT](https://github.com/GPUOpen-Tools/radeon_compute_profiler/blob/master/LICENSE) |
| [ROCgdb](https://github.com/ROCm-Developer-Tools/ROCgdb/) | [GNU General Public License v2.0](https://github.com/ROCm-Developer-Tools/ROCgdb/blob/amd-master/COPYING) |
| [ROCdbgapi](https://github.com/ROCm-Developer-Tools/ROCdbgapi/) | [MIT](https://github.com/ROCm-Developer-Tools/ROCdbgapi/blob/amd-master/LICENSE.txt) |
| [rdc](https://github.com/RadeonOpenCompute/rdc/) | [MIT](https://github.com/RadeonOpenCompute/rdc/blob/master/LICENSE) |
| [rocBLAS](https://github.com/ROCmSoftwarePlatform/rocBLAS/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/LICENSE.md) |
| [Tensile](https://github.com/ROCmSoftwarePlatform/Tensile/) | [MIT](https://github.com/ROCmSoftwarePlatform/Tensile/blob/develop/LICENSE.md) |
| [hipBLAS](https://github.com/ROCmSoftwarePlatform/hipBLAS/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/LICENSE.md) |
| [rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/LICENSE.md) |
| [hipFFT](https://github.com/ROCmSoftwarePlatform/hipFFT/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipFFT/blob/develop/LICENSE.md) |
| [rocRAND](https://github.com/ROCmSoftwarePlatform/rocRAND/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocRAND/blob/develop/LICENSE.txt) |
| [rocSPARSE](https://github.com/ROCmSoftwarePlatform/rocSPARSE/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocSPARSE/blob/develop/LICENSE.md) |
| [rocSOLVER](https://github.com/ROCmSoftwarePlatform/rocSOLVER/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocSOLVER/blob/develop/LICENSE.md) |
| [hipSOLVER](https://github.com/ROCmSoftwarePlatform/hipSOLVER/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipSOLVER/blob/develop/LICENSE.md) |
| [hipSPARSE](https://github.com/ROCmSoftwarePlatform/hipSPARSE/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipSPARSE/blob/develop/LICENSE.md) |
| [rocALUTION](https://github.com/ROCmSoftwarePlatform/rocALUTION/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocALUTION/blob/develop/LICENSE.md) |
| [MIOpenGEMM](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/) | [MIT](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/blob/master/LICENSE.txt) |
| [MIOpen](https://github.com/ROCmSoftwarePlatform/MIOpen/) | [MIT](https://github.com/ROCmSoftwarePlatform/MIOpen/blob/master/LICENSE.txt) |
| [rccl](https://github.com/ROCmSoftwarePlatform/rccl/) | [Custom](https://github.com/ROCmSoftwarePlatform/rccl/blob/develop/LICENSE.txt) |
| [MIVisionX](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/) | [MIT](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/blob/master/LICENSE.txt) |
| [rocThrust](https://github.com/ROCmSoftwarePlatform/rocThrust/) | [Apache 2.0](https://github.com/ROCmSoftwarePlatform/rocThrust/blob/develop/LICENSE) |
| [hipCUB](https://github.com/ROCmSoftwarePlatform/hipCUB/) | [Custom](https://github.com/ROCmSoftwarePlatform/hipCUB/blob/develop/LICENSE.txt) |
| [rocPRIM](https://github.com/ROCmSoftwarePlatform/rocPRIM/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocPRIM/blob/develop/LICENSE.txt) |
| [rocWMMA](https://github.com/ROCmSoftwarePlatform/rocWMMA/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocWMMA/blob/develop/LICENSE.md) |
| [hipfort](https://github.com/ROCmSoftwarePlatform/hipfort/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipfort/blob/master/LICENSE) |
| [AMDMIGraphX](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/) | [MIT](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/blob/develop/LICENSE) |
| [ROCmValidationSuite](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/) | [MIT](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/blob/master/LICENSE) |
| [aomp](https://github.com/ROCm-Developer-Tools/aomp/) | [Apache 2.0](https://github.com/ROCm-Developer-Tools/aomp/blob/aomp-dev/LICENSE) |
| [aomp-extras](https://github.com/ROCm-Developer-Tools/aomp-extras/) | [MIT](https://github.com/ROCm-Developer-Tools/aomp-extras/blob/aomp-dev/LICENSE) |
| [flang](https://github.com/ROCm-Developer-Tools/flang/) | [Apache 2.0](https://github.com/ROCm-Developer-Tools/flang/blob/master/LICENSE.txt) |
The additional terms and conditions below apply to your use of ROCm technical
documentation.
©2022 Advanced Micro Devices, Inc. All rights reserved.
The information presented in this document is for informational purposes only
and may contain technical inaccuracies, omissions, and typographical errors. The
information contained herein is subject to change and may be rendered inaccurate
for many reasons, including but not limited to product and roadmap changes,
component and motherboard version changes, new model and/or product releases,
product differences between differing manufacturers, software changes, BIOS
flashes, firmware upgrades, or the like. Any computer system has risks of
security vulnerabilities that cannot be completely prevented or mitigated. AMD
assumes no obligation to update or otherwise correct or revise this information.
However, AMD reserves the right to revise this information and to make changes
from time to time to the content hereof without obligation of AMD to notify any
person of such revisions or changes.
THIS INFORMATION IS PROVIDED “AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES
WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY
INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD
SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE
LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER
CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN,
EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
AMD, the AMD Arrow logo, ROCm, and combinations thereof are trademarks of
Advanced Micro Devices, Inc. Other product names used in this publication are
for identification purposes only and may be trademarks of their respective
companies.
# Licensing Terms
ROCm™ is released by Advanced Micro Devices, Inc. under the open source licenses
via public GitHub repositories. The following table is a list of ROCm components
with the links to the license terms. The list is ordered to follow ROCm's
manifest file.
| Component | License |
|:------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------:|
| [ROCK-Kernel-Driver](https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/) | [GPL 2.0 WITH Linux-syscall-note](https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/blob/master/COPYING) |
| [ROCT-Thunk-Interface](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/) | [MIT](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/blob/master/LICENSE.md) |
| [ROCR-Runtime](https://github.com/RadeonOpenCompute/ROCR-Runtime/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/ROCR-Runtime/blob/master/LICENSE.txt) |
| [rocm_smi_lib](https://github.com/RadeonOpenCompute/rocm_smi_lib/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/rocm_smi_lib/blob/master/License.txt) |
| [rocm-cmake](https://github.com/RadeonOpenCompute/rocm-cmake/) | [MIT](https://github.com/RadeonOpenCompute/rocm-cmake/blob/develop/LICENSE) |
| [rocminfo](https://github.com/RadeonOpenCompute/rocminfo/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/rocminfo/blob/master/License.txt) |
| [rocprofiler](https://github.com/ROCm-Developer-Tools/rocprofiler/) | [MIT](https://github.com/ROCm-Developer-Tools/rocprofiler/blob/amd-master/LICENSE) |
| [roctracer](https://github.com/ROCm-Developer-Tools/roctracer/) | [MIT](https://github.com/ROCm-Developer-Tools/roctracer/blob/amd-master/LICENSE) |
| [ROCm-OpenCL-Runtime](https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/) | [MIT](https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/blob/develop/LICENSE.txt) |
| [ROCm-OpenCL-Runtime/api/opencl/khronos/icd](https://github.com/KhronosGroup/OpenCL-ICD-Loader/) | [Apache 2.0](https://github.com/KhronosGroup/OpenCL-ICD-Loader/blob/main/LICENSE) |
| [clang-ocl](https://github.com/RadeonOpenCompute/clang-ocl/) | [MIT](https://github.com/RadeonOpenCompute/clang-ocl/blob/master/LICENSE) |
| [HIP](https://github.com/ROCm-Developer-Tools/HIP/) | [MIT](https://github.com/ROCm-Developer-Tools/HIP/blob/develop/LICENSE.txt) |
| [hipamd](https://github.com/ROCm-Developer-Tools/hipamd/) | [MIT](https://github.com/ROCm-Developer-Tools/hipamd/blob/develop/LICENSE.txt) |
| [ROCclr](https://github.com/ROCm-Developer-Tools/ROCclr/) | [MIT](https://github.com/ROCm-Developer-Tools/ROCclr/blob/develop/LICENSE.txt) |
| [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/) | [MIT](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/amd-staging/LICENSE.txt) |
| [HIPCC](https://github.com/ROCm-Developer-Tools/HIPCC/blob/) | [MIT](https://github.com/ROCm-Developer-Tools/HIPCC/blob/develop/LICENSE.txt) |
| [llvm-project](https://github.com/ROCm-Developer-Tools/llvm-project/) | [Apache](https://github.com/ROCm-Developer-Tools/llvm-project/blob/main/LICENSE.TXT) |
| [ROCm-Device-Libs](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/blob/amd-stg-open/LICENSE.TXT) |
| [atmi](https://github.com/RadeonOpenCompute/atmi/) | [MIT](https://github.com/RadeonOpenCompute/atmi/blob/master/LICENSE.txt) |
| [ROCm-CompilerSupport](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/blob/amd-stg-open/LICENSE.txt) |
| [rocr_debug_agent](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/) | [The University of Illinois/NCSA](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/blob/master/LICENSE.txt) |
| [rocm_bandwidth_test](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/blob/master/LICENSE.txt) |
| [half](https://github.com/ROCmSoftwarePlatform/half/) | [MIT](https://github.com/ROCmSoftwarePlatform/half/blob/master/LICENSE.txt) |
| [RCP](https://github.com/GPUOpen-Tools/radeon_compute_profiler/) | [MIT](https://github.com/GPUOpen-Tools/radeon_compute_profiler/blob/master/LICENSE) |
| [ROCgdb](https://github.com/ROCm-Developer-Tools/ROCgdb/) | [GNU General Public License v2.0](https://github.com/ROCm-Developer-Tools/ROCgdb/blob/amd-master/COPYING) |
| [ROCdbgapi](https://github.com/ROCm-Developer-Tools/ROCdbgapi/) | [MIT](https://github.com/ROCm-Developer-Tools/ROCdbgapi/blob/amd-master/LICENSE.txt) |
| [rdc](https://github.com/RadeonOpenCompute/rdc/) | [MIT](https://github.com/RadeonOpenCompute/rdc/blob/master/LICENSE) |
| [rocBLAS](https://github.com/ROCmSoftwarePlatform/rocBLAS/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/LICENSE.md) |
| [Tensile](https://github.com/ROCmSoftwarePlatform/Tensile/) | [MIT](https://github.com/ROCmSoftwarePlatform/Tensile/blob/develop/LICENSE.md) |
| [hipBLAS](https://github.com/ROCmSoftwarePlatform/hipBLAS/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/LICENSE.md) |
| [rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/LICENSE.md) |
| [hipFFT](https://github.com/ROCmSoftwarePlatform/hipFFT/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipFFT/blob/develop/LICENSE.md) |
| [rocRAND](https://github.com/ROCmSoftwarePlatform/rocRAND/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocRAND/blob/develop/LICENSE.txt) |
| [rocSPARSE](https://github.com/ROCmSoftwarePlatform/rocSPARSE/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocSPARSE/blob/develop/LICENSE.md) |
| [rocSOLVER](https://github.com/ROCmSoftwarePlatform/rocSOLVER/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocSOLVER/blob/develop/LICENSE.md) |
| [hipSOLVER](https://github.com/ROCmSoftwarePlatform/hipSOLVER/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipSOLVER/blob/develop/LICENSE.md) |
| [hipSPARSE](https://github.com/ROCmSoftwarePlatform/hipSPARSE/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipSPARSE/blob/develop/LICENSE.md) |
| [rocALUTION](https://github.com/ROCmSoftwarePlatform/rocALUTION/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocALUTION/blob/develop/LICENSE.md) |
| [MIOpenGEMM](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/) | [MIT](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/blob/master/LICENSE.txt) |
| [MIOpen](https://github.com/ROCmSoftwarePlatform/MIOpen/) | [MIT](https://github.com/ROCmSoftwarePlatform/MIOpen/blob/master/LICENSE.txt) |
| [rccl](https://github.com/ROCmSoftwarePlatform/rccl/) | [Custom](https://github.com/ROCmSoftwarePlatform/rccl/blob/develop/LICENSE.txt) |
| [MIVisionX](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/) | [MIT](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/blob/master/LICENSE.txt) |
| [rocThrust](https://github.com/ROCmSoftwarePlatform/rocThrust/) | [Apache 2.0](https://github.com/ROCmSoftwarePlatform/rocThrust/blob/develop/LICENSE) |
| [hipCUB](https://github.com/ROCmSoftwarePlatform/hipCUB/) | [Custom](https://github.com/ROCmSoftwarePlatform/hipCUB/blob/develop/LICENSE.txt) |
| [rocPRIM](https://github.com/ROCmSoftwarePlatform/rocPRIM/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocPRIM/blob/develop/LICENSE.txt) |
| [rocWMMA](https://github.com/ROCmSoftwarePlatform/rocWMMA/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocWMMA/blob/develop/LICENSE.md) |
| [hipfort](https://github.com/ROCmSoftwarePlatform/hipfort/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipfort/blob/master/LICENSE) |
| [AMDMIGraphX](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/) | [MIT](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/blob/develop/LICENSE) |
| [ROCmValidationSuite](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/) | [MIT](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/blob/master/LICENSE) |
| [aomp](https://github.com/ROCm-Developer-Tools/aomp/) | [Apache 2.0](https://github.com/ROCm-Developer-Tools/aomp/blob/aomp-dev/LICENSE) |
| [aomp-extras](https://github.com/ROCm-Developer-Tools/aomp-extras/) | [MIT](https://github.com/ROCm-Developer-Tools/aomp-extras/blob/aomp-dev/LICENSE) |
| [flang](https://github.com/ROCm-Developer-Tools/flang/) | [Apache 2.0](https://github.com/ROCm-Developer-Tools/flang/blob/master/LICENSE.txt) |
The additional terms and conditions below apply to your use of ROCm technical
documentation.
©2022 Advanced Micro Devices, Inc. All rights reserved.
The information presented in this document is for informational purposes only
and may contain technical inaccuracies, omissions, and typographical errors. The
information contained herein is subject to change and may be rendered inaccurate
for many reasons, including but not limited to product and roadmap changes,
component and motherboard version changes, new model and/or product releases,
product differences between differing manufacturers, software changes, BIOS
flashes, firmware upgrades, or the like. Any computer system has risks of
security vulnerabilities that cannot be completely prevented or mitigated. AMD
assumes no obligation to update or otherwise correct or revise this information.
However, AMD reserves the right to revise this information and to make changes
from time to time to the content hereof without obligation of AMD to notify any
person of such revisions or changes.
THIS INFORMATION IS PROVIDED “AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES
WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY
INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD
SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE
LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER
CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN,
EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
AMD, the AMD Arrow logo, ROCm, and combinations thereof are trademarks of
Advanced Micro Devices, Inc. Other product names used in this publication are
for identification purposes only and may be trademarks of their respective
companies.

View File

@@ -1,32 +1,32 @@
# The ROCm Stack
ROCm is the GPU computing stack for AMD GPUs. ROCm is comprised of the
components described in this page. Kernel mo
## Kernel Module (Linux)
## HIP Runtime
## Compiler
### hipcc
### AMD Clang
## GPU Libraries
### Math Libraries
The Math libraries are grouped into libraries starting with a roc-prefix and
hip-prefix. Libraries starting with a hip-prefix provide a support for AMD GPUs
and NVIDIA GPUs. Libraries beginning the roc-prefix support AMD GPUs only.
## #Compute Primitives
## Communication Libraries
## AI and ML (Linux only)
## Management Tools (Linux)
## Deployment Tools (Linux)
# The ROCm Stack
ROCm is the GPU computing stack for AMD GPUs. ROCm is comprised of the
components described in this page. Kernel mo
## Kernel Module (Linux)
## HIP Runtime
## Compiler
### hipcc
### AMD Clang
## GPU Libraries
### Math Libraries
The Math libraries are grouped into libraries starting with a roc-prefix and
hip-prefix. Libraries starting with a hip-prefix provide a support for AMD GPUs
and NVIDIA GPUs. Libraries beginning the roc-prefix support AMD GPUs only.
## #Compute Primitives
## Communication Libraries
## AI and ML (Linux only)
## Management Tools (Linux)
## Deployment Tools (Linux)

View File

@@ -1,165 +1,174 @@
===========================
Using CMake
===========================
Most components in ROCm support CMake 3.5 or higher out-of-the-box and do not require any special Find modules. A Find module is often used by
downstream to find the files by guessing locations of files with platform-specific hints. Typically, the Find module is required when the
upstream is not built with CMake or the package configuration files are not available.
ROCm provides the respective *config-file* packages, and this enables ``find_package`` to be used directly. ROCm does not require any Find
module as the *config-file* packages are shipped with the upstream projects.
Finding Dependencies
--------------------
When dependencies are not found in standard locations such as */usr* or */usr/local*, then the ``CMAKE_PREFIX_PATH`` variable can be set to the
installation prefixes. This can be set to multiple locations with a semicolon separating the entries.
There are two ways to set this variable:
- Pass the flag when configuring with ``-DCMAKE_PREFIX_PATH=....`` This approach is preferred when users install the components in custom
locations.
- Append the variable in the CMakeLists.txt file. This is useful if the dependencies are found in a common location. For example, when
the binaries provided on `repo.radeon.com <http://repo.radeon.com>`_ are installed to */opt/rocm*, you can add the following line to a CMakeLists.txt file
::
list (APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
Using HIP in CMake
--------------------
There are two ways to use HIP in CMake:
- Use the HIP API without compiling the GPU device code. As there is no GPU code, any C or C++ compiler can be used.
The ``find_package(hip)`` provides the ``hip::host`` target to use HIP in this context
::
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
# Find hip
find_package(hip)
# Create the library
add_library(myLib ...)
# Link with HIP
target_link_libraries(myLib hip::host)
.. note::
The ``hip::host`` target provides all the usage requirements needed to use HIP without compiling GPU device code.
- Use HIP API and compile GPU device code. This requires using a
device compiler. The compiler for CMake can be set using either the
``CMAKE_C_COMPILER`` and ``CMAKE_CXX_COMPILER`` variable or using the ``CC`` and
``CXX`` environment variables. This can be set when configuring CMake or
put into a CMake toolchain file. The device compiler must be set to a
compiler that supports AMD GPU targets, which is usually Clang.
The ``find_package(hip)`` provides the ``hip::device`` target to add all the
flags for device compilation
::
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
# Find hip
find_package(hip)
# Create library
add_library(myLib ...)
# Link with HIP
target_link_libraries(myLib hip::device)
This project can then be configured with::
cmake -DCMAKE_C_COMPILER=/opt/rocm/llvm/bin/clang -DCMAKE_CXX_COMPILER=/opt/rocm/llvm/bin/clang++ ..
Which uses the device compiler provided from the binary packages from
`repo.radeon.com <http://repo.radeon.com>`_.
.. note::
Compiling for the GPU device requires at least C++11. This can be
enabled by setting ``CMAKE_CXX_STANDARD`` or setting the correct compiler flags
in the CMake toolchain.
The GPU device code can be built for different GPU architectures by
setting the ``GPU_TARGETS`` variable. By default, this is set to all the
currently supported architectures for AMD ROCm. It can be set by passing
the flag during configuration with ``-DGPU_TARGETS=gfx900``. It can also be
set in the CMakeLists.txt as a cached variable before calling
``find_package(hip)``::
# Set the GPU to compile for
set(GPU_TARGETS "gfx900" CACHE STRING "GPU targets to compile for")
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
# Find hip
find_package(hip)
Using ROCm Libraries
---------------------------
Libraries such as rocBLAS, MIOpen, and others support CMake users as
well.
As illustrated in the example below, to use MIOpen from CMake, you can
call ``find_package(miopen)``, which provides the ``MIOpen`` CMake target. This
can be linked with ``target_link_libraries``::
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
# Find miopen
find_package(miopen)
# Create library
add_library(myLib ...)
# Link with miopen
target_link_libraries(myLib MIOpen)
.. note::
Most libraries are designed as host-only API, so using a GPU device
compiler is not necessary for downstream projects unless it uses the GPU
device code.
ROCm CMake Packages
--------------------
+-----------+----------+-------------------------------------------------------+
| Component | Package | Targets |
+===========+==========+=======================================================+
| HIP | hip | hip::host, hip::device |
+-----------+----------+-------------------------------------------------------+
| rocPRIM | rocprim | roc::rocprim |
+-----------+----------+-------------------------------------------------------+
| rocThrust | rocthrust| roc::rocthrust |
+-----------+----------+-------------------------------------------------------+
| hipCUB | hipcub | hip::hipcub |
+-----------+----------+-------------------------------------------------------+
| rocRAND | rocrand | roc::rocrand |
+-----------+----------+-------------------------------------------------------+
| rocBLAS | rocblas | roc::rocblas |
+-----------+----------+-------------------------------------------------------+
| rocSOLVER | rocsolver| roc::rocsolver |
+-----------+----------+-------------------------------------------------------+
| hipBLAS | hipblas | roc::hipblas |
+-----------+----------+-------------------------------------------------------+
| rocFFT | rocfft | roc::rocfft |
+-----------+----------+-------------------------------------------------------+
| hipFFT | hipfft | hip::hipfft |
+-----------+----------+-------------------------------------------------------+
| rocSPARSE | rocsparse| roc::rocsparse |
+-----------+----------+-------------------------------------------------------+
| hipSPARSE | hipsparse|roc::hipsparse |
+-----------+----------+-------------------------------------------------------+
| rocALUTION|rocalution| roc::rocalution |
+-----------+----------+-------------------------------------------------------+
| RCCL | rccl | rccl |
+-----------+----------+-------------------------------------------------------+
| MIOpen | miopen | MIOpen |
+-----------+----------+-------------------------------------------------------+
| MIGraphX | migraphx | migraphx::migraphx, migraphx::migraphx_c, |
| | | migraphx::migraphx_cpu, migraphx::migraphx_gpu, |
| | | migraphx::migraphx_onnx, migraphx::migraphx_tf |
+-----------+----------+-------------------------------------------------------+
===========================
Using CMake
===========================
Most components in ROCm support CMake 3.5 or higher out-of-the-box and do not
require any special Find modules. A Find module is often used by downstream to
find the files by guessing locations of files with platform-specific hints.
Typically, the Find module is required when the upstream is not built with CMake
or the package configuration files are not available.
ROCm provides the respective *config-file* packages, and this enables
``find_package`` to be used directly. ROCm does not require any Find module as
the *config-file* packages are shipped with the upstream projects.
Finding Dependencies
--------------------
When dependencies are not found in standard locations such as */usr* or
*/usr/local*, then the ``CMAKE_PREFIX_PATH`` variable can be set to the
installation prefixes. This can be set to multiple locations with a semicolon
separating the entries.
There are two ways to set this variable:
- Pass the flag when configuring with ``-DCMAKE_PREFIX_PATH=....`` This
approach is preferred when users install the components in custom locations.
- Append the variable in the CMakeLists.txt file. This is useful if the
dependencies are found in a common location. For example, when the binaries
provided on `repo.radeon.com <http://repo.radeon.com>`_ are installed to
*/opt/rocm*, you can add the following line to a CMakeLists.txt file
::
list (APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
Using HIP in CMake
--------------------
There are two ways to use HIP in CMake:
- Use the HIP API without compiling the GPU device code. As there is no GPU
code, any C or C++ compiler can be used. The ``find_package(hip)`` provides
the ``hip::host`` target to use HIP in this context
::
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
# Find hip
find_package(hip)
# Create the library
add_library(myLib ...)
# Link with HIP
target_link_libraries(myLib hip::host)
.. note::
The ``hip::host`` target provides all the usage requirements needed to use
HIP without compiling GPU device code.
- Use HIP API and compile GPU device code. This requires using a
device compiler. The compiler for CMake can be set using either the
``CMAKE_C_COMPILER`` and ``CMAKE_CXX_COMPILER`` variable or using the ``CC``
and ``CXX`` environment variables. This can be set when configuring CMake or
put into a CMake toolchain file. The device compiler must be set to a
compiler that supports AMD GPU targets, which is usually Clang.
The ``find_package(hip)`` provides the ``hip::device`` target to add all the
flags for device compilation
::
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
# Find hip
find_package(hip)
# Create library
add_library(myLib ...)
# Link with HIP
target_link_libraries(myLib hip::device)
This project can then be configured with
::
cmake -DCMAKE_C_COMPILER=/opt/rocm/llvm/bin/clang -DCMAKE_CXX_COMPILER=/opt/rocm/llvm/bin/clang++ ..
Which uses the device compiler provided from the binary packages from
`repo.radeon.com <http://repo.radeon.com>`_.
.. note::
Compiling for the GPU device requires at least C++11. This can be
enabled by setting ``CMAKE_CXX_STANDARD`` or setting the correct compiler flags
in the CMake toolchain.
The GPU device code can be built for different GPU architectures by
setting the ``GPU_TARGETS`` variable. By default, this is set to all the
currently supported architectures for AMD ROCm. It can be set by passing
the flag during configuration with ``-DGPU_TARGETS=gfx900``. It can also be
set in the CMakeLists.txt as a cached variable before calling
``find_package(hip)``::
# Set the GPU to compile for
set(GPU_TARGETS "gfx900" CACHE STRING "GPU targets to compile for")
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
# Find hip
find_package(hip)
Using ROCm Libraries
---------------------------
Libraries such as rocBLAS, MIOpen, and others support CMake users as
well.
As illustrated in the example below, to use MIOpen from CMake, you can
call ``find_package(miopen)``, which provides the ``MIOpen`` CMake target. This
can be linked with ``target_link_libraries``::
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
# Find miopen
find_package(miopen)
# Create library
add_library(myLib ...)
# Link with miopen
target_link_libraries(myLib MIOpen)
.. note::
Most libraries are designed as host-only API, so using a GPU device
compiler is not necessary for downstream projects unless it uses the GPU
device code.
ROCm CMake Packages
--------------------
+-----------+----------+--------------------------------------------------------+
| Component | Package | Targets |
+===========+==========+========================================================+
| HIP | hip | ``hip::host``, ``hip::device`` |
+-----------+----------+--------------------------------------------------------+
| rocPRIM | rocprim | ``roc::rocprim`` |
+-----------+----------+--------------------------------------------------------+
| rocThrust | rocthrust| ``roc::rocthrust`` |
+-----------+----------+--------------------------------------------------------+
| hipCUB | hipcub | ``hip::hipcub`` |
+-----------+----------+--------------------------------------------------------+
| rocRAND | rocrand | ``roc::rocrand`` |
+-----------+----------+--------------------------------------------------------+
| rocBLAS | rocblas | ``roc::rocblas`` |
+-----------+----------+--------------------------------------------------------+
| rocSOLVER | rocsolver| ``roc::rocsolver`` |
+-----------+----------+--------------------------------------------------------+
| hipBLAS | hipblas | ``roc::hipblas`` |
+-----------+----------+--------------------------------------------------------+
| rocFFT | rocfft | ``roc::rocfft`` |
+-----------+----------+--------------------------------------------------------+
| hipFFT | hipfft | ``hip::hipfft`` |
+-----------+----------+--------------------------------------------------------+
| rocSPARSE | rocsparse| ``roc::rocsparse`` |
+-----------+----------+--------------------------------------------------------+
| hipSPARSE | hipsparse| ``roc::hipsparse`` |
+-----------+----------+--------------------------------------------------------+
| rocALUTION|rocalution| ``roc::rocalution`` |
+-----------+----------+--------------------------------------------------------+
| RCCL | rccl | ``rccl`` |
+-----------+----------+--------------------------------------------------------+
| MIOpen | miopen | ``MIOpen`` |
+-----------+----------+--------------------------------------------------------+
| MIGraphX | migraphx | ``migraphx::migraphx``, ``migraphx::migraphx_c``, |
| | | ``migraphx::migraphx_cpu``, ``migraphx::migraphx_gpu``,|
| | | ``migraphx::migraphx_onnx``, ``migraphx::migraphx_tf`` |
+-----------+----------+--------------------------------------------------------+

View File

@@ -1,3 +1,4 @@
# Deep Learning Guide
The Deep learning guide is being split into separate documents. Use the images in this directory in the split documents.
# Deep Learning Guide
The Deep learning guide is being split into separate documents. Use the images
in this directory in the split documents.