mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-09 22:58:17 -05:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5fab6d043 | ||
|
|
efbfe487e2 | ||
|
|
48f8ce93b8 | ||
|
|
9623efac90 | ||
|
|
258740b489 | ||
|
|
1f0e2c2d7a | ||
|
|
ae0503cad3 | ||
|
|
c1ecf02269 | ||
|
|
8f26cf300e | ||
|
|
614f5a6d5f | ||
|
|
b58b254b29 | ||
|
|
5a0d73e84f | ||
|
|
1ea6f22864 | ||
|
|
f26b2d6af3 |
309
README.md
309
README.md
@@ -1,92 +1,106 @@
|
||||
## 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.
|
||||
Please refer the ROCm Documentation [here](https://rocm-documentation.readthedocs.io/en/latest/index.html).
|
||||
|
||||
### Current ROCm Version: 2.4
|
||||
### Current ROCm Version: 2.7
|
||||
|
||||
- [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.7](#new-features-and-enhancements-in-rocm-27)
|
||||
- [The latest ROCm platform - ROCm 2.7](#the-latest-rocm-platform-rocm-27)
|
||||
- [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)
|
||||
* [CentOS/RHEL 7 (7.4, 7.5, 7.6) Support](#centosrhel-7-74-75-76-support)
|
||||
- [Known issues / workarounds](#known-issues--workarounds)
|
||||
* [Ubuntu Support - installing from a Debian repository](#ubuntu-support-installing-from-a-debian-repository)
|
||||
* [CentOS/RHEL 7 (7.6) Support](#centosrhel-7-76-support)
|
||||
- [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.7
|
||||
|
||||
#### 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.
|
||||
#### [rocFFT] Real FFT Functional
|
||||
Improved real/complex 1D even-length transforms of unit stride. Performance improvements of up to 4.5x are observed. Large problem sizes should see approximately 2x.
|
||||
|
||||
#### rocRand Enhancements and Optimizations
|
||||
- Added support for new datatypes: uchar, ushort, half.
|
||||
- Improved performance on "Vega 7nm" chips, such as on the Radeon Instinct MI50
|
||||
- mtgp32 uniform double performance changes due generation algorithm standardization. Better quality random numbers now generated with 30% decrease in performance
|
||||
- Up to 5% performance improvements for other algorithms
|
||||
|
||||
#### RAS
|
||||
Added support for RAS on Radeon Instinct MI50, including:
|
||||
- Memory error detection
|
||||
- Memory error detection counter
|
||||
|
||||
#### ROCm-SMI enhancements
|
||||
Added ROCm-SMI CLI and LIB support for FW version, compute running processes, utilization rates, utilization counter, link error counter, and unique ID.
|
||||
|
||||
|
||||
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.7
|
||||
|
||||
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.7.0)
|
||||
- [ROCr Runtime](https://github.com/RadeonOpenCompute/ROCR-Runtime/tree/roc-2.7.0)
|
||||
- [ROCt Thunk Interface](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/tree/roc-2.7.0)
|
||||
* ROCm Support Software
|
||||
- [ROCm SMI](https://github.com/RadeonOpenCompute/ROC-smi/tree/roc-2.4.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 SMI](https://github.com/RadeonOpenCompute/ROC-smi/tree/roc-2.7.0)
|
||||
- [ROCm cmake](https://github.com/RadeonOpenCompute/rocm-cmake/tree/master-rocm-2.7)
|
||||
- [rocminfo](https://github.com/RadeonOpenCompute/rocminfo/tree/roc-2.7.0)
|
||||
- [ROCm Bandwidth Test](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/tree/roc-2.7.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.7.0)
|
||||
- [HIP](https://github.com/ROCm-Developer-Tools/HIP/tree/roc-2.7.0)
|
||||
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-hcc-2.7.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)
|
||||
- [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)
|
||||
- [ROCm OpenCL Runtime](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/tree/roc-2.7.0)
|
||||
- [ROCm OpenCL Driver](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Driver/tree/roc-2.7.0)
|
||||
- The ROCm OpenCL compiler, which is created from the following components:
|
||||
- [ROCm LLVM OCL](http://github.com/RadeonOpenCompute/llvm/tree/roc-ocl-2.7.0)
|
||||
- [ROCm LLVM HCC](http://github.com/RadeonOpenCompute/llvm/tree/roc-hcc-2.7.0)
|
||||
- [ROCm Clang](http://github.com/RadeonOpenCompute/clang/tree/roc-2.7.0)
|
||||
- [ROCm lld OCL](http://github.com/RadeonOpenCompute/lld/tree/roc-ocl-2.7.0)
|
||||
- [ROCm lld HCC](http://github.com/RadeonOpenCompute/lld/tree/roc-hcc-2.7.0)
|
||||
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-ocl-2.7.0)
|
||||
- [ROCM Clang-OCL Kernel Compiler](https://github.com/RadeonOpenCompute/clang-ocl/tree/roc-2.7.0)
|
||||
- [Asynchronous Task and Memory Interface (ATMI)](https://github.com/RadeonOpenCompute/atmi/tree/rocm_2.7.0)
|
||||
- [ROCr Debug Agent](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/tree/roc-2.7.0)
|
||||
- [ROCm Code Object Manager](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/roc-2.7.0)
|
||||
- [ROC Profiler](https://github.com/ROCm-Developer-Tools/rocprofiler/tree/roc-2.6.x)
|
||||
- [ROC Tracer](https://github.com/ROCmSoftwarePlatform/roctracer/tree/roc-2.7.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.7.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.7)
|
||||
- [hipBLAS](https://github.com/ROCmSoftwarePlatform/hipBLAS/tree/master-rocm-2.7)
|
||||
- [rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT/tree/master-rocm-2.7)
|
||||
- [rocRAND](https://github.com/ROCmSoftwarePlatform/rocRAND/tree/master-rocm-2.7)
|
||||
- [rocSPARSE](https://github.com/ROCmSoftwarePlatform/rocSPARSE/tree/master-rocm-2.7)
|
||||
- [hipSPARSE](https://github.com/ROCmSoftwarePlatform/hipSPARSE/tree/master-rocm-2.7)
|
||||
- [rocALUTION](https://github.com/ROCmSoftwarePlatform/rocALUTION/tree/master-rocm-2.7)
|
||||
- [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.7.0)
|
||||
- [rocThrust](https://github.com/ROCmSoftwarePlatform/rocThrust/tree/master-rocm-2.7)
|
||||
- [ROCm SMI Lib](https://github.com/RadeonOpenCompute/rocm_smi_lib/tree/roc-2.7.0)
|
||||
- [RCCL](https://github.com/ROCmSoftwarePlatform/rccl/tree/master-rocm-2.7)
|
||||
- [MIVisionX](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/tree/1.3.0)
|
||||
- [hipCUB](https://github.com/ROCmSoftwarePlatform/hipCUB/tree/rocm-2.7)
|
||||
|
||||
### Hardware Support
|
||||
ROCm is focused on using AMD GPUs to accelerate computational tasks such as machine learning, engineering workloads, and scientific computing.
|
||||
@@ -100,8 +114,6 @@ ROCm officially supports AMD GPUs that use following chips:
|
||||
* GFX8 GPUs
|
||||
* "Fiji" chips, such as on the AMD Radeon R9 Fury X and Radeon Instinct MI8
|
||||
* "Polaris 10" chips, such as on the AMD Radeon RX 580 and Radeon Instinct MI6
|
||||
* "Polaris 11" chips, such as on the AMD Radeon RX 570 and Radeon Pro WX 4100
|
||||
* "Polaris 12" chips, such as on the AMD Radeon RX 550 and Radeon RX 540
|
||||
* GFX9 GPUs
|
||||
* "Vega 10" chips, such as on the AMD Radeon RX Vega 64 and Radeon Instinct MI25
|
||||
* "Vega 7nm" chips, such as on the Radeon Instinct MI50, Radeon Instinct MI60 or AMD Radeon VII
|
||||
@@ -110,13 +122,16 @@ ROCm is a collection of software ranging from drivers and runtimes to libraries
|
||||
Some of this software may work with more GPUs than the "officially supported" list above, though AMD does not make any official claims of support for these devices on the ROCm software platform.
|
||||
The following list of GPUs are enabled in the ROCm software, though full support is not guaranteed:
|
||||
|
||||
* GFX8 GPUs
|
||||
* "Polaris 11" chips, such as on the AMD Radeon RX 570 and Radeon Pro WX 4100
|
||||
* "Polaris 12" chips, such as on the AMD Radeon RX 550 and Radeon RX 540
|
||||
* GFX7 GPUs
|
||||
* "Hawaii" chips, such as the AMD Radeon R9 390X and FirePro W9100
|
||||
|
||||
As described in the next section, GFX8 GPUs require PCI Express 3.0 (PCIe 3.0) with support for PCIe atomics. This requires both CPU and motherboard support. GFX9 GPUs, by default, also require PCIe 3.0 with support for PCIe atomics, but they can operate in most cases without this capability.
|
||||
As described in the next section, GFX8 GPUs require PCI Express 3.0 (PCIe 3.0) with support for PCIe atomics. This requires both CPU and motherboard support. GFX9 GPUs require PCIe 3.0 with support for PCIe atomics by default, 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.
|
||||
As descried [below](#limited-support), "Carrizo", "Bristol Ridge", and "Raven Ridge" APUs are enabled in our upstream drivers and the ROCm OpenCL runtime.
|
||||
The integrated GPUs in AMD APUs are not officially supported targets for ROCm.
|
||||
As described [below](#limited-support), "Carrizo", "Bristol Ridge", and "Raven Ridge" APUs are enabled in our upstream drivers and the ROCm OpenCL runtime.
|
||||
However, they are not enabled in our HCC or HIP runtimes, and may not work due to motherboard or OEM hardware limitations.
|
||||
As such, they are not yet officially supported targets for ROCm.
|
||||
|
||||
@@ -129,14 +144,14 @@ The CPU root must indicate PCIe AtomicOp Completion capabilities and any interme
|
||||
|
||||
Current CPUs which support PCIe Gen3 + PCIe Atomics are:
|
||||
|
||||
* AMD Ryzen CPUs;
|
||||
* The CPUs in AMD Ryzen APUs;
|
||||
* AMD Ryzen CPUs
|
||||
* The CPUs in AMD Ryzen APUs
|
||||
* AMD Ryzen Threadripper CPUs
|
||||
* AMD EPYC CPUs;
|
||||
* Intel Xeon E7 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).
|
||||
* AMD EPYC CPUs
|
||||
* Intel Xeon E7 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
|
||||
|
||||
Beginning with ROCm 1.8, GFX9 GPUs (such as Vega 10) no longer require PCIe atomics.
|
||||
@@ -159,10 +174,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.7.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,21 +187,21 @@ 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.7.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.7.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)
|
||||
* RHEL 7.4, 7.5, and 7.6 (Using devtoolset-7 runtime support)
|
||||
* Ubuntu 16.04.5(Kernel 4.15) and 18.04.2(Kernel 4.18)
|
||||
* CentOS 7.6 (Using devtoolset-7 runtime support)
|
||||
* RHEL 7.6 (Using devtoolset-7 runtime support)
|
||||
|
||||
#### ROCm support in upstream Linux kernels
|
||||
|
||||
@@ -216,7 +231,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.7.x packages at this time.
|
||||
|
||||
The packages in the Debian repository have been signed to ensure package integrity.
|
||||
|
||||
@@ -251,22 +266,22 @@ The packages for each of the major ROCm components are:
|
||||
- ROC Tracer: `roctracer-dev`
|
||||
- Radeon Compute Profiler: `rocm-profiler`
|
||||
* ROCm Libraries
|
||||
- rocALUTION: `rocalution`
|
||||
- rocBLAS: `rocblas`
|
||||
- hipBLAS: `hipblas`
|
||||
- hipCUB: `hipCUB`
|
||||
- rocFFT: `rocfft`
|
||||
- rocRAND: `rocrand`
|
||||
- rocSPARSE: `rocsparse`
|
||||
- hipSPARSE: `hipsparse`
|
||||
- rocALUTION: `rocalution:`
|
||||
- MIOpenGEMM: `miopengemm`
|
||||
- MIOpen: `MIOpen-HIP` (for the HIP version), `MIOpen-OpenCL` (for the OpenCL version)
|
||||
- HIP Thrust: `thrust` (on RHEL/CentOS), `hip-thrust` (on Ubuntu)
|
||||
- ROCm SMI Lib: `rocm_smi_lib64`
|
||||
- RCCL: `rccl`
|
||||
- rocThrust: `rocThrust`
|
||||
- MIOpen: `MIOpen-HIP` (for the HIP version), `MIOpen-OpenCL` (for the OpenCL version)
|
||||
- MIOpenGEMM: `miopengemm`
|
||||
- MIVisionX: `mivisionx`
|
||||
- CUB HIP: `cub-hip`
|
||||
- RCCL: `rccl`
|
||||
|
||||
To make it easier to install ROCm, the AMD binary repos provide a number of meta-packages that will automatically install multiple other packages.
|
||||
To make it easier to install ROCm, the AMD binary repositories 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.
|
||||
It will install the `rock-dkms` kernel driver, and another meta-package (`rocm-dev`) which installs most of the user-land ROCm core components, support software, and development tools.
|
||||
|
||||
@@ -276,33 +291,36 @@ Finally, the `rocm-libs` meta-package will install some (but not all) of the lib
|
||||
The chain of software installed by these meta-packages is illustrated below
|
||||
|
||||
```
|
||||
rocm-dkms
|
||||
|-- rock-dkms
|
||||
\-- rocm-dev
|
||||
|--hsa-rocr-dev
|
||||
|--hsa-ext-rocr-dev
|
||||
|--rocm-device-libs
|
||||
|--rocm-utils
|
||||
|-- rocminfo
|
||||
|-- rocm-cmake
|
||||
\-- rocm-clang-ocl # This will cause OpenCL to be installed
|
||||
|--hcc
|
||||
|--hip_base
|
||||
|--hip_doc
|
||||
|--hip_hcc
|
||||
|--hip_samples
|
||||
|--rocm-smi
|
||||
|--hsakmt-roct
|
||||
|--hsakmt-roct-dev
|
||||
|--hsa-amd-aqlprofile
|
||||
|--comgr
|
||||
\--rocr_debug_agent
|
||||
rocm-dkms
|
||||
|--rock-dkms
|
||||
\--rocm-dev
|
||||
|--hsa-rocr-dev
|
||||
|--hsa-ext-rocr-dev
|
||||
|--hsakmt-roct
|
||||
|--hsakmt-roct-dev
|
||||
|--rocm-cmake
|
||||
|--rocm-device-libs
|
||||
|--hcc
|
||||
|--hip_base
|
||||
|--hip_doc
|
||||
|--hip_hcc
|
||||
|--hip_samples
|
||||
|--rocm-smi
|
||||
|--hsa-amd-aqlprofile
|
||||
|--comgr
|
||||
|--rocr_debug_agent
|
||||
\--rocm-utils
|
||||
|--rocminfo
|
||||
\--rocm-clang-ocl # This will cause OpenCL to be installed
|
||||
|
||||
rocm-libs
|
||||
|-- rocblas
|
||||
|-- rocfft
|
||||
|-- rocrand
|
||||
\-- hipblas
|
||||
rocm-libs
|
||||
|--rocalution
|
||||
|--hipblas
|
||||
|--rocblas
|
||||
|--rocfft
|
||||
|--rocrand
|
||||
|--hipsparse
|
||||
\--rocsparse
|
||||
```
|
||||
|
||||
These meta-packages are not required but may be useful to make it easier to install ROCm on most systems.
|
||||
@@ -318,7 +336,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,12 +354,12 @@ 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`
|
||||
`e85a40d1a43453fe37d63aa6899bc96e08f2817a rocm.gpg.key`
|
||||
|
||||
##### Install
|
||||
|
||||
@@ -352,7 +370,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 +383,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 +400,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.
|
||||
@@ -438,18 +456,18 @@ sudo apt install rocm-dev
|
||||
echo 'SUBSYSTEM=="kfd", KERNEL=="kfd", TAG+="uaccess", GROUP="video"' | sudo tee /etc/udev/rules.d/70-kfd.rules
|
||||
```
|
||||
|
||||
#### CentOS/RHEL 7 (7.4, 7.5, 7.6) Support
|
||||
#### CentOS/RHEL 7 (7.6) Support
|
||||
|
||||
The following directions show how to install ROCm on supported RPM-based systems such as CentOS 7.6.
|
||||
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.
|
||||
|
||||
##### Preparing RHEL 7 (7.4, 7.5, 7.6) for installation
|
||||
##### Preparing RHEL 7 (7.6) for installation
|
||||
|
||||
RHEL is a subscription-based operating system, and you must enable several external
|
||||
repositories to enable installation of the devtoolset-7 environment and the DKMS
|
||||
@@ -482,9 +500,9 @@ https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/
|
||||
|
||||
Note that devtoolset-7 is a Software Collections package, and it is not supported by AMD.
|
||||
|
||||
##### Prepare CentOS/RHEL (7.4, 7.5, 7.6) for DKMS Install
|
||||
##### Prepare CentOS/RHEL (7.6) for DKMS Install
|
||||
|
||||
Installing kernel drivers on CentOS/RHEL 7.4/7.5/7.6 requires dkms tool being installed:
|
||||
Installing kernel drivers on CentOS/RHEL 7.6 requires dkms tool being installed:
|
||||
|
||||
```shell
|
||||
sudo yum install -y epel-release
|
||||
@@ -493,7 +511,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-uninstall-rocm-from-centosrhel-74-75-and-76) 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-uninstall-rocm-from-centosrhel-76) 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:
|
||||
|
||||
@@ -526,7 +544,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:
|
||||
@@ -536,7 +554,7 @@ echo 'ADD_EXTRA_GROUPS=1' | sudo tee -a /etc/adduser.conf
|
||||
echo 'EXTRA_GROUPS=video' | sudo tee -a /etc/adduser.conf
|
||||
```
|
||||
|
||||
Current release supports CentOS/RHEL 7.4, 7.5, 7.6. 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.
|
||||
Current release supports CentOS/RHEL 7.6. 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.
|
||||
|
||||
Once complete, reboot your system.
|
||||
|
||||
@@ -570,12 +588,12 @@ 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
|
||||
```
|
||||
##### How to uninstall ROCm from CentOS/RHEL 7.4, 7.5 and 7.6
|
||||
##### How to uninstall ROCm from CentOS/RHEL 7.6
|
||||
|
||||
To uninstall the ROCm packages installed by the above directions, you can execute:
|
||||
|
||||
@@ -610,16 +628,15 @@ 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
|
||||
#### rocprofiler --hiptrace and --hsatrace fails to load roctracer library
|
||||
In ROCm 2.7, rocprofiler --hiptrace and --hsatrace fails to load roctracer library.
|
||||
The workaround is to create two links under '/opt/rocm':
|
||||
$ ln -s /opt/rocm/roctracer/lib/libroctracer64.so /opt/rocm/rocprofiler/lib/libroctracer64.so
|
||||
$ ln -s /opt/rocm/roctracer/tool/libtracer_tool.so /opt/rocm/rocprofiler/tool/libtracer_tool.so
|
||||
|
||||
#### 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.
|
||||
|
||||
#### rocFFT unit tests - memory access fault
|
||||
Known failure with some power-of-2 size transforms in 1D real FFTs. This issue has been fixed in master branch of public rocFFT repo: https://github.com/ROCmSoftwarePlatform/rocFFT
|
||||
|
||||
### Closed source components
|
||||
|
||||
@@ -658,7 +675,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.7.0
|
||||
repo sync
|
||||
```
|
||||
|
||||
@@ -673,16 +690,22 @@ 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
|
||||
develop any new feature in HCC. We will stop maintaining HCC after
|
||||
its final release, which is planned for the end of 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
|
||||
OpenCL. HIP and hc languages share the same compiler technology, so
|
||||
many hc kernel language features (including inline assembly) are also
|
||||
available through the HIP compilation path.
|
||||
|
||||
### hipThrust
|
||||
hip-thrust has been removed in ROCm2.7.
|
||||
|
||||
|
||||
### Final notes
|
||||
* OpenCL Runtime and Compiler will be submitted to the Khronos Group for conformance testing prior to its final release.
|
||||
|
||||
53
default.xml
53
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.7.0"
|
||||
remote="roc-github"
|
||||
sync-c="true"
|
||||
sync-j="4" />
|
||||
@@ -21,10 +21,10 @@
|
||||
<project name="ROCT-Thunk-Interface" />
|
||||
<project name="ROCR-Runtime" />
|
||||
<project name="ROC-smi" />
|
||||
<project name="rocm-cmake" revision="ac45c6e269d1fd1dbd5dfc81cfe47a7452c96daf" />
|
||||
<project name="rocminfo" revision="1bb0ccc731f772bb1a553e37b41d06eb0a684926" />
|
||||
<project name="rocprofiler" remote="rocm-devtools" />
|
||||
<project name="roctracer" remote="rocm-devtools" />
|
||||
<project name="rocm-cmake" revision="master-rocm-2.7" />
|
||||
<project name="rocminfo" />
|
||||
<project name="rocprofiler" remote="rocm-devtools" revision="refs/tags/roc-2.6.0"/>
|
||||
<project name="roctracer" remote="rocm-devtools" revision="roc-2.7.x"/>
|
||||
<!-- If you want to get the full OpenCL runtime, there is a separate repo
|
||||
manifest that is more authoritative than the copy in this file. It can
|
||||
be found at the following URL:
|
||||
@@ -32,42 +32,43 @@
|
||||
<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-ocl-2.7.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/library/amdgcn" name="ROCm-Device-Libs"/>
|
||||
<project path="ROCm-OpenCL-Runtime/compiler/llvm/tools/lld" name="lld" revision="refs/tags/roc-ocl-2.7.0" />
|
||||
<project path="ROCm-OpenCL-Runtime/library/amdgcn" name="ROCm-Device-Libs" revision="refs/tags/roc-ocl-2.7.0" />
|
||||
<project path="ROCm-OpenCL-Runtime/api/opencl/khronos/icd" name="OpenCL-ICD-Loader" remote="KhronosGroup" revision="261c1288aadd9dcc4637aca08332f603e6c13715" />
|
||||
|
||||
<project name="clang-ocl" />
|
||||
<!-- HCC needs to be recursively synced to get it submodules -->
|
||||
<project name="hcc" sync-s="true" />
|
||||
<project name="hcc" sync-s="true" revision="refs/tags/roc-hcc-2.7.0" />
|
||||
<project name="HCC-Example-Application" remote="rocm-devtools" revision="ffd6533305e79eed667badd3c4cdb7879a1281b8" />
|
||||
<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-ocl-2.7.0" />
|
||||
<project name="lld" path="llvm_amd-common/lld" revision="refs/tags/roc-ocl-2.7.0" />
|
||||
<project name="clang" path="llvm_amd-common/clang" />
|
||||
<project name="ROCm-Device-Libs" />
|
||||
<project name="atmi" revision="4dd14ad8fafc64dc8f35b0646cfe84e3e36a3c64" />
|
||||
<project name="ROCm-Device-Libs" revision="refs/tags/roc-ocl-2.7.0" />
|
||||
<project name="atmi" revision="refs/tags/rocm_2.7.0" />
|
||||
<project name="ROCm-CompilerSupport" />
|
||||
<project name="rocr_debug_agent" remote="rocm-devtools" />
|
||||
<project name="rocm_bandwidth_test" />
|
||||
<project name="RCP" remote="gpuopen-tools" revision="refs/tags/v5.6" />
|
||||
<project name="RCP" remote="gpuopen-tools" revision="3a49405a1500067c49d181844ec90aea606055bb" />
|
||||
|
||||
<!-- 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.7" />
|
||||
<project name="hipBLAS" remote="rocm-swplat" revision="refs/tags/rocm-2.7" />
|
||||
<project name="rocFFT" remote="rocm-swplat" revision="refs/tags/rocm-2.7" />
|
||||
<project name="rocRAND" remote="rocm-swplat" revision="refs/tags/rocm-2.7" />
|
||||
<project name="rocSPARSE" remote="rocm-swplat" revision="refs/tags/rocm-2.7" />
|
||||
<project name="hipSPARSE" remote="rocm-swplat" revision="refs/tags/rocm-2.7" />
|
||||
<project name="rocALUTION" remote="rocm-swplat" revision="refs/tags/rocm-2.7" />
|
||||
<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.7.0" />
|
||||
<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.7.0" />
|
||||
<project name="MIVisionX" remote="gpuopen-libs" revision="refs/tags/1.3.0" />
|
||||
<project name="rocThrust" remote="rocm-swplat" revision="refs/tags/rocm-2.7" />
|
||||
<project name="hipCUB" remote="rocm-swplat" revision="refs/tags/rocm-2.7" />
|
||||
|
||||
</manifest>
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
## 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.7
|
||||
- [New features and enhancements in ROCm 2.6](#new-features-and-enhancements-in-rocm-26)
|
||||
- [New features and enhancements in ROCm 2.5](#new-features-and-enhancements-in-rocm-25)
|
||||
- [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,13 +18,105 @@ 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.6
|
||||
|
||||
#### 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
|
||||
|
||||
#### 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
|
||||
|
||||
### New features and enhancements in ROCm 2.5
|
||||
|
||||
#### UCX 1.6 support
|
||||
Support for UCX version 1.6 has been added.
|
||||
|
||||
#### BFloat16 GEMM in rocBLAS/Tensile
|
||||
Software support for BFloat16 on Radeon Instinct MI50, MI60 has been added. This includes:
|
||||
- Mixed precision GEMM with BFloat16 input and output matrices, and all arithmetic in IEEE32 bit
|
||||
- Input matrix values are converted from BFloat16 to IEEE32 bit, all arithmetic and accumulation is IEEE32 bit. Output values are rounded from IEEE32 bit to BFloat16
|
||||
- Accuracy should be correct to 0.5 ULP
|
||||
|
||||
#### ROCm-SMI enhancements
|
||||
CLI support for querying the memory size, driver version, and firmware version has been added to ROCm-smi.
|
||||
|
||||
#### [PyTorch] multi-GPU functional support (CPU aggregation/Data Parallel)
|
||||
Multi-GPU support is enabled in PyTorch using Dataparallel path for versions of PyTorch built using the 06c8aa7a3bbd91cda2fd6255ec82aad21fa1c0d5 commit or later.
|
||||
|
||||
#### rocSparse optimization on Radeon Instinct MI50 and MI60
|
||||
This release includes performance optimizations for csrsv routines in the rocSparse library.
|
||||
|
||||
#### [Thrust] Preview
|
||||
Preview release for early adopters. rocThrust is a port of thrust, a parallel algorithm library. Thrust has been ported to the HIP/ROCm platform to use the rocPRIM library. The HIP ported library works on HIP/ROCm platforms.
|
||||
|
||||
Note: This library will replace https://github.com/ROCmSoftwarePlatform/thrust in a future release. The package for rocThrust (this library) currently conflicts with version 2.5 package of thrust. They should not be installed together.
|
||||
|
||||
#### Support overlapping kernel execution in same HIP stream
|
||||
HIP API has been enhanced to allow independent kernels to run in parallel on the same stream.
|
||||
|
||||
#### AMD Infinity Fabric™ Link enablement
|
||||
The ability to connect four Radeon Instinct MI60 or Radeon Instinct MI50 boards in one hive via AMD Infinity Fabric™ Link GPU interconnect technology has been added.
|
||||
### 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
|
||||
Per GPU memory usage is added to rocm-smi.
|
||||
Display information regarding used/total bytes for VRAM, visible VRAM and GTT, via the --showmeminfo flag
|
||||
|
||||
#### MIVisionX, v1.1 - ONNX
|
||||
#### MIVisionX, v1.1 - ONNX
|
||||
ONNX parser changes to adjust to new file formats
|
||||
|
||||
#### MIGraphX, v0.2
|
||||
@@ -40,16 +135,16 @@ See: [Getting-started:-using-the-new-features-of-MIGraphX-0.2](https://github.co
|
||||
|
||||
See: [MIOpen releases](https://github.com/ROCmSoftwarePlatform/MIOpen/releases)
|
||||
|
||||
#### Caffe2 - mGPU support
|
||||
#### Caffe2 - mGPU support
|
||||
Multi-gpu support is enabled for Caffe2.
|
||||
|
||||
#### rocTracer library, ROCm tracing API for collecting runtimes API and asynchronous GPU activity traces
|
||||
HIP/HCC domains support is introduced in rocTracer library.
|
||||
|
||||
#### BLAS - Int8 GEMM performance, Int8 functional and performance
|
||||
#### BLAS - Int8 GEMM performance, Int8 functional and performance
|
||||
Introduces support and performance optimizations for Int8 GEMM, implements TRSV support, and includes improvements and optimizations with Tensile.
|
||||
|
||||
#### Prioritized L1/L2/L3 BLAS (functional)
|
||||
#### Prioritized L1/L2/L3 BLAS (functional)
|
||||
Functional implementation of BLAS L1/L2/L3 functions
|
||||
|
||||
#### BLAS - tensile optimization
|
||||
@@ -74,10 +169,10 @@ Added support for multi-GPU training
|
||||
|
||||
#### RocTracer v1.0 preview release – 'rocprof' HSA runtime tracing and statistics support -
|
||||
Supports HSA API tracing and HSA asynchronous GPU activity including kernels execution and memory copy
|
||||
|
||||
|
||||
#### Improvements to ROCM-SMI tool -
|
||||
Added support to show real-time PCIe bandwidth usage via the -b/--showbw flag
|
||||
|
||||
|
||||
#### DGEMM Optimizations -
|
||||
Improved DGEMM performance for large square and reduced matrix sizes (k=384, k=256)
|
||||
|
||||
@@ -243,15 +338,14 @@ To try ROCm with an upstream kernel, install ROCm as normal, but do not install
|
||||
#### Developer preview of the new OpenCL 1.2 compatible language runtime and compiler
|
||||
|
||||
* OpenCL 2.0 compatible kernel language support with OpenCL 1.2 compatible
|
||||
runtime
|
||||
runtime
|
||||
* Supports offline ahead of time compilation today;
|
||||
during the Beta phase we will add in-process/in-memory compilation.
|
||||
during the Beta phase we will add in-process/in-memory compilation.
|
||||
|
||||
#### Binary Package support for Ubuntu 16.04
|
||||
|
||||
#### Binary Package support for Fedora 24 is not currently available
|
||||
|
||||
#### Dropping binary package support for Ubuntu 14.04, Fedora 23
|
||||
|
||||
#### IPC support
|
||||
|
||||
#### IPC support
|
||||
|
||||
Reference in New Issue
Block a user