mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-09 22:58:17 -05:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b58b254b29 | ||
|
|
5a0d73e84f | ||
|
|
1ea6f22864 | ||
|
|
f26b2d6af3 |
212
README.md
212
README.md
@@ -1,92 +1,140 @@
|
||||
## Are You Ready to ROCK?
|
||||
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.
|
||||
This software enables the high-performance operation of AMD GPUs for computation oriented tasks in the Linux operating system.
|
||||
|
||||
### Current ROCm Version: 2.4
|
||||
### Current ROCm Version: 2.6
|
||||
|
||||
- [New features and enhancements in ROCm 2.4](#new-features-and-enhancements-in-rocm-24)
|
||||
- [The latest ROCm platform - ROCm 2.4](#the-latest-rocm-platform---rocm-240)
|
||||
- [New features and enhancements in ROCm 2.6](#new-features-and-enhancements-in-rocm-26)
|
||||
- [The latest ROCm platform - ROCm 2.6](#the-latest-rocm-platform-rocm-26)
|
||||
- [Hardware Support](#hardware-support)
|
||||
* [Supported GPUs](#supported-gpus)
|
||||
* [Supported CPUs](#supported-cpus)
|
||||
* [Not supported or limited support under ROCm](#not-supported-or-limited-support-under-rocm)
|
||||
- [Supported Operating Systems](#supported-operating-systems---new-operating-systems-available)
|
||||
- [Supported Operating Systems](#supported-operating-systems-new-operating-systems-available)
|
||||
* [ROCm support in upstream Linux kernels](#rocm-support-in-upstream-linux-kernels)
|
||||
- [Installing from AMD ROCm repositories](#installing-from-amd-rocm-repositories)
|
||||
* [ROCm Binary Package Structure](#rocm-binary-package-structure)
|
||||
* [Ubuntu Support - installing from a Debian repository](#ubuntu-support---installing-from-a-debian-repository)
|
||||
* [Ubuntu Support - installing from a Debian repository](#ubuntu-support-installing-from-a-debian-repository)
|
||||
* [CentOS/RHEL 7 (7.4, 7.5, 7.6) Support](#centosrhel-7-74-75-76-support)
|
||||
- [Known issues / workarounds](#known-issues--workarounds)
|
||||
- [Known issues / workarounds](#known-issues-workarounds)
|
||||
- [Closed source components](#closed-source-components)
|
||||
- [Getting ROCm source code](#getting-rocm-source-code)
|
||||
* [Installing repo](#installing-repo)
|
||||
* [Downloading the ROCm source code](#downloading-the-rocm-source-code)
|
||||
* [Building the ROCm source code](#building-the-rocm-source-code)
|
||||
- [Deprecation Notice](#deprecation-notice)
|
||||
- [Deprecation Notice](#deprecation-notice-hcc)
|
||||
- [Final notes](#final-notes)
|
||||
|
||||
### New features and enhancements in ROCm 2.4
|
||||
### New features and enhancements in ROCm 2.6
|
||||
|
||||
#### TensorFlow 2.0 support
|
||||
ROCm 2.4 includes the enhanced compilation toolchain and a set of bug fixes to support TensorFlow 2.0 features natively
|
||||
#### ROCmInfo enhancements
|
||||
ROCmInfo was extended to do the following:
|
||||
For ROCr API call errors including initialization determine if the error could be explained by:
|
||||
- ROCk (driver) is not loaded / available
|
||||
- User does not have membership in appropriate group - "video"
|
||||
- If not above print the error string that is mapped to the returned error code
|
||||
- If no error string is available, print the error code in hex
|
||||
|
||||
#### AMD Infinity Fabric™ Link enablement
|
||||
ROCm 2.4 adds support to connect two Radeon Instinct MI60 or Radeon Instinct MI50 boards via AMD Infinity Fabric™ Link GPU interconnect technology.
|
||||
#### [Thrust] Functional Support on Vega20
|
||||
ROCm2.6 contains the first official release of rocThrust and hipCUB. rocThrust is a port of thrust, a parallel algorithm library. hipCUB is a port of CUB, a reusable software component library. Thrust/CUB has been ported to the HIP/ROCm platform to use the rocPRIM library. The HIP ported library works on HIP/ROCm platforms.
|
||||
|
||||
Note: rocThrust and hipCUB library replaces https://github.com/ROCmSoftwarePlatform/thrust (hip-thrust), i.e. hip-thrust has been separated into two libraries, rocThrust and hipCUB. Existing hip-thrust users are encouraged to port their code to rocThrust and/or hipCUB. Hip-thrust will be removed from official distribution later this year.
|
||||
|
||||
#### MIGraphX v0.3
|
||||
MIGraphX optimizer adds support to read models frozen from Tensorflow framework. Further details and an example usage at https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/wiki/Getting-started:-using-the-new-features-of-MIGraphX-0.3
|
||||
|
||||
#### MIOpen 2.0
|
||||
- This release contains several new features including an immediate mode for selecting convolutions, bfloat16 support, new layers, modes, and algorithms.
|
||||
- MIOpenDriver, a tool for benchmarking and developing kernels is now shipped with MIOpen.
|
||||
BFloat16 now supported in HIP requires an updated rocBLAS as a GEMM backend.
|
||||
- Immediate mode API now provides the ability to quickly obtain a convolution kernel.
|
||||
- MIOpen now contains HIP source kernels and implements the ImplicitGEMM kernels. This is a new feature and is currently disabled by default. Use the environmental variable "MIOPEN_DEBUG_CONV_IMPLICIT_GEMM=1" to activation this feature. ImplicitGEMM requires an up to date HIP version of at least 1.5.9211.
|
||||
- A new "loss" catagory of layers has been added, of which, CTC loss is the first. See the API reference for more details.
|
||||
2.0 is the last release of active support for gfx803 architectures. In future releases, MIOpen will not actively debug and develop new features specifically for gfx803.
|
||||
- System Find-Db in memory cache is disabled by default. Please see build instructions to enable this feature.
|
||||
Additional documentation can be found here: https://rocmsoftwareplatform.github.io/MIOpen/doc/html/
|
||||
|
||||
#### Bloat16 software support in rocBLAS/Tensile
|
||||
Added mixed precision bfloat16/IEEE f32 to gemm_ex. The input and output matrices are bfloat16. All arithmetic is in IEEE f32.
|
||||
|
||||
#### AMD Infinity Fabric™ Link enablement
|
||||
The ability to connect four Radeon Instinct MI60 or Radeon Instinct MI50 boards in two hives or two Radeon Instinct MI60 or Radeon Instinct MI50 boards in four hives via AMD Infinity Fabric™ Link GPU interconnect technology has been added.
|
||||
|
||||
|
||||
|
||||
#### ROCm-smi features and bug fixes
|
||||
- mGPU & Vendor check
|
||||
- Fix clock printout if DPM is disabled
|
||||
- Fix finding marketing info on CentOS
|
||||
- Clarify some error messages
|
||||
|
||||
#### ROCm-smi-lib enhancements
|
||||
- Documentation updates
|
||||
- Improvements to *name_get functions
|
||||
|
||||
#### RCCL2 Enablement
|
||||
RCCL2 supports collectives intranode communication using PCIe, Infinity Fabric™, and pinned host memory, as well as internode communication using Ethernet (TCP/IP sockets) and Infiniband/RoCE (Infiniband Verbs). Note: For Infiniband/RoCE, RDMA is not currently supported.
|
||||
|
||||
#### rocFFT enhancements
|
||||
- Added: Debian package with FFT test, benchmark, and sample programs
|
||||
- Improved: hipFFT interfaces
|
||||
- Improved: rocFFT CPU reference code, plan generation code and logging code
|
||||
|
||||
Features and enhancements introduced in previous versions of ROCm can be found in [version_history.md](version_history.md)
|
||||
|
||||
### The latest ROCm platform - ROCm 2.4
|
||||
### The latest ROCm platform - ROCm 2.6
|
||||
|
||||
The latest supported version of the drivers, tools, libraries and source code for the ROCm platform have been released and are available from the following GitHub repositories:
|
||||
|
||||
* ROCm Core Components
|
||||
- [ROCk Kernel Driver](https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/tree/roc-2.4.0)
|
||||
- [ROCr Runtime](https://github.com/RadeonOpenCompute/ROCR-Runtime/tree/84443a1)
|
||||
- [ROCt Thunk Interface](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/tree/roc-2.4.0)
|
||||
- [ROCk Kernel Driver](https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/tree/roc-2.6.0)
|
||||
- [ROCr Runtime](https://github.com/RadeonOpenCompute/ROCR-Runtime/tree/roc-2.6.0)
|
||||
- [ROCt Thunk Interface](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/tree/roc-2.6.0)
|
||||
* ROCm Support Software
|
||||
- [ROCm SMI](https://github.com/RadeonOpenCompute/ROC-smi/tree/roc-2.4.0)
|
||||
- [ROCm SMI](https://github.com/RadeonOpenCompute/ROC-smi/tree/roc-2.6.0)
|
||||
- [ROCm cmake](https://github.com/RadeonOpenCompute/rocm-cmake/tree/ac45c6e2)
|
||||
- [rocminfo](https://github.com/RadeonOpenCompute/rocminfo/tree/d34b716a)
|
||||
- [ROCm Bandwidth Test](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/tree/fe64704a)
|
||||
- [ROCm Bandwidth Test](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/tree/roc-2.6.0)
|
||||
* ROCm Development Tools
|
||||
- [HCC compiler](https://github.com/RadeonOpenCompute/hcc/tree/roc-2.4.0)
|
||||
- [HIP](https://github.com/ROCm-Developer-Tools/HIP/tree/roc-2.4.0)
|
||||
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-2.4.0)
|
||||
- [HCC compiler](https://github.com/RadeonOpenCompute/hcc/tree/roc-hcc-2.6.0)
|
||||
- [HIP](https://github.com/ROCm-Developer-Tools/HIP/tree/roc-2.6.0)
|
||||
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-hcc-2.6.0)
|
||||
- ROCm OpenCL, which is created from the following components:
|
||||
- [ROCm OpenCL Runtime](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/tree/roc-2.4.0)
|
||||
- [ROCm OpenCL Driver](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Driver/tree/roc-2.4.0)
|
||||
- The ROCm OpenCL compiler, which is created from the following components:
|
||||
- [ROCm LLVM OCL](http://github.com/RadeonOpenCompute/llvm/tree/roc-ocl-2.4.0)
|
||||
- [ROCm LLVM HCC](http://github.com/RadeonOpenCompute/llvm/tree/roc-hcc-2.4.0)
|
||||
- [ROCm Clang](http://github.com/RadeonOpenCompute/clang/tree/roc-2.4.0)
|
||||
- [ROCm lld OCL](http://github.com/RadeonOpenCompute/lld/tree/roc-ocl-2.4.0)
|
||||
- [ROCm lld HCC](http://github.com/RadeonOpenCompute/lld/tree/roc-hcc-2.4.0)
|
||||
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-2.4.0)
|
||||
- [ROCM Clang-OCL Kernel Compiler](https://github.com/RadeonOpenCompute/clang-ocl/tree/roc-2.4.0)
|
||||
- [ROCm OpenCL Runtime](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/tree/roc-2.6.0)
|
||||
- [ROCm OpenCL Driver](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Driver/tree/roc-2.6.0)
|
||||
- The ROCm OpenCL compiler, which is created from the following components:
|
||||
- [ROCm LLVM OCL](http://github.com/RadeonOpenCompute/llvm/tree/roc-ocl-2.6.0)
|
||||
- [ROCm LLVM HCC](http://github.com/RadeonOpenCompute/llvm/tree/roc-hcc-2.6.0)
|
||||
- [ROCm Clang](http://github.com/RadeonOpenCompute/clang/tree/roc-2.6.0)
|
||||
- [ROCm lld OCL](http://github.com/RadeonOpenCompute/lld/tree/roc-ocl-2.6.0)
|
||||
- [ROCm lld HCC](http://github.com/RadeonOpenCompute/lld/tree/roc-hcc-2.6.0)
|
||||
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-ocl-2.6.0)
|
||||
- [ROCM Clang-OCL Kernel Compiler](https://github.com/RadeonOpenCompute/clang-ocl/tree/roc-2.6.0)
|
||||
- [Asynchronous Task and Memory Interface (ATMI)](https://github.com/RadeonOpenCompute/atmi/tree/4dd14ad8)
|
||||
- [ROCr Debug Agent](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/tree/roc-2.4.0)
|
||||
- [ROCm Code Object Manager](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/roc-2.4.0)
|
||||
- [ROC Profiler](https://github.com/ROCm-Developer-Tools/rocprofiler/tree/roc-2.4.x)
|
||||
- [ROC Tracer](https://github.com/ROCm-Developer-Tools/roctracer/tree/roc-2.4.x)
|
||||
- [Radeon Compute Profiler](https://github.com/GPUOpen-Tools/RCP/tree/a31fe682)
|
||||
- [ROCr Debug Agent](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/tree/roc-2.6.0)
|
||||
- [ROCm Code Object Manager](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/roc-2.6.0)
|
||||
- [ROC Profiler](https://github.com/ROCm-Developer-Tools/rocprofiler/tree/roc-2.6.x)
|
||||
- [ROC Tracer](https://github.com/ROCm-Developer-Tools/roctracer/tree/roc-2.6.x)
|
||||
- [Radeon Compute Profiler](https://github.com/GPUOpen-Tools/RCP/tree/3a49405)
|
||||
- Example Applications:
|
||||
- [HCC Examples](https://github.com/ROCm-Developer-Tools/HCC-Example-Application/tree/ffd65333)
|
||||
- [HIP Examples](https://github.com/ROCm-Developer-Tools/HIP-Examples/tree/roc-2.4.0)
|
||||
- [HIP Examples](https://github.com/ROCm-Developer-Tools/HIP-Examples/tree/roc-2.6.0)
|
||||
* ROCm Libraries
|
||||
- [rocBLAS](https://github.com/ROCmSoftwarePlatform/rocBLAS/tree/master-rocm-2.4)
|
||||
- [hipBLAS](https://github.com/ROCmSoftwarePlatform/hipBLAS/tree/master-rocm-2.4)
|
||||
- [rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT/tree/master-rocm-2.4)
|
||||
- [rocRAND](https://github.com/ROCmSoftwarePlatform/rocRAND/tree/master-rocm-2.4)
|
||||
- [rocSPARSE](https://github.com/ROCmSoftwarePlatform/rocSPARSE/tree/master-rocm-2.4)
|
||||
- [hipSPARSE](https://github.com/ROCmSoftwarePlatform/hipSPARSE/tree/master-rocm-2.4)
|
||||
- [rocALUTION](https://github.com/ROCmSoftwarePlatform/rocALUTION/tree/master-rocm-2.4)
|
||||
- [rocBLAS](https://github.com/ROCmSoftwarePlatform/rocBLAS/tree/master-rocm-2.6)
|
||||
- [hipBLAS](https://github.com/ROCmSoftwarePlatform/hipBLAS/tree/master-rocm-2.6)
|
||||
- [rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT/tree/master-rocm-2.6)
|
||||
- [rocRAND](https://github.com/ROCmSoftwarePlatform/rocRAND/tree/master-rocm-2.6)
|
||||
- [rocSPARSE](https://github.com/ROCmSoftwarePlatform/rocSPARSE/tree/master-rocm-2.6)
|
||||
- [hipSPARSE](https://github.com/ROCmSoftwarePlatform/hipSPARSE/tree/master-rocm-2.6)
|
||||
- [rocALUTION](https://github.com/ROCmSoftwarePlatform/rocALUTION/tree/master-rocm-2.6)
|
||||
- [MIOpenGEMM](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/tree/9547fb9e)
|
||||
- [MIOpen](https://github.com/ROCmSoftwarePlatform/MIOpen/tree/9fb1826d)
|
||||
- [HIP Thrust](https://github.com/ROCmSoftwarePlatform/Thrust/tree/master-rocm-2.4)
|
||||
- [ROCm SMI Lib](https://github.com/RadeonOpenCompute/rocm_smi_lib/tree/roc-2.4.0)
|
||||
- [RCCL](https://github.com/ROCmSoftwarePlatform/rccl/tree/master-rocm-2.4)
|
||||
- [MIVisionX](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/tree/f05574dc)
|
||||
- [CUB HIP](https://github.com/ROCmSoftwarePlatform/cub-hip/tree/hip_port_1.7.4)
|
||||
- [MIOpen](https://github.com/ROCmSoftwarePlatform/MIOpen/tree/roc-2.6.0)
|
||||
- [rocThrust](https://github.com/ROCmSoftwarePlatform/rocThrust/tree/master-rocm-2.6)
|
||||
- [ROCm SMI Lib](https://github.com/RadeonOpenCompute/rocm_smi_lib/tree/roc-2.6.0)
|
||||
- [RCCL](https://github.com/ROCmSoftwarePlatform/rccl/tree/master-rocm-2.6)
|
||||
- [MIVisionX](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/tree/1.3.0)
|
||||
- [HIP Thrust](https://github.com/ROCmSoftwarePlatform/Thrust/tree/2.6.0)
|
||||
- [hipCUB](https://github.com/ROCmSoftwarePlatform/hipCUB/tree/2.6.0)
|
||||
|
||||
### Hardware Support
|
||||
ROCm is focused on using AMD GPUs to accelerate computational tasks such as machine learning, engineering workloads, and scientific computing.
|
||||
@@ -134,7 +182,7 @@ Current CPUs which support PCIe Gen3 + PCIe Atomics are:
|
||||
* AMD Ryzen Threadripper CPUs
|
||||
* AMD EPYC CPUs;
|
||||
* Intel Xeon E7 v3 or newer CPUs;
|
||||
* Intel Xeon E5 v3 or newer CPUs;
|
||||
* Intel Xeon E5 v3 or newer CPUs;
|
||||
* Intel Xeon E3 v3 or newer CPUs;
|
||||
* Intel Core i7 v4, Core i5 v4, Core i3 v4 or newer CPUs (i.e. Haswell family or newer).
|
||||
* Some Ivy Bridge-E systems
|
||||
@@ -159,10 +207,10 @@ 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.
|
||||
|
||||
#### Not supported or limited support under ROCm
|
||||
##### Limited support
|
||||
#### Not supported or limited support under ROCm
|
||||
##### Limited support
|
||||
|
||||
* ROCm 2.4.x should support PCIe 2.0 enabled CPUs such as the AMD Opteron, Phenom, Phenom II, Athlon, Athlon X2, Athlon II and older Intel Xeon and Intel Core Architecture and Pentium CPUs. However, we have done very limited testing on these configurations, since our test farm has been catering to CPUs listed above. This is where we need community support. _If you find problems on such setups, please report these issues_.
|
||||
* ROCm 2.6.x should support PCIe 2.0 enabled CPUs such as the AMD Opteron, Phenom, Phenom II, Athlon, Athlon X2, Athlon II and older Intel Xeon and Intel Core Architecture and Pentium CPUs. However, we have done very limited testing on these configurations, since our test farm has been catering to CPUs listed above. This is where we need community support. _If you find problems on such setups, please report these issues_.
|
||||
* Thunderbolt 1, 2, and 3 enabled breakout boxes should now be able to work with ROCm. Thunderbolt 1 and 2 are PCIe 2.0 based, and thus are only supported with GPUs that do not require PCIe 3.0 atomics (e.g. Vega 10). However, we have done no testing on this configuration and would need community support due to limited access to this type of equipment.
|
||||
* AMD "Carrizo" and "Bristol Ridge" APUs are enabled to run OpenCL, but do not yet support HCC, HIP, or our libraries built on top of these compilers and runtimes.
|
||||
* As of ROCm 2.1, "Carrizo" and "Bristol Ridge" require the use of upstream kernel drivers.
|
||||
@@ -172,17 +220,17 @@ from the list provided above for compatibility purposes.
|
||||
* As of ROCm 2.1, "Raven Ridge" requires the use of upstream kernel drivers.
|
||||
* In addition, various "Raven Ridge" platforms may not work due to OEM and ODM choices when it comes to key configurations parameters such as inclusion of the required CRAT tables and IOMMU configuration parameters in the system BIOS.
|
||||
* Before purchasing such a system for ROCm, please verify that the BIOS provides an option for enabling IOMMUv2 and that the system BIOS properly exposes the correct CRAT table. Inquire with your vendor about the latter.
|
||||
|
||||
##### Not supported
|
||||
|
||||
* "Tonga", "Iceland", "Vega M", and "Vega 12" GPUs are not supported in ROCm 2.4.x
|
||||
##### Not supported
|
||||
|
||||
* "Tonga", "Iceland", "Vega M", and "Vega 12" GPUs are not supported in ROCm 2.6.x
|
||||
* We do not support GFX8-class GPUs (Fiji, Polaris, etc.) on CPUs that do not have PCIe 3.0 with PCIe atomics.
|
||||
* As such, we 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 based on PCIe 2.0.
|
||||
|
||||
### Supported Operating Systems - New operating systems available
|
||||
|
||||
The ROCm 2.4.x platform supports the following operating systems:
|
||||
The ROCm 2.6.x platform supports the following operating systems:
|
||||
|
||||
* Ubuntu 16.04.x, 18.04.1 and 18.04.2 (Version 16.04.3 and newer or kernels 4.13-4.15)
|
||||
* CentOS 7.4, 7.5, and 7.6 (Using devtoolset-7 runtime support)
|
||||
@@ -216,7 +264,7 @@ For users that have the option of using either AMD's or the upstreamed driver, t
|
||||
|
||||
### Installing from AMD ROCm repositories
|
||||
|
||||
AMD hosts both [Debian](http://repo.radeon.com/rocm/apt/debian/) and [RPM](http://repo.radeon.com/rocm/yum/rpm/) repositories for the ROCm 2.4.x packages at this time.
|
||||
AMD hosts both [Debian](http://repo.radeon.com/rocm/apt/debian/) and [RPM](http://repo.radeon.com/rocm/yum/rpm/) repositories for the ROCm 2.6.x packages at this time.
|
||||
|
||||
The packages in the Debian repository have been signed to ensure package integrity.
|
||||
|
||||
@@ -264,7 +312,8 @@ The packages for each of the major ROCm components are:
|
||||
- ROCm SMI Lib: `rocm_smi_lib64`
|
||||
- RCCL: `rccl`
|
||||
- MIVisionX: `mivisionx`
|
||||
- CUB HIP: `cub-hip`
|
||||
- rocThrust: `rocThrust`
|
||||
- hipCUB: `hipCUB`
|
||||
|
||||
To make it easier to install ROCm, the AMD binary repos provide a number of meta-packages that will automatically install multiple other packages.
|
||||
For example, `rocm-dkms` is the primary meta-package that is used to install most of the base technology needed for ROCm to operate.
|
||||
@@ -318,7 +367,7 @@ These directions may not work as written on unsupported Debian-based distributio
|
||||
For example, newer versions of Ubuntu may not be compatible with the `rock-dkms` kernel driver.
|
||||
As such, users may want to skip the `rocm-dkms` and `rock-dkms` packages, as described [above](#rocm-binary-package-structure), and instead [use the upstream kernel driver](#using-debian-based-rocm-with-upstream-kernel-drivers).
|
||||
|
||||
##### First make sure your system is up to date
|
||||
##### First make sure your system is up to date
|
||||
|
||||
```shell
|
||||
sudo apt update
|
||||
@@ -336,9 +385,9 @@ follows:
|
||||
wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add -
|
||||
echo 'deb [arch=amd64] http://repo.radeon.com/rocm/apt/debian/ xenial main' | sudo tee /etc/apt/sources.list.d/rocm.list
|
||||
```
|
||||
The gpg key might change, so it may need to be updated when installing a new release.
|
||||
If the key signature verification is failed while update, please re-add the key from
|
||||
ROCm apt repository. The current rocm.gpg.key is not available in a standard key ring
|
||||
The gpg key might change, so it may need to be updated when installing a new release.
|
||||
If the key signature verification is failed while update, please re-add the key from
|
||||
ROCm apt repository. The current rocm.gpg.key is not available in a standard key ring
|
||||
distribution, but has the following sha1sum hash:
|
||||
|
||||
`f7f8147431c75e505c58a6f3a3548510869357a6 rocm.gpg.key`
|
||||
@@ -352,7 +401,7 @@ sudo apt update
|
||||
sudo apt install rocm-dkms
|
||||
```
|
||||
|
||||
##### Next set your permissions
|
||||
##### Next set your permissions
|
||||
|
||||
Users will need to be in the `video` group in order to have access to the GPU.
|
||||
As such, you should ensure that your user account is a member of the `video` group prior to using ROCm.
|
||||
@@ -365,7 +414,7 @@ groups
|
||||
To add yourself to the video group you will need the sudo password and can use the following command:
|
||||
|
||||
```shell
|
||||
sudo usermod -a -G video $LOGNAME
|
||||
sudo usermod -a -G video $LOGNAME
|
||||
```
|
||||
|
||||
You may want to ensure that any future users you add to your system are put into the "video" group by default. To do that, you can run the following commands:
|
||||
@@ -382,8 +431,8 @@ Once complete, reboot your system.
|
||||
After rebooting the system run the following commands to verify that the ROCm installation was successful. If you see your GPUs listed by both of these commands, you should be ready to go!
|
||||
|
||||
```shell
|
||||
/opt/rocm/bin/rocminfo
|
||||
/opt/rocm/opencl/bin/x86_64/clinfo
|
||||
/opt/rocm/bin/rocminfo
|
||||
/opt/rocm/opencl/bin/x86_64/clinfo
|
||||
```
|
||||
|
||||
Note that, to make running ROCm programs easier, you may wish to put the ROCm binaries in your PATH.
|
||||
@@ -445,7 +494,7 @@ These directions may not work as written on unsupported RPM-based distributions.
|
||||
For example, Fedora may work but may not be compatible with the `rock-dkms` kernel driver.
|
||||
As such, users may want to skip the `rocm-dkms` and `rock-dkms` packages, as described [above](#rocm-binary-package-structure), and instead [use the upstream kernel driver](#using-rpm-based-rocm-with-upstream-kernel-drivers).
|
||||
|
||||
Support for CentOS/RHEL 7 was added in ROCm 1.8, but ROCm requires a special
|
||||
Support for CentOS/RHEL 7 was added in ROCm 1.8, but ROCm requires a special
|
||||
runtime environment provided by the RHEL Software Collections and additional
|
||||
dkms support packages to properly install and run.
|
||||
|
||||
@@ -526,7 +575,7 @@ To add yourself to the video (or wheel) group you will need the sudo password an
|
||||
following command:
|
||||
|
||||
```shell
|
||||
sudo usermod -a -G video $LOGNAME
|
||||
sudo usermod -a -G video $LOGNAME
|
||||
```
|
||||
|
||||
You may want to ensure that any future users you add to your system are put into the "video" group by default. To do that, you can run the following commands:
|
||||
@@ -570,7 +619,7 @@ sudo yum install rock-dkms rocm-opencl-devel
|
||||
##### Compiling applications using HCC, HIP, and other ROCm software
|
||||
|
||||
To compile applications or samples, please use gcc-7.2 provided by the devtoolset-7 environment.
|
||||
To do this, compile all applications after running this command:
|
||||
To do this, compile all applications after running this command:
|
||||
|
||||
```shell
|
||||
scl enable devtoolset-7 bash
|
||||
@@ -610,16 +659,17 @@ echo 'SUBSYSTEM=="kfd", KERNEL=="kfd", TAG+="uaccess", GROUP="video"' | sudo tee
|
||||
|
||||
### Known issues / workarounds
|
||||
|
||||
#### MIOpen
|
||||
MIOpen unit test will fail at test_conv with the following error message –
|
||||
Memory access fault by GPU node-2 (Agent handle: 0x1fc0a10) on address 0x7fd3c3600000. Reason: Page not present or supervisor privilege
|
||||
|
||||
#### TensorFlow
|
||||
Observed memory access fault while running SAGAN TensorFlow model in Polaris based ASIC
|
||||
|
||||
#### Vega7nm
|
||||
GPU reset is not currently supported with boards connected with AMD Infinity Fabric™ Link GPU interconnect technology.
|
||||
#### Radeon Instinct MI50, MI60
|
||||
GPU reset is not currently supported on Radeon Instinct MI50, MI60, in single card configurations or with boards connected with AMD Infinity Fabric™ Link GPU interconnect technology. Workaround is to reboot the system.
|
||||
|
||||
#### Gromacs
|
||||
There are known failures with a few tests on Gromacs on CentOS
|
||||
|
||||
#### HIP sample
|
||||
HIP sample test fails at module_api_global with a segmentation fault
|
||||
|
||||
### Closed source components
|
||||
|
||||
@@ -658,7 +708,7 @@ If you chose a directory other than `~/bin/` to install `repo`, you should use t
|
||||
```shell
|
||||
mkdir -p ~/ROCm/
|
||||
cd ~/ROCm/
|
||||
~/bin/repo init -u https://github.com/RadeonOpenCompute/ROCm.git -b roc-2.4.0
|
||||
~/bin/repo init -u https://github.com/RadeonOpenCompute/ROCm.git -b roc-2.6.0
|
||||
repo sync
|
||||
```
|
||||
|
||||
@@ -673,11 +723,11 @@ As such, you should go to the repository you are interested in building to find
|
||||
That said, AMD also offers [a project](https://github.com/RadeonOpenCompute/Experimental_ROC) that demonstrates how to download, build, package, and install ROCm software on various distributions.
|
||||
The scripts here may be useful for anyone looking to build ROCm components.
|
||||
|
||||
### Deprecation Notice - HCC
|
||||
### Deprecation Notice - HCC
|
||||
AMD is deprecating HCC to put more focus on HIP development and on
|
||||
other languages supporting heterogeneous compute. We will no longer
|
||||
develop any new feature in HCC and we will stop maintaining HCC after
|
||||
its final release, which is planned for June 2019. If your
|
||||
its final release, which is planned for end of year, 2019. If your
|
||||
application was developed with the hc C++ API, we would encourage you
|
||||
to transition it to other languages supported by AMD, such as HIP or
|
||||
OpenCL. HIP and hc language share the same compiler technology, so
|
||||
|
||||
33
default.xml
33
default.xml
@@ -12,7 +12,7 @@
|
||||
<remote name="gpuopen-tools"
|
||||
fetch="https://github.com/GPUOpen-Tools/" />
|
||||
|
||||
<default revision="refs/tags/roc-2.4.0"
|
||||
<default revision="refs/tags/roc-2.5.0"
|
||||
remote="roc-github"
|
||||
sync-c="true"
|
||||
sync-j="4" />
|
||||
@@ -32,9 +32,9 @@
|
||||
<remote name="KhronosGroup" fetch="https://github.com/KhronosGroup/" />
|
||||
<project name="ROCm-OpenCL-Runtime" />
|
||||
<project path="ROCm-OpenCL-Runtime/compiler/driver" name="ROCm-OpenCL-Driver"/>
|
||||
<project path="ROCm-OpenCL-Runtime/compiler/llvm" name="llvm" revision="refs/tags/roc-ocl-2.4.0" />
|
||||
<project path="ROCm-OpenCL-Runtime/compiler/llvm" name="llvm" revision="refs/tags/roc-hcc-2.5.0" />
|
||||
<project path="ROCm-OpenCL-Runtime/compiler/llvm/tools/clang" name="clang" />
|
||||
<project path="ROCm-OpenCL-Runtime/compiler/llvm/tools/lld" name="lld" revision="refs/tags/roc-ocl-2.4.0" />
|
||||
<project path="ROCm-OpenCL-Runtime/compiler/llvm/tools/lld" name="lld" revision="refs/tags/roc-hcc-2.5.0" />
|
||||
<project path="ROCm-OpenCL-Runtime/library/amdgcn" name="ROCm-Device-Libs"/>
|
||||
<project path="ROCm-OpenCL-Runtime/api/opencl/khronos/icd" name="OpenCL-ICD-Loader" remote="KhronosGroup" revision="261c1288aadd9dcc4637aca08332f603e6c13715" />
|
||||
|
||||
@@ -45,8 +45,8 @@
|
||||
<project name="HIP" remote="rocm-devtools" />
|
||||
<project name="HIP-Examples" remote="rocm-devtools" />
|
||||
<!-- The following projects are all associated with the AMDGPU LLVM compiler -->
|
||||
<project name="llvm" path="llvm_amd-common" revision="refs/tags/roc-hcc-2.4.0" />
|
||||
<project name="lld" path="llvm_amd-common/lld" revision="refs/tags/roc-hcc-2.4.0" />
|
||||
<project name="llvm" path="llvm_amd-common" revision="refs/tags/roc-hcc-2.5.0" />
|
||||
<project name="lld" path="llvm_amd-common/lld" revision="refs/tags/roc-hcc-2.5.0" />
|
||||
<project name="clang" path="llvm_amd-common/clang" />
|
||||
<project name="ROCm-Device-Libs" />
|
||||
<project name="atmi" revision="4dd14ad8fafc64dc8f35b0646cfe84e3e36a3c64" />
|
||||
@@ -56,18 +56,17 @@
|
||||
<project name="RCP" remote="gpuopen-tools" revision="refs/tags/v5.6" />
|
||||
|
||||
<!-- ROCm Libraries -->
|
||||
<project name="rocBLAS" remote="rocm-swplat" revision="refs/tags/rocm-2.4" />
|
||||
<project name="hipBLAS" remote="rocm-swplat" revision="refs/tags/rocm-2.4" />
|
||||
<project name="rocFFT" remote="rocm-swplat" revision="9a0d296ce91889a4ac549adeac045604f040af92" />
|
||||
<project name="rocRAND" remote="rocm-swplat" revision="687d659a294f416c69dd6e860a8ded939e55c22a" />
|
||||
<project name="rocSPARSE" remote="rocm-swplat" revision="refs/tags/rocm-2.4" />
|
||||
<project name="hipSPARSE" remote="rocm-swplat" revision="refs/tags/rocm-2.4" />
|
||||
<project name="rocALUTION" remote="rocm-swplat" revision="refs/tags/rocm-2.4" />
|
||||
<project name="rocBLAS" remote="rocm-swplat" revision="refs/tags/rocm-2.5" />
|
||||
<project name="hipBLAS" remote="rocm-swplat" revision="refs/tags/rocm-2.5" />
|
||||
<project name="rocFFT" remote="rocm-swplat" revision="refs/tags/v0.9.3" />
|
||||
<project name="rocRAND" remote="rocm-swplat" revision="refs/tags/2.5.0" />
|
||||
<project name="rocSPARSE" remote="rocm-swplat" revision="refs/tags/rocm-2.5" />
|
||||
<project name="hipSPARSE" remote="rocm-swplat" revision="refs/tags/rocm-2.5" />
|
||||
<project name="rocALUTION" remote="rocm-swplat" revision="refs/tags/rocm-2.5" />
|
||||
<project name="MIOpenGEMM" remote="rocm-swplat" revision="9547fb9e8499a5a9f16da83b1e6b749de82dd9fb" />
|
||||
<project name="MIOpen" remote="rocm-swplat" revision="refs/tags/roc-2.3.0" />
|
||||
<project name="Thrust" remote="rocm-swplat" revision="a58d8d783c05202bd3fa7732c2af62362198112e" sync-s="true" />
|
||||
<project name="MIOpen" remote="rocm-swplat" revision="refs/tags/roc-2.5.0" />
|
||||
<project name="Thrust" remote="rocm-swplat" revision="refs/tags/2.5" sync-s="true" />
|
||||
<project name="rocm_smi_lib" />
|
||||
<project name="rccl" remote="rocm-swplat" revision="refs/tags/0.7.5" />
|
||||
<project name="MIVisionX" remote="gpuopen-libs" revision="f05574dc81b861cce7431153b9502718e79e0647" />
|
||||
<project name="cub-hip" remote="rocm-swplat" revision="hip_port_1.7.4" />
|
||||
<project name="rccl" remote="rocm-swplat" revision="refs/tags/2.5.0" />
|
||||
<project name="MIVisionX" remote="gpuopen-libs" revision="refs/tags/1.2.0" />
|
||||
</manifest>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
## ROCm Version History
|
||||
This file contains archived version history information for the [ROCm project](https://github.com/RadeonOpenCompute/ROCm)
|
||||
|
||||
### Current ROCm Version: 2.4
|
||||
### Current ROCm Version: 2.5
|
||||
- [New features and enhancements in ROCm 2.4](#new-features-and-enhancements-in-rocm-24)
|
||||
- [New features and enhancements in ROCm 2.3](#new-features-and-enhancements-in-rocm-23)
|
||||
- [New features and enhancements in ROCm 2.2](#new-features-and-enhancements-in-rocm-22)
|
||||
- [New features and enhancements in ROCm 2.1](#new-features-and-enhancements-in-rocm-21)
|
||||
@@ -15,6 +16,14 @@ This file contains archived version history information for the [ROCm project](h
|
||||
- [New Features as of ROCm 1.7](#new-features-as-of-rocm-17)
|
||||
- [New Features as of ROCm 1.5](#new-features-as-of-rocm-15)
|
||||
|
||||
### New features and enhancements in ROCm 2.4
|
||||
|
||||
#### TensorFlow 2.0 support
|
||||
ROCm 2.4 includes the enhanced compilation toolchain and a set of bug fixes to support TensorFlow 2.0 features natively
|
||||
|
||||
#### AMD Infinity Fabric™ Link enablement
|
||||
ROCm 2.4 adds support to connect two Radeon Instinct MI60 or Radeon Instinct MI50 boards via AMD Infinity Fabric™ Link GPU interconnect technology.
|
||||
|
||||
### New features and enhancements in ROCm 2.3
|
||||
|
||||
#### Mem usage per GPU
|
||||
|
||||
Reference in New Issue
Block a user