Rtd alexv feedback (#1945)
@@ -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.
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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.
|
||||
|
||||
142
docs/about.md
@@ -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.
|
||||
|
||||
|
Before Width: | Height: | Size: 163 KiB After Width: | Height: | Size: 163 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 183 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 407 KiB After Width: | Height: | Size: 407 KiB |
|
Before Width: | Height: | Size: 465 KiB After Width: | Height: | Size: 465 KiB |
|
Before Width: | Height: | Size: 207 KiB After Width: | Height: | Size: 207 KiB |
|
Before Width: | Height: | Size: 461 KiB After Width: | Height: | Size: 461 KiB |
|
Before Width: | Height: | Size: 461 KiB After Width: | Height: | Size: 461 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 412 KiB After Width: | Height: | Size: 412 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
@@ -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
|
||||
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
BIN
docs/data/understand/deep_learning/Deep Learning Image 1.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 46 KiB |
BIN
docs/data/understand/deep_learning/Machine Learning.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
docs/data/understand/deep_learning/Matrix-1.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
docs/data/understand/deep_learning/Matrix-2.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
docs/data/understand/deep_learning/Matrix-3.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
docs/data/understand/deep_learning/Model In.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
docs/data/understand/deep_learning/Pytorch 11.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
docs/data/understand/deep_learning/Text Classification 1.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
docs/data/understand/deep_learning/Text Classification 2.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
docs/data/understand/deep_learning/Text Classification 3.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
docs/data/understand/deep_learning/Text Classification 4.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
docs/data/understand/deep_learning/Text Classification 5.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
docs/data/understand/deep_learning/Text Classification 6.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
docs/data/understand/deep_learning/Text Classification 7.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
docs/data/understand/deep_learning/amd_logo.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
docs/data/understand/deep_learning/inception v3.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
docs/data/understand/deep_learning/mnist 1.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
docs/data/understand/deep_learning/mnist 2.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
docs/data/understand/deep_learning/mnist 3.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
docs/data/understand/deep_learning/mnist 4.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
docs/data/understand/deep_learning/mnist 5.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
@@ -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
@@ -0,0 +1,10 @@
|
||||
# Advanced
|
||||
|
||||
## Installations
|
||||
|
||||
- [Uninstall](advanced/uninstall)
|
||||
- [Multi-ROCm Installations](advanced/multi)
|
||||
|
||||
## Clusters and Network Deployment
|
||||
|
||||
- [spack](advanced/spack)
|
||||
1
docs/deploy/advanced/build_source.md
Normal file
@@ -0,0 +1 @@
|
||||
# Build from Source
|
||||
1
docs/deploy/advanced/multi.md
Normal file
@@ -0,0 +1 @@
|
||||
# Multi-ROCm Installation
|
||||
1
docs/deploy/advanced/spack.md
Normal file
@@ -0,0 +1 @@
|
||||
# spack
|
||||
1
docs/deploy/advanced/uninstall.md
Normal file
@@ -0,0 +1 @@
|
||||
# Uninstall Guide
|
||||
@@ -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>.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -1 +1 @@
|
||||
# Multi-ROCm Installation
|
||||
# Multi-ROCm Installation
|
||||
|
||||
@@ -1 +1 @@
|
||||
# spack
|
||||
# spack
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
|  |
|
||||
|:------------------------------:|
|
||||
| **Figure 1. Setup Icon** |
|
||||
|
||||
|  |
|
||||
|:-------------------------------------------:|
|
||||
| **Figure 2. AMD HIP SDK Loading Window** |
|
||||
|
||||
|  |
|
||||
|:-----------------------------------------------:|
|
||||
| **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.
|
||||
|
||||
|  |
|
||||
|:--------------------------------------:|
|
||||
| **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.
|
||||
|
||||
|  |
|
||||
|:---------------------------------------:|
|
||||
| **Figure 5. HIP SDK Core Option** |
|
||||
|
||||
|  |
|
||||
|:-----------------------------------------:|
|
||||
| **Figure 6. HIP Libraries Option** |
|
||||
|
||||
|  |
|
||||
|:-------------------------------------------------------:|
|
||||
| **Figure 7. HIP Runtime Compiler Option** |
|
||||
|
||||
|  |
|
||||
|:---------------------------------------------:|
|
||||
| **Figure 8. HIP Ray Tracing** |
|
||||
|
||||
|  |
|
||||
|:-----------------------------------------------:|
|
||||
| **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. |
|
||||
|
||||
|  |
|
||||
|:-----------------------------------------------:|
|
||||
| **Figure 10. AMD Display Driver Options** |
|
||||
|
||||
## Installing Components
|
||||
|
||||
Please wait for the installation to complete during as shown in Figure 11.
|
||||
|
||||
|  |
|
||||
|:-------------------------------------:|
|
||||
| **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.
|
||||
|
||||
|  |
|
||||
|:---------------------------------------------------------:|
|
||||
| **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.
|
||||
|
||||
|  |
|
||||
|:----------------------------------------:|
|
||||
| **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.
|
||||
|
||||
|  |
|
||||
|:----------------------------------------------------:|
|
||||
| **Figure 1. Setup Icon** |
|
||||
|
||||
|  |
|
||||
|:-----------------------------------------------------------------:|
|
||||
| **Figure 2. AMD HIP SDK Loading Window** |
|
||||
|
||||
|  |
|
||||
|:---------------------------------------------------------------------:|
|
||||
| **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.
|
||||
|
||||
|  |
|
||||
|:------------------------------------------------------------:|
|
||||
| **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.
|
||||
|
||||
|  |
|
||||
|:-------------------------------------------------------------:|
|
||||
| **Figure 5. HIP SDK Core Option** |
|
||||
|
||||
|  |
|
||||
|:---------------------------------------------------------------:|
|
||||
| **Figure 6. HIP Libraries Option** |
|
||||
|
||||
|  |
|
||||
|:-----------------------------------------------------------------------------:|
|
||||
| **Figure 7. HIP Runtime Compiler Option** |
|
||||
|
||||
|  |
|
||||
|:-------------------------------------------------------------------:|
|
||||
| **Figure 8. HIP Ray Tracing** |
|
||||
|
||||
|  |
|
||||
|:---------------------------------------------------------------------:|
|
||||
| **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. |
|
||||
|
||||
|  |
|
||||
|:---------------------------------------------------------------------:|
|
||||
| **Figure 10. AMD Display Driver Options** |
|
||||
|
||||
## Installing Components
|
||||
|
||||
Please wait for the installation to complete during as shown in Figure 11.
|
||||
|
||||
|  |
|
||||
|:-----------------------------------------------------------:|
|
||||
| **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.
|
||||
|
||||
|  |
|
||||
|:-------------------------------------------------------------------------------:|
|
||||
| **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.
|
||||
|
||||
|  |
|
||||
|:------------------------------------------------------------:|
|
||||
| **Figure 13. HIP SDK Uninstalling** |
|
||||
|
||||
@@ -1 +1 @@
|
||||
# Deep Learning Guide
|
||||
# Deep Learning Guide
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Docker GPU Isolation Techniques
|
||||
|
||||
## GPU Passthrough
|
||||
|
||||
## Environment Variable
|
||||
# Docker GPU Isolation Techniques
|
||||
|
||||
## GPU Passthrough
|
||||
|
||||
## Environment Variable
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 AMD’s 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. AMD’s 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 AMD’s 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. AMD’s 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.
|
||||
|
||||
@@ -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
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
@@ -1 +1 @@
|
||||
# Computer Vision
|
||||
# Computer Vision
|
||||
|
||||
@@ -1 +1 @@
|
||||
# Development Tools
|
||||
# Development Tools
|
||||
|
||||
@@ -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>
|
||||
@@ -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)
|
||||
|
||||
@@ -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/)
|
||||
|
||||
@@ -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.
|
||||
|
||||
:::
|
||||
|
||||
:::::
|
||||
:::::
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
# HIP
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
# Kernel Userspace Compatiblity Reference
|
||||
# Kernel Userspace Compatibility Reference
|
||||
|
||||
1
docs/reference/tools.md
Normal file
@@ -0,0 +1 @@
|
||||
# Management Tools
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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`` |
|
||||
+-----------+----------+--------------------------------------------------------+
|
||||
@@ -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.
|
||||
|
||||