Compare commits

...

25 Commits

Author SHA1 Message Date
ChristinaElder
ac085f166f Update version_history.md and readme.md (#894)
* Update version_history.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update version_history.md

* Update version_history.md

* Update version_history.md

* Update version_history.md

* Update README.md

* Update version_history.md
2019-09-27 14:18:29 -07:00
Aakash Sudhanwa
269e6dde84 ROCm 2.8 (#895)
* ROCM rel 2.6

* ROCm 2.6

* Update README.md

* Update README.md

* Update default.xml for 2.6

* Update version_history.md for 2.6

* ROCm-2.7.2: Updates for 2.7.2 release

* ROCm-2.7.2

* ROCm-2.7.2

* ROCm-2.7.2

* ROCm-2.7.2

* ROCm-2.7.2

* ROCm 2.8.0

* ROCm 2.8.0
2019-09-27 14:18:04 -07:00
Aakash Sudhanwa
cd14a94f45 Updates for ROCm 2.7.2 2019-09-13 17:34:06 -07:00
radhaksri
81ca4c3ae8 Merge pull request #877 from radhaksri/master
Updates for ROCm Release 2.7.1
2019-08-26 19:15:33 -07:00
radhaksri
c6c9850a46 Update README.md 2019-08-26 18:40:07 -07:00
radhaksri
e6adf53679 Fixed link 2019-08-26 18:28:10 -07:00
radhaksri
e88d9b533c Fixed link 2019-08-26 18:27:27 -07:00
Radha Krishna. S
0a41c5df4e Updates for 2.7.1 2019-08-26 18:26:08 -07:00
zhang2amd
e5fab6d043 llvm and device-libs should use tag roc-ocl-2.7.0 (#875) 2019-08-23 15:09:51 -07:00
nelsonc-amd
efbfe487e2 default.xml updates for release 2.7 (#868)
* Release 2.7 project descriptions.

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Update version_history.md for 2.7

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Update meta pkg descriptions and misc. edits

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* default.xml: release 2.7 updates

Signed-off-by: Cole Nelson <cole.nelson@amd.com>
2019-08-16 08:11:28 -07:00
nelsonc-amd
48f8ce93b8 Update meta pkg descriptions and misc edits (#864)
* Release 2.7 project descriptions.

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Update version_history.md for 2.7

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Update meta pkg descriptions and misc. edits

Signed-off-by: Cole Nelson <cole.nelson@amd.com>
2019-08-15 08:46:10 -07:00
nelsonc-amd
9623efac90 Updates to README.md and version-history.md for 2.7 release. (#863)
* Release 2.7 project descriptions.

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Update version_history.md for 2.7

Signed-off-by: Cole Nelson <cole.nelson@amd.com>
2019-08-14 15:23:14 -07:00
ChristinaElder
258740b489 Update README.md (#862)
* Update README.md

* Update README.md

* Update README.md
2019-08-14 14:22:40 -07:00
zhang2amd
1f0e2c2d7a Merge pull request #856 from RadeonOpenCompute/zhang2amd-update-key
Update Debian repo public key file
2019-08-02 14:37:21 -07:00
zhang2amd
ae0503cad3 Update Debian repo public key file 2019-08-02 14:32:36 -07:00
sriharikarnam
c1ecf02269 adding documentation link 2019-07-12 17:33:10 +05:30
Aakash Sudhanwa
8f26cf300e Update version_history.md for 2.6 (#839)
* ROCM rel 2.6

* ROCm 2.6

* Update README.md

* Update README.md

* Update default.xml for 2.6

* Update version_history.md for 2.6
2019-07-09 15:02:48 -07:00
Aakash Sudhanwa
614f5a6d5f Update default.xml to 2.6 (#838)
* ROCM rel 2.6

* ROCm 2.6

* Update README.md

* Update README.md

* Update default.xml for 2.6
2019-07-09 14:13:32 -07:00
Aakash Sudhanwa
b58b254b29 ROCm 2.6 (#835)
* ROCM rel 2.6

* ROCm 2.6

* Update README.md

* Update README.md
2019-07-08 21:12:09 -07:00
nelsonc-amd
5a0d73e84f Update for rel 2.5 (#814)
* Updates for release 2.4 README.md

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Updates to version_history.md for release 2.4

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Organize README.md

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* README.md & version_history.md for rocm release 2.5

Fix numerous links, some syntax.
Add links for rocThrust project.

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Update README.md

* Update default.xml
2019-06-08 08:24:11 -07:00
zhang2amd
1ea6f22864 Update default.xml to release 2.5 (#813) 2019-06-08 03:15:31 -07:00
nelsonc-amd
f26b2d6af3 release 2.5 README.md and version_history.md (#812)
* Updates for release 2.4 README.md

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Updates to version_history.md for release 2.4

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Organize README.md

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* README.md & version_history.md for rocm release 2.5

Fix numerous links, some syntax.
Add links for rocThrust project.

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Update README.md
2019-06-07 14:33:12 -07:00
Aakash Sudhanwa
ce5e75fb6a Update default.xml (#789)
ROCm 2.4 tag update
2019-05-07 15:47:04 -07:00
nelsonc-amd
a84e61094a Release 2.4 text files (#788)
* Updates for release 2.4 README.md

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Updates to version_history.md for release 2.4

Signed-off-by: Cole Nelson <cole.nelson@amd.com>

* Organize README.md

Signed-off-by: Cole Nelson <cole.nelson@amd.com>
2019-05-07 15:46:38 -07:00
Konstantin Zhuravlyov
1fc51c91ab Fix llvm and lld 2.3 tags for opencl and hcc (#770) 2019-04-15 12:47:30 -07:00
3 changed files with 402 additions and 236 deletions

373
README.md
View File

@@ -1,30 +1,94 @@
## 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.3
### Current ROCm Version: 2.8
- [New features and enhancements in ROCm 2.8](#new-features-and-enhancements-in-rocm-28)
- [The latest ROCm platform - ROCm 2.8](#the-latest-rocm-platform-rocm-28)
- [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)
- [New features and enhancements in ROCm 2.3](#new-features-and-enhancements-in-rocm-23)
- [The latest ROCm platform - ROCm 2.3](#the-latest-rocm-platform---rocm-230)
* [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.8
#### Support for NCCL2.4.8 API
Implements ncclCommAbort() and ncclCommGetAsyncError() to match the NCCL 2.4.x API
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.8
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.8.0)
- [ROCr Runtime](https://github.com/RadeonOpenCompute/ROCR-Runtime/tree/roc-2.8.0)
- [ROCt Thunk Interface](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/tree/roc-2.8.0)
* ROCm Support Software
- [ROCm SMI](https://github.com/RadeonOpenCompute/ROC-smi/tree/roc-2.8.0)
- [ROCm cmake](https://github.com/RadeonOpenCompute/rocm-cmake/tree/roc-2.8.0)
- [rocminfo](https://github.com/RadeonOpenCompute/rocminfo/tree/roc-2.8.0)
- [ROCm Bandwidth Test](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/tree/roc-2.8.0)
* ROCm Development Tools
- [HCC compiler](https://github.com/RadeonOpenCompute/hcc/tree/roc-hcc-2.8.0)
- [HIP](https://github.com/ROCm-Developer-Tools/HIP/tree/roc-2.8.0)
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-hcc-2.8.0)
- ROCm OpenCL, which is created from the following components:
- [ROCm OpenCL Runtime](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/tree/roc-2.8.0)
- [ROCm OpenCL Driver](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Driver/tree/roc-2.8.0)
- The ROCm OpenCL compiler, which is created from the following components:
- [ROCm LLVM OCL](http://github.com/RadeonOpenCompute/llvm/tree/roc-ocl-2.8.0)
- [ROCm LLVM HCC](http://github.com/RadeonOpenCompute/llvm/tree/roc-hcc-2.8.0)
- [ROCm Clang](http://github.com/RadeonOpenCompute/clang/tree/roc-2.8.0)
- [ROCm lld OCL](http://github.com/RadeonOpenCompute/lld/tree/roc-ocl-2.8.0)
- [ROCm lld HCC](http://github.com/RadeonOpenCompute/lld/tree/roc-hcc-2.8.0)
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-ocl-2.8.0)
- [ROCM Clang-OCL Kernel Compiler](https://github.com/RadeonOpenCompute/clang-ocl/tree/roc-2.8.0)
- [Asynchronous Task and Memory Interface (ATMI)](https://github.com/RadeonOpenCompute/atmi/tree/rocm_2.8.0)
- [ROCr Debug Agent](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/tree/roc-2.8.0)
- [ROCm Code Object Manager](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/roc-2.8.0)
- [ROC Profiler](https://github.com/ROCm-Developer-Tools/rocprofiler/tree/roc-2.8.0)
- [ROC Tracer](https://github.com/ROCm-Developer-Tools/roctracer/tree/roc-2.8.0)
- [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.8.0)
* ROCm Libraries
- [rocBLAS](https://github.com/ROCmSoftwarePlatform/rocBLAS/tree/master-rocm-2.8)
- [hipBLAS](https://github.com/ROCmSoftwarePlatform/hipBLAS/tree/master-rocm-2.8)
- [rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT/tree/master-rocm-2.8)
- [rocRAND](https://github.com/ROCmSoftwarePlatform/rocRAND/tree/master-rocm-2.8)
- [rocSPARSE](https://github.com/ROCmSoftwarePlatform/rocSPARSE/tree/master-rocm-2.8)
- [hipSPARSE](https://github.com/ROCmSoftwarePlatform/hipSPARSE/tree/master-rocm-2.8)
- [rocALUTION](https://github.com/ROCmSoftwarePlatform/rocALUTION/tree/master-rocm-2.8)
- [MIOpenGEMM](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/tree/6275a879)
- [MIOpen](https://github.com/ROCmSoftwarePlatform/MIOpen/tree/roc-2.8.0)
- [rocThrust](https://github.com/ROCmSoftwarePlatform/rocThrust/tree/master-rocm-2.8)
- [ROCm SMI Lib](https://github.com/RadeonOpenCompute/rocm_smi_lib/tree/roc-2.8.0)
- [RCCL](https://github.com/ROCmSoftwarePlatform/rccl/tree/master-rocm-2.8)
- [MIVisionX](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/tree/1.3.0)
- [hipCUB](https://github.com/ROCmSoftwarePlatform/hipCUB/tree/master-rocm-2.8)
### Hardware Support
ROCm is focused on using AMD GPUs to accelerate computational tasks such as machine learning, engineering workloads, and scientific computing.
In order to focus our development efforts on these domains of interest, ROCm supports a targeted set of hardware configurations which are detailed further in this section.
@@ -37,23 +101,24 @@ 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 the AMD Radeon VII
* "Vega 7nm" chips, such as on the Radeon Instinct MI50, Radeon Instinct MI60 or AMD Radeon VII
ROCm is a collection of software ranging from drivers and runtimes to libraries and developer tools.
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.
@@ -66,14 +131,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.
@@ -96,10 +161,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.3.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.8.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.
@@ -109,119 +174,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.3.x
##### Not supported
* "Tonga", "Iceland", "Vega M", and "Vega 12" GPUs are not supported in ROCm 2.8.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.
### New features and enhancements in ROCm 2.3
### Supported Operating Systems - New operating systems available
#### 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
The ROCm 2.8.x platform supports the following operating systems:
#### MIVisionX, v1.1 - ONNX
ONNX parser changes to adjust to new file formats
#### MIGraphX, v0.2
MIGraphX 0.2 supports the following new features:
* New Python API
* Support for additional ONNX operators and fixes that now enable a large set of Imagenet models
* Support for RNN Operators
* Support for multi-stream Execution
* [Experimental] Support for Tensorflow frozen protobuf files
See: [Getting-started:-using-the-new-features-of-MIGraphX-0.2](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/wiki/Getting-started:-using-the-new-features-of-MIGraphX-0.2) for more details
#### MIOpen, v1.8 - 3d convolutions and int8
* This release contains full 3-D convolution support and int8 support for inference.
* Additionally, there are major updates in the performance database for major models including those found in Torchvision.
See: [MIOpen releases](https://github.com/ROCmSoftwarePlatform/MIOpen/releases)
#### 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
Introduces support and performance optimizations for Int8 GEMM, implements TRSV support, and includes improvements and optimizations with Tensile.
#### Prioritized L1/L2/L3 BLAS (functional)
Functional implementation of BLAS L1/L2/L3 functions
#### BLAS - tensile optimization
Improvements and optimizations with tensile
#### MIOpen Int8 support
Support for int8
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.3
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.3.0)
- [ROCr Runtime](https://github.com/RadeonOpenCompute/ROCR-Runtime/tree/84443a1)
- [ROCt Thunk Interface](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/tree/roc-2.3.0)
* ROCm Support Software
- [ROCm SMI](https://github.com/RadeonOpenCompute/ROC-smi/tree/roc-2.3.0)
- [ROCm cmake](https://github.com/RadeonOpenCompute/rocm-cmake/tree/ac45c6e2)
- [rocminfo](https://github.com/RadeonOpenCompute/rocminfo/tree/1bb0ccc7)
- [ROCm Bandwidth Test](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/tree/roc-2.3.0)
* ROCm Development Tools
- [HCC compiler](https://github.com/RadeonOpenCompute/hcc/tree/roc-2.3.0)
- [HIP](https://github.com/ROCm-Developer-Tools/HIP/tree/roc-2.3.0)
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-2.3.0)
- ROCm OpenCL, which is created from the following components:
- [ROCm OpenCL Runtime](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/tree/roc-2.3.0)
- [ROCm OpenCL Driver](http://github.com/RadeonOpenCompute/ROCm-OpenCL-Driver/tree/roc-2.3.0)
- The ROCm OpenCL compiler, which is created from the following components:
- [ROCm LLVM OCL](http://github.com/RadeonOpenCompute/llvm/tree/roc-ocl-2.3.0)
- [ROCm LLVM HCC](http://github.com/RadeonOpenCompute/llvm/tree/roc-hcc-2.3.0)
- [ROCm Clang](http://github.com/RadeonOpenCompute/clang/tree/roc-2.3.0)
- [ROCm lld OCL](http://github.com/RadeonOpenCompute/lld/tree/roc-ocl-2.3.0)
- [ROCm lld HCC](http://github.com/RadeonOpenCompute/lld/tree/roc-hcc-2.3.0)
- [ROCm Device Libraries](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-2.3.0)
- [ROCM Clang-OCL Kernel Compiler](https://github.com/RadeonOpenCompute/clang-ocl/tree/roc-2.3.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.3.0)
- [ROCm Code Object Manager](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/roc-2.3.0)
- [ROC Profiler](https://github.com/ROCm-Developer-Tools/rocprofiler/tree/roc-2.3.x)
- [ROC Tracer](https://github.com/ROCm-Developer-Tools/roctracer/tree/roc-2.3.x)
- [Radeon Compute Profiler](https://github.com/GPUOpen-Tools/RCP/tree/a31fe682)
- 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.3.0)
* ROCm Libraries
- [rocBLAS](https://github.com/ROCmSoftwarePlatform/rocBLAS/tree/master-rocm-2.3)
- [hipBLAS](https://github.com/ROCmSoftwarePlatform/hipBLAS/tree/master-rocm-2.3)
- [rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT/tree/master-rocm-2.3)
- [rocRAND](https://github.com/ROCmSoftwarePlatform/rocRAND/tree/master-rocm-2.3)
- [rocSPARSE](https://github.com/ROCmSoftwarePlatform/rocSPARSE/tree/master-rocm-2.3)
- [hipSPARSE](https://github.com/ROCmSoftwarePlatform/hipSPARSE/tree/master-rocm-2.3)
- [rocALUTION](https://github.com/ROCmSoftwarePlatform/rocALUTION/tree/master-rocm-2.3)
- [MIOpenGEMM](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/tree/9547fb9e)
- [MIOpen](https://github.com/ROCmSoftwarePlatform/MIOpen/tree/roc-2.3.0)
- [HIP Thrust](https://github.com/ROCmSoftwarePlatform/Thrust/tree/master-rocm-2.3)
- [ROCm SMI Lib](https://github.com/RadeonOpenCompute/rocm_smi_lib/tree/roc-2.3.0)
- [RCCL](https://github.com/ROCmSoftwarePlatform/rccl/tree/master-rocm-2.3)
- [MIVisionX](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/tree/8ec8732)
- [CUB HIP](https://github.com/ROCmSoftwarePlatform/cub-hip/tree/hip_port_1.7.4)
#### Supported Operating Systems - New operating systems available
The ROCm 2.2.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
@@ -251,7 +218,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.3.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.8.x packages at this time.
The packages in the Debian repository have been signed to ensure package integrity.
@@ -286,22 +253,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.
@@ -311,33 +278,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.
@@ -353,7 +323,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
@@ -371,12 +341,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
@@ -387,7 +357,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.
@@ -400,7 +370,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:
@@ -417,8 +387,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.
@@ -473,18 +443,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
@@ -517,9 +487,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
@@ -528,7 +498,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:
@@ -561,7 +531,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:
@@ -571,7 +541,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.
@@ -605,12 +575,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:
@@ -645,20 +615,11 @@ echo 'SUBSYSTEM=="kfd", KERNEL=="kfd", TAG+="uaccess", GROUP="video"' | sudo tee
### Known issues / workarounds
#### Rocprim
"Memory access fault" observed with rocprim.hip.device.scan
#### HPL
HPL fails to run in higher problem size (85000 Ns)
#### Resnet50
Multi-GPU resnet50 training using the caffe2 framework will cause a hardhang with a console message:
kfd2kgd: amdgpu_amdkfd_restore_userptr_worker: Failed to resume KFD
#### Caffe2
Caffe2 images/sec drops 40% when 4 processes simultaneously run it, each using one GPU
#### Thrust
functions zip_iterator.out and copy.out are not working as expected
thrust exclusive_scan produces incorrect results when running on thrust device
#### Tensor flow
observed memory access fault while running SAGAN tensor flow model in Polaris based ASIC
#### Memory access fault while running Memory intensive workloads
User may experience "Memory Access Fault" error if memory intensive workloads are executed back to back. This error can be avoided by waiting 3 seconds between workload execution.
#### Docker container environment variable setting
Applications fail when docker container is launched on NUMA system without --security-opt seccomp=unconfined. Please set "--security-opt seccomp=unconfined" to avoid this issue.
### Closed source components
@@ -697,7 +658,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.3.0
~/bin/repo init -u https://github.com/RadeonOpenCompute/ROCm.git -b roc-2.8.0
repo sync
```
@@ -712,16 +673,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.

View File

@@ -12,7 +12,7 @@
<remote name="gpuopen-tools"
fetch="https://github.com/GPUOpen-Tools/" />
<default revision="refs/tags/roc-2.3.0"
<default revision="refs/tags/roc-2.8.0"
remote="roc-github"
sync-c="true"
sync-j="4" />
@@ -21,8 +21,8 @@
<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="rocm-cmake" />
<project name="rocminfo" />
<project name="rocprofiler" remote="rocm-devtools" />
<project name="roctracer" remote="rocm-devtools" />
<!-- If you want to get the full OpenCL runtime, there is a separate repo
@@ -32,42 +32,44 @@
<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" />
<project path="ROCm-OpenCL-Runtime/compiler/llvm" name="llvm" revision="refs/tags/roc-ocl-2.8.0" />
<project path="ROCm-OpenCL-Runtime/compiler/llvm/tools/clang" name="clang" />
<project path="ROCm-OpenCL-Runtime/compiler/llvm/tools/lld" name="lld" />
<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.8.0" />
<project path="ROCm-OpenCL-Runtime/library/amdgcn" name="ROCm-Device-Libs" revision="refs/tags/roc-ocl-2.8.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.8.0" />
<project name="HCC-Example-Application" remote="rocm-devtools" revision="ffd6533305e79eed667badd3c4cdb7879a1281b8" />
<project name="HIP" remote="rocm-devtools" />
<project name="HIP" remote="rocm-devtools" revision="refs/tags/roc-2.8.0" />
<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" />
<project name="lld" path="llvm_amd-common/lld" />
<project name="llvm" path="llvm_amd-common" revision="refs/tags/roc-ocl-2.8.0" />
<project name="lld" path="llvm_amd-common/lld" revision="refs/tags/roc-ocl-2.8.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.8.0" />
<project name="atmi" revision="refs/tags/rocm_2.8.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="00da0857152eeda58a9bfda611572ab30dbdc4de" />
<project name="hipBLAS" remote="rocm-swplat" revision="4accc37a9cb29eccbc17a036dc6d4ae0144bed4e" />
<project name="rocFFT" remote="rocm-swplat" revision="673805db60597698e23a409a1efe75d236b9f9d3" />
<project name="rocRAND" remote="rocm-swplat" revision="687d659a294f416c69dd6e860a8ded939e55c22a" />
<project name="rocSPARSE" remote="rocm-swplat" revision="0676d85f2f37e59f5696c02bcdc5dead6db6e5e9" />
<project name="hipSPARSE" remote="rocm-swplat" revision="refs/tags/v1.0.4" />
<project name="rocALUTION" remote="rocm-swplat" revision="be8d0c577bc3db217a8c10caaf9d2627119a3444" />
<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="2f23ffb3932f303d910cad824b327c11893f0d68" sync-s="true" />
<project name="rocBLAS" remote="rocm-swplat" revision="refs/tags/rocm-2.8" />
<project name="hipBLAS" remote="rocm-swplat" revision="refs/tags/rocm-2.8" />
<project name="rocFFT" remote="rocm-swplat" revision="refs/tags/rocm-2.8" />
<project name="rocRAND" remote="rocm-swplat" revision="refs/tags/2.8.0" />
<project name="rocSPARSE" remote="rocm-swplat" revision="refs/tags/rocm-2.8" />
<project name="hipSPARSE" remote="rocm-swplat" revision="refs/tags/rocm-2.8" />
<project name="rocALUTION" remote="rocm-swplat" revision="refs/tags/rocm-2.8" />
<project name="MIOpenGEMM" remote="rocm-swplat" revision="6275a879995b58a6e0b8cca7b1ad8421a5e02ade" />
<project name="MIOpen" remote="rocm-swplat" revision="refs/tags/roc-2.8.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="8ec87326b74d60a6f03a39298b83f192d440a939" />
<project name="cub-hip" remote="rocm-swplat" revision="hip_port_1.7.4" />
<project name="rccl" remote="rocm-swplat" revision="refs/tags/2.8.0" />
<project name="MIVisionX" remote="gpuopen-libs" revision="refs/tags/1.3.0" />
<project name="rocThrust" remote="rocm-swplat" revision="refs/tags/2.8.0" />
<project name="hipCUB" remote="rocm-swplat" revision="refs/tags/2.8.0" />
<project name="rocPRIM" remote="rocm-swplat" revision="refs/tags/2.8.0" />
</manifest>

View File

@@ -1,7 +1,13 @@
## ROCm Version History
This file contains archived version history information for the [ROCm project](https://github.com/RadeonOpenCompute/ROCm)
### Current ROCm Version: 2.2
### Current ROCm Version: 2.8
- [New features and enhancements in ROCm 2.7.2](#new-features-and-enhancements-in-rocm-272)
- [New features and enhancements in ROCm 2.7](#new-features-and-enhancements-in-rocm-27)
- [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)
- [New features and enhancements in ROCm 2.0](#new-features-and-enhancements-in-rocm-20)
@@ -14,6 +20,198 @@ 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.7.2
This release is a hotfix for ROCm release 2.7.
#### Issues fixed in ROCm 2.7.2
##### A defect in upgrades from older ROCm releases has been fixed.
##### rocprofiler --hiptrace and --hsatrace fails to load roctracer library
In ROCm 2.7.2, rocprofiler --hiptrace and --hsatrace fails to load roctracer library defect has been fixed.
To generate traces, please provide directory path also using the parameter: -d <$directoryPath> for example:
```shell
/opt/rocm/bin/rocprof --hsa-trace -d $PWD/traces /opt/rocm/hip/samples/0_Intro/bit_extract/bit_extract
```
All traces and results will be saved under $PWD/traces path
#### Upgrading from ROCm 2.7 to 2.7.2
To upgrade, please remove 2.7 completely as specified [for ubuntu](#how-to-uninstall-from-ubuntu-1604-or-Ubuntu-1804) or [for centos/rhel](#how-to-uninstall-rocm-from-centosrhel-76), and install 2.7.2 as per instructions [install instructions](#installing-from-amd-rocm-repositories)
#### Other notes
To use rocprofiler features, the following steps need to be completed before using rocprofiler:
##### Step-1: Install roctracer
###### Ubuntu 16.04 or Ubuntu 18.04:
```shell
sudo apt install roctracer-dev
```
###### CentOS/RHEL 7.6:
```shell
sudo yum install roctracer-dev
```
##### Step-2: Add /opt/rocm/roctracer/lib to LD_LIBRARY_PATH
### New features and enhancements in ROCm 2.7
#### [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.
### 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&#x2122; 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&#x2122; Link enablement
ROCm 2.4 adds support to connect two Radeon Instinct MI60 or Radeon Instinct MI50 boards via AMD Infinity Fabric&#x2122; 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
ONNX parser changes to adjust to new file formats
#### MIGraphX, v0.2
MIGraphX 0.2 supports the following new features:
* New Python API
* Support for additional ONNX operators and fixes that now enable a large set of Imagenet models
* Support for RNN Operators
* Support for multi-stream Execution
* [Experimental] Support for Tensorflow frozen protobuf files
See: [Getting-started:-using-the-new-features-of-MIGraphX-0.2](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/wiki/Getting-started:-using-the-new-features-of-MIGraphX-0.2) for more details
#### MIOpen, v1.8 - 3d convolutions and int8
* This release contains full 3-D convolution support and int8 support for inference.
* Additionally, there are major updates in the performance database for major models including those found in Torchvision.
See: [MIOpen releases](https://github.com/ROCmSoftwarePlatform/MIOpen/releases)
#### 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
Introduces support and performance optimizations for Int8 GEMM, implements TRSV support, and includes improvements and optimizations with Tensile.
#### Prioritized L1/L2/L3 BLAS (functional)
Functional implementation of BLAS L1/L2/L3 functions
#### BLAS - tensile optimization
Improvements and optimizations with tensile
#### MIOpen Int8 support
Support for int8
### New features and enhancements in ROCm 2.2
#### rocSparse Optimization on Vega20
@@ -30,10 +228,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)
@@ -199,15 +397,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