Compare commits

...

8 Commits

Author SHA1 Message Date
Icarus Sparry
ca9322b35c Update README.md 2018-10-05 14:27:41 -07:00
Icarus Sparry
eb0e832db4 Merge branch 'master' into rocm-doc-os 2018-10-05 14:15:34 -07:00
ChristinaElder
dd00206633 Update README.md
Update README.md

    Update the version #
2018-10-05 13:58:34 -07:00
zhang2amd
2d62a656e6 Update README.md 2018-10-03 11:30:07 -07:00
Peng
68301d5c0b Updated doc on OS support
This commit specifies the ROCm recommended Ubuntu kernel versions.
And advise users to remove ROCm packages if need to upgrade the CentOS versions. There are known DKMS limitations can cause the system fail to upgrade if rock-dkms modules were installed.
2018-10-03 13:02:42 -05:00
Joseph Greathouse
575c4c9a63 Remove outdated README information for ROCm 1.9
No longer need to set HSA_ENABLE_SDMA=0 for non-PCIe-atomic operation. No longer include the HSAIL finalizer in the closed source tools repo.
2018-09-19 11:33:43 -05:00
Joseph Greathouse
e4efd1c9f6 Update information about rocProfiler 2018-09-19 10:37:34 -05:00
Icarus Sparry
0b95356d45 Fix Typo 2018-09-16 16:17:05 -07:00

View File

@@ -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