mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-10 15:18:11 -05:00
Compare commits
8 Commits
roc-1.9.0
...
rocm-doc-o
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ca9322b35c | ||
|
|
eb0e832db4 | ||
|
|
dd00206633 | ||
|
|
2d62a656e6 | ||
|
|
68301d5c0b | ||
|
|
575c4c9a63 | ||
|
|
e4efd1c9f6 | ||
|
|
0b95356d45 |
87
README.md
87
README.md
@@ -3,14 +3,15 @@ The ROCm Platform brings a rich foundation to advanced computing by seamlessly
|
||||
integrating the CPU and GPU with the goal of solving real-world problems.
|
||||
This software enables the high-performance operation of AMD GPUs for computationally-oriented tasks in the Linux operating system.
|
||||
|
||||
### Current ROCm Version: 1.9.0
|
||||
### Current ROCm Version: 1.9.1
|
||||
|
||||
- [Hardware Support](#hardware-support)
|
||||
* [Supported GPUs](#supported-gpus)
|
||||
* [Supported CPUs](#supported-cpus)
|
||||
* [Not supported or very limited support under ROCm](#not-supported-or-very-limited-support-under-rocm)
|
||||
- [New features and enhancements in ROCm 1.9.1](#new-features-and-enhancements-in-rocm-191)
|
||||
- [New features and enhancements in ROCm 1.9.0](#new-features-and-enhancements-in-rocm-190)
|
||||
- [The latest ROCm platform - ROCm 1.9.0](#the-latest-rocm-platform---rocm-190)
|
||||
- [The latest ROCm platform - ROCm 1.9.1](#the-latest-rocm-platform---rocm-191)
|
||||
- [Installing from AMD ROCm repositories](#installing-from-amd-rocm-repositories)
|
||||
* [Ubuntu Support - Installing from a Debian repository](#ubuntu-support---installing-from-a-debian-repository)
|
||||
* [CentOS/RHEL 7 (both 7.4 and 7.5) Support](#centosrhel-7-both-74-and-75-support)
|
||||
@@ -38,7 +39,7 @@ The following list of GPUs are likely to work within ROCm, though full support i
|
||||
* GFX7 GPUs
|
||||
* "Hawaii" chips, such as the AMD Radeon R9 390X and FirePro W9100
|
||||
|
||||
As described in the next section, GFX8 GPUs require PCIe gen 3 with support for PCIe atomics. This requires both CPU and motherboard support. GFX9 GPUs, by default, also require PCIe gen 3 with support for PCIe atomics; if you want to avoid using PCIe atomics, please set the environment variable `HSA_ENABLE_SDMA=0`. GFX7 GPUs do not require PCIe atomics.
|
||||
As described in the next section, GFX8 GPUs require PCIe gen 3 with support for PCIe atomics. This requires both CPU and motherboard support. GFX9 GPUs, by default, also require PCIe gen 3 with support for PCIe atomics, but they can operate in most cases without this capability.
|
||||
|
||||
At this time, the integrated GPUs in AMD APUs are not officially supported targets for ROCm.
|
||||
|
||||
@@ -62,10 +63,9 @@ Current CPUs which support PCIe Gen3 + PCIe Atomics are:
|
||||
Beginning with ROCm 1.8, we have relaxed the requirements for PCIe Atomics on GFX9 GPUs such as Vega 10.
|
||||
We have similarly opened up more options for number of PCIe lanes.
|
||||
GFX9 GPUs can now be run on CPUs without PCIe atomics and on older PCIe generations such as gen 2.
|
||||
To enable this option, please set the environment variable `HSA_ENABLE_SDMA=0`.
|
||||
This is not supported on GPUs below GFX9, e.g. GFX8 cards in Fiji and Polaris families.
|
||||
|
||||
If you are using any PCIe switches in your system, please note that PCIe Atomics are only supported on some switches, such as Boradcom PLX.
|
||||
If you are using any PCIe switches in your system, please note that PCIe Atomics are only supported on some switches, such as Broadcom PLX.
|
||||
When you install your GPUs, make sure you install them in a fully PCIe Gen3 x16 or x8, x4 or x1 slot attached either directly to the CPU's Root I/O controller or via a PCIe switch directly attached to the CPU's Root I/O controller.
|
||||
|
||||
In our experience, many issues stem from trying to use consumer motherboards which provide physical x16 connectors that are electrically connected as e.g. PCIe Gen2 x4, PCIe slots connected via the Southbridge PCIe I/O controller, or PCIe slots connected through a PCIe switch that does
|
||||
@@ -80,9 +80,6 @@ Experimental support for our Hawaii (GFX7) GPUs (Radeon R9 290, R9 390, FirePro
|
||||
does not require or take advantage of PCIe Atomics. However, we still recommend that you use a CPU
|
||||
from the list provided above for compatibility purposes.
|
||||
|
||||
Reminder: if you are using gfx9 GPUs, you can bypass this requirement by setting the environment variable `HSA_ENABLE_SDMA=0`.
|
||||
However, this disables the use of DMA engines to move data between the CPU and GPU memory. This can reduce performance.
|
||||
|
||||
#### Not supported or very limited support under ROCm
|
||||
###### Limited support
|
||||
|
||||
@@ -91,7 +88,7 @@ However, this disables the use of DMA engines to move data between the CPU and G
|
||||
|
||||
###### Not supported
|
||||
|
||||
* "Tonga", "Iceland", "Polaris 12", and "Vega M" GPUs are not supported in ROCm 1.9.0
|
||||
* "Tonga", "Iceland", "Polaris 12", and "Vega M" GPUs are not supported in ROCm 1.9.x
|
||||
* We do not support GFX8-class GPUs (Fiji, Polaris, etc.) on CPUs that do not have PCIe Gen 3 with PCIe atomics.
|
||||
* As such, do not support AMD Carrizo and Kaveri APUs as hosts for such GPUs..
|
||||
* Thunderbolt 1 and 2 enabled GPUs are not supported by GFX8 GPUs on ROCm. Thunderbolt 1 & 2 are PCIe Gen2 based.
|
||||
@@ -99,6 +96,12 @@ However, this disables the use of DMA engines to move data between the CPU and G
|
||||
* AMD Merlin/Falcon Embedded System is not currently supported by the public repo.
|
||||
* AMD Raven Ridge APU are currently not supported
|
||||
|
||||
### New features and enhancements in ROCm 1.9.1
|
||||
#### Added DPM support to Vega 7nm
|
||||
* Dynamic Power Management feature is enabled on Vega 7nm.
|
||||
|
||||
#### Fix for 'ROCm profiling' that used to fail with a “Version mismatch between HSA runtime and libhsa-runtime-tools64.so.1” error
|
||||
|
||||
### New features and enhancements in ROCm 1.9.0
|
||||
|
||||
#### Preview for Vega 7nm
|
||||
@@ -116,18 +119,20 @@ However, this disables the use of DMA engines to move data between the CPU and G
|
||||
* Several codegen enhancement fixes in the compiler backend
|
||||
|
||||
#### Preview for rocprof Profiling Tool
|
||||
Developer preview (alpha) of profiling tool 'rpl_run.sh', cmd-line front-end for rocProfiler, enables:
|
||||
Developer preview (alpha) of profiling tool rocProfiler. It includes a command-line front-end, `rpl_run.sh`, which enables:
|
||||
* Cmd-line tool for dumping public per kernel perf-counters/metrics and kernel timestamps
|
||||
* Input file with counters list and kernels selecting parameters
|
||||
* Multiple counters groups and app runs supported
|
||||
* Output results in CSV format
|
||||
The tool location is: /opt/rocm/rocprofiler/bin/rpl_run.sh
|
||||
|
||||
The tool can be installed from the `rocprofiler-dev` package. It will be installed into: /opt/rocm/bin/rpl_run.sh
|
||||
|
||||
#### Preview for rocr Debug Agent rocr_debug_agent
|
||||
The ROCr Debug Agent is a library that can be loaded by ROCm Platform Runtime to provide the following functionality:
|
||||
* Print the state for wavefronts that report memory violation or upon executing a "s_trap 2" instruction.
|
||||
* Allows SIGINT (`ctrl c`) or SIGTERM (`kill -15`) to print wavefront state of aborted GPU dispatches.
|
||||
* It is enabled on Vega10 GPUs on ROCm1.9.
|
||||
|
||||
The ROCm1.9 release will install the ROCr Debug Agent library at /opt/rocm/lib/librocr_debug_agent64.so
|
||||
|
||||
|
||||
@@ -174,7 +179,7 @@ To try ROCm with an upstream kernel, install ROCm as normal, but do not install
|
||||
* UCX support for OpenMPI
|
||||
* ROCm RDMA
|
||||
|
||||
### The latest ROCm platform - ROCm 1.9.0
|
||||
### The latest ROCm platform - ROCm 1.9.1
|
||||
|
||||
The latest tested version of the drivers, tools, libraries and source code for
|
||||
the ROCm platform have been released and are available under the roc-1.9.0 or rocm-1.9.x tag
|
||||
@@ -191,7 +196,7 @@ of the following GitHub repositories:
|
||||
* [atmi](https://github.com/RadeonOpenCompute/atmi/tree/0.3.7)
|
||||
|
||||
Additionally, the following mirror repositories that support the HCC compiler
|
||||
are also available on GitHub, and frozen for the rocm-1.9.0 release:
|
||||
are also available on GitHub, and frozen for the rocm-1.9.x release:
|
||||
|
||||
* [llvm](https://github.com/RadeonOpenCompute/llvm/tree/roc-1.9.x)
|
||||
* [ldd](https://github.com/RadeonOpenCompute/lld/tree/roc-1.9.x)
|
||||
@@ -200,14 +205,14 @@ are also available on GitHub, and frozen for the rocm-1.9.0 release:
|
||||
|
||||
#### Supported Operating Systems - New operating systems available
|
||||
|
||||
The ROCm 1.9.0 platform has been tested on the following operating systems:
|
||||
* Ubuntu 16.04 &. 18.04
|
||||
The ROCm 1.9.x platform has been tested on the following operating systems:
|
||||
* Ubuntu 16.04 &. 18.04 (Version 16.04.3 and newer or kernels 4.13 and newer)
|
||||
* CentOS 7.4 &. 7.5 (Using devetoolset-7 runtime support)
|
||||
* RHEL 7.4. &. 7.5 (Using devetoolset-7 runtime support)
|
||||
|
||||
### Installing from AMD ROCm repositories
|
||||
|
||||
AMD is hosting both Debian and RPM repositories for the ROCm 1.9.0 packages at this time.
|
||||
AMD is hosting both Debian and RPM repositories for the ROCm 1.9.x packages at this time.
|
||||
|
||||
The packages in the Debian repository have been signed to ensure package integrity.
|
||||
|
||||
@@ -289,14 +294,6 @@ echo 'export PATH=$PATH:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bi
|
||||
|
||||
If you have an [Install Issue](https://rocm.github.io/install_issues.html) please read this FAQ .
|
||||
|
||||
###### Vega10 users who want to run ROCm on a system that does not support PCIe atomics must set HSA_ENABLE_SDMA=0
|
||||
|
||||
Currently, if you want to run ROCm on a Vega10 GPU (GFX9) on a system without PCIe atomics, you must turn off SDMA functionality.
|
||||
|
||||
```shell
|
||||
export HSA_ENABLE_SDMA=0
|
||||
```
|
||||
|
||||
###### Performing an OpenCL-only Installation of ROCm
|
||||
|
||||
Some users may want to install a subset of the full ROCm installation. In particular, if you are trying to install on a system with a limited amount of storage space, or which will only run a small collection of known applications, you may want to install only the packages that are required to run OpenCL applications. To do that, you can run the following installation command **instead** of the command to install `rocm-dkms`.
|
||||
@@ -352,7 +349,7 @@ sudo apt install rocm-dev
|
||||
>ROCm driver stack installed
|
||||
|
||||
##### Removing pre-release packages
|
||||
It is recommended to [remove previous rocm installations](https://github.com/RadeonOpenCompute/ROCm#how-to-un-install-from-ubuntu-1604) before installing the latest version to ensure a smooth installation.
|
||||
It is recommended to [remove previous rocm installations](https://github.com/RadeonOpenCompute/ROCm#how-to-un-install-from-ubuntu-1604-or-ubuntu-1804) before installing the latest version to ensure a smooth installation.
|
||||
|
||||
If you installed any of the ROCm pre-release packages from github, they will
|
||||
need to be manually un-installed:
|
||||
@@ -417,7 +414,7 @@ sudo yum install -y dkms kernel-headers-`uname -r` kernel-devel-`uname -r`
|
||||
|
||||
##### Installing ROCm on the system
|
||||
|
||||
It is recommended to [remove previous rocm installations](https://github.com/RadeonOpenCompute/ROCm#how-to-un-install-rocm-from-centosrhel-74) before installing the latest version to ensure a smooth installation.
|
||||
It is recommended to [remove previous rocm installations](https://github.com/RadeonOpenCompute/ROCm#how-to-un-install-rocm-from-centosrhel-74-and-75) before installing the latest version to ensure a smooth installation.
|
||||
|
||||
At this point ROCm can be installed on the target system. Create a /etc/yum.repos.d/rocm.repo file with the following contents:
|
||||
|
||||
@@ -451,18 +448,7 @@ following command:
|
||||
sudo usermod -a -G video $LOGNAME
|
||||
```
|
||||
|
||||
Current release supports up to CentOS/RHEL 7.4 and 7.5. Users should update to the latest version of the OS:
|
||||
|
||||
```shell
|
||||
sudo yum update
|
||||
```
|
||||
###### Vega10 users who want to run ROCm on a system that does not support PCIe atomics must set HSA_ENABLE_SDMA=0
|
||||
|
||||
Currently, if you want to run ROCm on a Vega10 GPU (GFX9) on a system without PCIe atomics, you must turn off SDMA functionality.
|
||||
|
||||
```shell
|
||||
export HSA_ENABLE_SDMA=0
|
||||
```
|
||||
Current release supports CentOS/RHEL 7.4 and 7.5. If users want to update the OS version, they should completely remove ROCm packages before updating to the latest version of the OS, to avoid DKMS related issues.
|
||||
|
||||
###### Performing an OpenCL-only Installation of ROCm
|
||||
|
||||
@@ -490,31 +476,18 @@ sudo yum autoremove rocm-dkms
|
||||
|
||||
### Known Issues / Workarounds
|
||||
|
||||
#### Radeon Compute Profiler does not run
|
||||
|
||||
rcprof -A <HSA_application> fails with error message: Radeon Compute Profiler could not be enabled. Version mismatch between HSA runtime and libhsa-runtime-tools64.so.1.
|
||||
|
||||
#### Running OCLPerfCounters test results in LLVM ERROR: out of memory
|
||||
|
||||
#### HipCaffe is supported on single GPU configurations
|
||||
|
||||
#### The ROCm SMI library calls to rsmi_dev_power_cap_set() and rsmi_dev_power_profile_set() will not work for all but the first gpu in multi-gpu set ups.
|
||||
|
||||
#### Vega10 users who want to run ROCm on a system that does not support PCIe atomics must set HSA_ENABLE_SDMA=0
|
||||
|
||||
Currently, if you want to run ROCm on a Vega10 GPU (GFX9) on a system without PCIe atomics, you must turn off SDMA functionality.
|
||||
|
||||
```shell
|
||||
export HSA_ENABLE_SDMA=0
|
||||
```
|
||||
|
||||
### Closed source components
|
||||
|
||||
The ROCm platform relies on a few closed source components to provide legacy
|
||||
functionality like HSAIL finalization and debugging/profiling support. These
|
||||
components are only available through the ROCm repositories, and will either be
|
||||
deprecated or become open source components in the future. These components are
|
||||
made available in the following packages:
|
||||
The ROCm platform relies on a few closed source components to provide functionality
|
||||
such as HSA image support. These components are only available through the ROCm
|
||||
repositories, and will either be deprecated or become open source components in the
|
||||
future. These components are made available in the following packages:
|
||||
|
||||
* hsa-ext-rocr-dev
|
||||
|
||||
@@ -540,11 +513,11 @@ Note: make sure ~/bin exists and it is part of your PATH
|
||||
|
||||
```shell
|
||||
mkdir ROCm && cd ROCm
|
||||
repo init -u https://github.com/RadeonOpenCompute/ROCm.git -b roc-1.9.0
|
||||
repo init -u https://github.com/RadeonOpenCompute/ROCm.git -b roc-1.9.1
|
||||
repo sync
|
||||
```
|
||||
These series of commands will pull all of the open source code associated with
|
||||
the ROCm 1.9 release. Please ensure that ssh-keys are configured for the
|
||||
the ROCm 1.9.1 release. Please ensure that ssh-keys are configured for the
|
||||
target machine on GitHub for your GitHub ID.
|
||||
|
||||
* OpenCL Runtime and Compiler will be submitted to the Khronos Group, prior to
|
||||
|
||||
Reference in New Issue
Block a user