Compare commits

...

51 Commits

Author SHA1 Message Date
Lad, Aditya
12e3bb376b 4.2 : Manifest Files 2021-05-11 14:37:52 -07:00
Roopa Malavally
a44e82f263 ROCm v4.2 Release Notes (#1469)
* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2021-05-11 14:15:34 -07:00
Roopa Malavally
9af988ffc8 Add files via upload 2021-05-11 14:09:17 -07:00
Roopa Malavally
5fed386cf1 Delete AMD_ROCm_Release_Notes_v4.1.pdf 2021-05-11 14:08:41 -07:00
Roopa Malavally
d729428302 Add files via upload 2021-05-10 17:47:35 -07:00
Roopa Malavally
8611c5f450 Delete ROCm_SMI_API_GUIDE_v4.1.pdf 2021-05-10 17:47:20 -07:00
Roopa Malavally
ae0b56d029 Delete AMD_HIP_Programming_Guide_v4.1.pdf 2021-05-10 17:28:58 -07:00
Roopa Malavally
3862c69b09 Add files via upload 2021-05-10 16:30:37 -07:00
Roopa Malavally
be34f32307 Add files via upload 2021-05-10 15:18:46 -07:00
Roopa Malavally
08c9cce749 Add files via upload 2021-05-10 15:18:03 -07:00
Roopa Malavally
a83a7c9206 Delete Debugging with ROCGDB User Guide v4.1.pdf 2021-05-10 15:16:45 -07:00
Roopa Malavally
71faa9c81f Delete AMD-Debugger API Guide v4.1.pdf 2021-05-10 15:16:35 -07:00
Roopa Malavally
6b021edb23 Add files via upload 2021-05-10 13:37:23 -07:00
Roopa Malavally
3936d236e6 Delete AMD_ROCm_DataCenter_Tool_User_Guide_v4.1.pdf 2021-05-10 13:37:12 -07:00
Roopa Malavally
dbcb26756d Add files via upload 2021-05-10 13:13:55 -07:00
Roopa Malavally
96de448de6 Delete HIP_Supported_CUDA_API_Reference_Guide_v4.1.pdf 2021-05-10 13:13:39 -07:00
Roopa Malavally
ee0bc562e6 Add files via upload 2021-05-10 12:01:17 -07:00
Roopa Malavally
376b8673b7 Delete ROCm_Data_Center_Tool_API_Manual_4.1.pdf 2021-05-10 12:00:11 -07:00
Roopa Malavally
e9147a9103 Add files via upload 2021-05-10 11:58:50 -07:00
Roopa Malavally
fab1a697f0 Delete AMD_HIP_API_Guide_4.2.pdf.pdf 2021-05-10 11:58:28 -07:00
Roopa Malavally
a369e642b8 Delete AMD_HIP_API_Guide_v4.1.pdf 2021-05-10 11:58:16 -07:00
Roopa Malavally
9101972654 Add files via upload 2021-05-10 11:57:52 -07:00
Roopa Malavally
f3ba8df53d Update README.md 2021-04-21 08:28:44 -07:00
Roopa Malavally
ba7a87a2dc Update README.md 2021-04-19 13:43:39 -07:00
zhang2amd
df6d746d50 Merge pull request #1443 from RadeonOpenCompute/roc-4.1.1
ROCm 4.1.1 default.xml
2021-04-08 10:06:17 -07:00
Lad, Aditya
2b2bab5bf3 ROCm 4.1.1 default.xml 2021-04-08 09:59:11 -07:00
Roopa Malavally
5ec9b12f99 Update README.md 2021-04-08 09:27:07 -07:00
Roopa Malavally
803148affd Update README.md 2021-04-08 09:21:27 -07:00
Roopa Malavally
9275fb6298 Update README.md 2021-04-08 09:19:52 -07:00
Roopa Malavally
b6ae3f145e Update README.md 2021-04-07 11:06:04 -07:00
Roopa Malavally
f80eefc965 Update README.md 2021-04-07 11:04:51 -07:00
Roopa Malavally
c5d91843a7 Update README.md 2021-04-07 11:03:31 -07:00
Roopa Malavally
733a9c097c Update README.md 2021-04-07 07:15:49 -07:00
Roopa Malavally
ff2b3f8a23 Add files via upload 2021-03-26 12:14:59 -07:00
Roopa Malavally
5a4cf1cee1 Delete AMD_ROCm_Release_Notes_v4.1.docx 2021-03-26 12:14:46 -07:00
Roopa Malavally
dccf5ca356 Update README.md 2021-03-26 12:01:54 -07:00
Roopa Malavally
8b20bd56a6 Update README.md 2021-03-26 10:00:07 -07:00
zhang2amd
65cb10e5e8 Merge pull request #1427 from xuhuisheng/patch-1
add hipFFT to default.xml
2021-03-25 23:03:26 -07:00
Roopa Malavally
ac2625dd26 Delete AMD_ROCm_Release_Notes_v4.1.pdf 2021-03-25 15:55:22 -07:00
Roopa Malavally
3716310e93 Add files via upload 2021-03-25 15:55:04 -07:00
Roopa Malavally
2dee17f7d6 Add files via upload 2021-03-25 13:03:33 -07:00
Roopa Malavally
61e8b0d70e Delete AMD_ROCm_Release_Notes_v4.1.pdf 2021-03-25 13:03:20 -07:00
Roopa Malavally
8a3304a8d9 Update README.md 2021-03-25 11:45:08 -07:00
Roopa Malavally
55488a9424 Update README.md 2021-03-25 11:03:19 -07:00
Roopa Malavally
ff4a1d4059 Update README.md 2021-03-25 10:03:46 -07:00
Xu Huisheng
4b2d93fb7e add hipFFT to default.xml
There is hipFFT on <http://repo.radeon.com/rocm/apt/4.1/pool/main/h/hipfft/>.
Please add related repository in default.xml.
Thank you.
2021-03-25 19:41:05 +08:00
Roopa Malavally
061ccd21b8 Update README.md 2021-03-24 10:26:07 -07:00
Roopa Malavally
0ed1bd9f8e Add files via upload 2021-03-24 10:25:24 -07:00
Roopa Malavally
856c74de55 Update README.md 2021-03-24 07:59:03 -07:00
Roopa Malavally
12c6f60e45 Update README.md 2021-03-24 07:58:30 -07:00
Aditya Lad
897b1e8e2d Merge pull request #1422 from RadeonOpenCompute/roc-4.1.x
Roc 4.1.x
2021-03-23 17:59:19 -07:00
19 changed files with 52908 additions and 56446 deletions

Binary file not shown.

Binary file not shown.

52690
AMD_HIP_API_Guide_4.2.pdf Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

456
README.md
View File

@@ -1,22 +1,21 @@
# AMD ROCm™ v4.1 Release Notes
This document describes the features, fixed issues, and information about downloading and installing the AMD ROCm™ software. It also covers known issues and deprecations in the AMD ROCm v4.1 release.
# AMD ROCm™ v4.2 Release Notes
This document describes the features, fixed issues, and information about downloading and installing the AMD ROCm™ software. It also covers known issues and deprecations in this release.
- [Supported Operating Systems and Documentation Updates](#Supported-Operating-Systems-and-Documentation-Updates)
* [Supported Operating Systems](#Supported-Operating-Systems)
* [ROCm Installation Updates](#ROCm-Installation-Updates)
* [AMD ROCm Documentation Updates](#AMD-ROCm-Documentation-Updates)
- [Driver Compatibility Issue in This Release](#Driver-Compatibility-Issue-in-This-Release)
- [What\'s New in This Release](#Whats-New-in-This-Release)
* [TargetID for Multiple Configurations](#TargetID-for-Multiple-Configurations)
* [ROCm Data Center Tool](#ROCm-Data-Center-Tool)
* [ROCm Math and Communication Libraries](#ROCm-Math-and-Communication-Libraries)
* [HIP Enhancements](#HIP-Enhancements)
* [OpenMP Enhancements and Fixes](#OpenMP-Enhancements-and-Fixes)
* [MIOpen Tensile Integration](#MIOpen-Tensile-Integration)
* [ROCm Data Center Tool](#ROCm-Data-Center-Tool)
* [ROCm Math and Communication Libraries](#ROCm-Math-and-Communication-Libraries)
- [Fixed Defects](#Fixed-Defects)
- [Known Issues](#Known-Issues)
- [Deprecations](#Deprecations)
@@ -36,18 +35,20 @@ This document describes the features, fixed issues, and information about downlo
## ROCm Installation Updates
### List of Supported Operating Systems
### Supported Operating Systems
The AMD ROCm platform is designed to support the following operating systems:
* Ubuntu 20.04.1 (5.4 and 5.6-oem) and 18.04.5 (Kernel 5.4)
* CentOS 7.9 (3.10.0-1127) & RHEL 7.9 (3.10.0-1160.6.1.el7) (Using devtoolset-7 runtime support)
* CentOS 8.3 (4.18.0-193.el8) and RHEL 8.3 (4.18.0-193.1.1.el8) (devtoolset is not required)
* Ubuntu 20.04.2 HWE (5.4 and 5.6-oem) and 18.04.5 (Kernel 5.4)
* CentOS 7.9 (3.10.0-1127) & RHEL 7.9 (3.10.0-1160.6.1.el7) (Using devtoolset-7 runtime support)
* CentOS 8.3 (4.18.0-193.el8)and RHEL 8.3 (4.18.0-193.1.1.el8) (devtoolset is not required)
* SLES 15 SP2
### FRESH INSTALLATION OF AMD ROCM V4.1 RECOMMENDED
A complete uninstallation of previous ROCm versions is required before installing a new version of ROCm. An upgrade from previous releases to AMD ROCm v4.1 is not supported. For more information, refer to the AMD ROCm Installation Guide at
### Complete Installation of AMD ROCM V4.2 Recommended
Complete uninstallation of previous ROCm versions is required before installing a new version of ROCm. **An upgrade from previous releases to AMD ROCm v4.2 is not supported**. For more information, refer to the AMD ROCm Installation Guide at
https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html
@@ -59,20 +60,14 @@ https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html
* For ROCm v3.3 and older releases, the clinfo path remains /opt/rocm/opencl/bin/x86_64/clinfo.
### ROCM MULTI-VERSION INSTALLATION UPDATE
## ROCm Multi-Version Installation Update
With the AMD ROCm v4.1 release, the following ROCm multi-version installation changes apply:
With the AMD ROCm v4.2 release, the following ROCm multi-version installation changes apply:
The meta packages rocm-dkms<version> are now deprecated for multi-version ROCm installs. For example, rocm-dkms3.7.0, rocm-dkms3.8.0.
* Multi-version installation of ROCm should be performed by installing rocm-dev<version> using each of the desired ROCm versions. For example, rocm-dev3.7.0, rocm-dev3.8.0, rocm-dev3.9.0.
* Version files must be created for each multi-version rocm <= 4.1.0
* Command: echo <version> | sudo tee /opt/rocm-<version>/.info/version
* Example: echo 4.1.0 | sudo tee /opt/rocm-4.1.0/.info/version
* The rock-dkms loadable kernel modules should be installed using a single rock-dkms package.
* ROCm v3.9 and above will not set any ldconfig entries for ROCm libraries for multi-version installation. Users must set LD_LIBRARY_PATH to load the ROCm library version of choice.
@@ -80,46 +75,31 @@ The meta packages rocm-dkms<version> are now deprecated for multi-version ROCm i
**NOTE**: The single version installation of the ROCm stack remains the same. The rocm-dkms package can be used for single version installs and is not deprecated at this time.
### Updated HIP Instructions for ROCm Installation
# Driver Compatibility Issue in This Release
The hip-base package has a dependency on Perl modules that some operating systems may not have in their default package repositories. Use the following commands to add repositories that have the required Perl packages:
In certain scenarios, the ROCm 4.1 run-time and userspace environment are not compatible with ROCm v4.0 and older driver implementations for 7nm-based (Vega 20) hardware (MI50 and MI60).
To mitigate issues, the ROCm v4.1 or newer userspace prevents running older drivers for these GPUs.
#### For SLES 15 SP2
Users are notified in the following scenarios:
sudo zypper addrepo
* Bare Metal
* Containers
## Bare Metal
In the bare-metal environment, the following error message displays in the console:
For more information, see
*“HSA Error: Incompatible kernel and userspace, Vega 20 disabled. Upgrade amdgpu.”*
https://download.opensuse.org/repositories/devel:languages:perl/SLE_15/devel:languages:perl.repo
To test the compatibility, run the ROCm v4.1 version of rocminfo using the following instruction:
*/opt/rocm-4.1.0/bin/rocminfo 2>&1 | less*
## Containers
#### For CentOS8.3
A container (built with error detection for this issue) using a ROCm v4.1 or newer run-time is initiated to execute on an older kernel. The container fails to start and the following warning appears:
sudo yum config-manager --set-enabled powertools
*Error: Incompatible ROCm environment. The Docker container requires the latest kernel driver to operate correctly.
Upgrade the ROCm kernel to v4.1 or newer, or use a container tagged for v4.0.1 or older.*
#### For RHEL8.3
To inspect the version of the installed kernel driver, run either:
* dpkg --status rock-dkms [Debian-based]
or
* rpm -ql rock-dkms [RHEL, SUSE, and others]
To install or update the driver, follow the installation instructions at:
https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
# AMD ROCm Documentation Updates
@@ -130,7 +110,7 @@ The AMD ROCm Installation Guide in this release includes:
* Supported Environments
* Installation Instructions for v4.1
* Installation Instructions
* HIP Installation Instructions
@@ -141,42 +121,43 @@ https://rocmdocs.amd.com/en/latest/
## AMD ROCm - HIP Documentation Updates
* HIP Programming Guide v4.1
* HIP Programming Guide v4.2
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_HIP_Programming_Guide_v4.1.pdf
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD%20HIP%20Programming%20Guide_v4.2.pdf
* HIP API Guide v4.1
* HIP API Guide v4.2
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_HIP_API_Guide_v4.1.pdf
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_HIP_API_Guide_4.2.pdf
* HIP-Supported CUDA API Reference Guide v4.1
* HIP-Supported CUDA API Reference Guide v4.2
https://github.com/RadeonOpenCompute/ROCm/blob/master/HIP_Supported_CUDA_API_Reference_Guide_v4.1.pdf
https://github.com/RadeonOpenCompute/ROCm/blob/master/HIP_Supported_CUDA_API_Reference_Guide_v4.2.pdf
* HIP FAQ
For more information, refer to
https://rocmdocs.amd.com/en/latest/Programming_Guides/HIP-FAQ.html#hip-faq
https://rocmdocs.amd.com/en/latest/Programming_Guides/HIP-FAQ.html#hip-faq
## ROCm Data Center User and API Guide
* ROCm Data Center Tool User Guide
- Grafana Plugin Integration
- Reliability, Accessibility, and Serviceability (RAS) Plugin Integration
For more information, refer to the ROCm Data Center User Guide at,
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_ROCm_DataCenter_Tool_User_Guide_v4.1.pdf
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_ROCm_DataCenter_Tool_User_Guide_v4.2.pdf
* ROCm Data Center Tool API Guide
For more information, refer to the ROCm Data Center API Guide at,
https://github.com/RadeonOpenCompute/ROCm/blob/master/ROCm_Data_Center_Tool_API_Manual_4.1.pdf
https://github.com/RadeonOpenCompute/ROCm/blob/master/ROCm_Data_Center_Tool_API_Guide_v4.2.pdf
## ROCm SMI API Documentation Updates
@@ -185,18 +166,17 @@ https://rocmdocs.amd.com/en/latest/
For more information, refer to the ROCm SMI API Guide at,
https://github.com/RadeonOpenCompute/ROCm/blob/master/ROCm_SMI_API_GUIDE_v4.1.pdf
https://github.com/RadeonOpenCompute/ROCm/blob/master/ROCm_SMI_Manual_4.2.pdf
## ROC Debugger User and API Guide
* ROC Debugger User Guide
https://github.com/RadeonOpenCompute/ROCm/blob/master/ROCm_Debugger_User_Guide_v4.2.pdf
https://github.com/RadeonOpenCompute/ROCm/blob/master/Debugging%20with%20ROCGDB%20User%20Guide%20v4.1.pdf
* Debugger API Guide
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD-Debugger%20API%20Guide%20v4.1.pdf
https://github.com/RadeonOpenCompute/ROCm/blob/master/ROCm_Debugger_API_Guide_v4.2.pdf
## General AMD ROCm Documentation Links
@@ -224,260 +204,254 @@ Access the following links for more information:
# What\'s New in This Release
## TARGETID FOR MULTIPLE CONFIGURATIONS
## HIP Enhancements
The new TargetID functionality allows compilations to specify various configurations of the supported hardware.
### HIP Target Platform Macro
Previously, ROCm supported only a single configuration per target.
The platform macros are updated to target either the AMD or NVIDIA platform in HIP projects. They now include corresponding headers and libraries for compilation/linking.
With the TargetID enhancement, ROCm supports configurations for Linux, PAL and associated configurations such as XNACK. This feature addresses configurations for the same target in different modes and allows applications to build executables that specify the supported configurations, including the option to be agnostic for the desired setting.
* *__HIP_PLATFORM_AMD__* is defined if the HIP platform targets AMD. Note, __HIP_PLATFORM_HCC__ was used previously if the HIP platform targeted AMD.
This is now deprecated.
* *__HIP_PLATFORM_NVIDIA__* is defined if the HIP platform targets NVIDIA. Note, _HIP_PLATFORM_NVCC__ was used previously if the HIP platform targeted NVIDIA. This is now deprecated.
For example,
```
#if (defined(__HIP_PLATFORM_AMD__)) && !(defined(__HIP_PLATFORM_NVIDIA__))
#include <hip/amd_detail/hip_complex.h>
#elif !(defined(__HIP_PLATFORM_AMD__)) && (defined(__HIP_PLATFORM_NVIDIA__))
#include <hip/nvidia_detail/hip_complex.h>
```
### Updated HIP 'Include' Directories
In the ROCm4.2 release, HIP *include* header directories for platforms are updated as follows:
* *amd_detail/* - includes source header details for the amd platform implementation. In previous releases, the "hcc_detail" directory was defined, and it it is now deprecated.
* *nvidia_detail/* - includes source header details for the nvidia platform implementation. In previous releases, the "nvcc_detail" directory was defined, and it is now deprecated.
### New Code Object Format Version for TargetID
### HIP Stream Memory Operations
* A new clang option -mcode-object-version can be used to request the legacy code object version 3 or code object version 2. For more information, refer to
The ROCm v4.2 extends support to Stream Memory Operations to enable direct synchronization between Network Nodes and GPU. The following new APIs are added:
https://llvm.org/docs/AMDGPUUsage.html#elf-code-object
* hipStreamWaitValue32
* hipStreamWaitValue64
* hipStreamWriteValue32
* hipStreamWriteValue64
* A new clang --offload-arch= option is introduced to specify the offload target architecture(s) for the HIP language.
For more details, see the HIP API guide at
* The clang --offload-arch= and -mcpu options accept a new Target ID syntax. This allows both the processor and target feature settings to be specified. For more details, refer to
https://llvm.org/docs/AMDGPUUsage.html#amdgpu-target-id
- If a target feature is not specified, it defaults to a new concept of "any". The compiler, then, produces code,
which executes on a target configured for either value of the setting impacting the overall performance.
It is recommended to explicitly specify the setting for more efficient performance.
- In particular, the setting for XNACK now defaults to produce less performant code than previous ROCm releases.
- The legacy clang -mxnack, -mno-xnack, -msram-ecc, and -mno-sram-ecc options are deprecated. They are still
supported, however, they will be removed in a future release.
- The new Target ID syntax renames the SRAM ECC feature from sram-ecc to sramecc.
* The clang offload bundler uses the new offload hipv4 for HIP code object version 4. For more information, see
https://clang.llvm.org/docs/ClangOffloadBundler.html
* ROCm v4.1 corrects code object loading to enforce target feature settings of the code object to match the setting of the agent. It also corrects the recording of target feature settings in the code object. As a consequence, the legacy code objects may no longer load due to mismatches.
* gfx802, gfx803, and gfx805 do not support the XNACK target feature in the ROCm v4.1 release.
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_HIP_API_Guide_4.2.pdf
### New Code Object Tools
### HIP Events in Kernel Dispatch
AMD ROCm v4.1 provides new code object tools *roc-obj-ls* and *roc-obj-extract*. These tools allow for the listing and extraction of AMD GPU ROCm code objects that are embedded in HIP executables and shared objects. Each tool supports a --help option that provides more information.
HIP events in kernel dispatch using *hipExtLaunchKernelGGL/hipExtLaunchKernel* and passed in the API are not explicitly recorded and should only be used to get elapsed time for that specific launch.
Refer to the HIP Programming Guide v4.1 for additional information and examples.
Events used across multiple dispatches, for example, start and stop events from different *hipExtLaunchKernelGGL/hipExtLaunchKernel* calls, are treated as invalid unrecorded events. In such scenarios, HIP will display the error *"hipErrorInvalidHandle"* from *hipEventElapsedTime*.
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_HIP_Programming_Guide_v4.1.pdf
For more details, refer to the HIP API Guide at
**Note**
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_HIP_API_Guide_4.2.pdf
The extractkernel tool in previous AMD ROCm releases has been removed from the AMD ROCm v4.1 release
and will no longer be supported.
**Note**
The roc-obj-ls and roc-obj-extract tools may generate an error about the following missing Perl modules:
### Changed Environment Variables for HIP
* File::Which
* File::BaseDir
* File::Copy
* URI::Encode
In the ROCm v3.5 release, the Heterogeneous Compute Compiler (HCC) compiler was deprecated, and the HIP-Clang compiler was introduced for compiling Heterogeneous-Compute Interface for Portability (HIP) programs. In addition, the HIP runtime API was implemented on top of Radeon Open Compute Common Language Runtime (ROCclr). ROCclr is an abstraction layer that provides the ability to interact with different runtime backends such as ROCr.
This error is due to the missing dependencies in the hip-base installer package. As a workaround, you may use the
following instructions to install the Perl modules:
While the HIP_PLATFORM=hcc environment variable was functional in subsequent releases, in the ROCm v4.1 release, the following environment variables were changed:
*Ubuntu*
apt-get install libfile-which-perl libfile-basedir-perl libfile-copy-recursive-perl liburi-encode-perl
*CentOS*
yum install “ perl(File::Which) perl(File::BaseDir) perl(File::Copy) perl(URI::Encode)
* *HIP_PLATFORM=hcc to HIP_PLATFORM=amd*
* *HIP_PLATFORM=nvcc to HIP_PLATFORM=nvidia*
Therefore, any applications continuing to use the HIP_PLATFORM=hcc variable will fail. You must update the environment variables to reflect the changes as mentioned above.
## ROCm Data Center Tool
### Grafana Integration
### RAS Integration
The ROCm Data Center (RDC) Tool is enhanced with the Grafana plugin. Grafana is a common monitoring stack used for storing and visualizing time series data. Prometheus acts as the storage backend, and Grafana is used as the interface for analysis and visualization. Grafana has a plethora of visualization options and can be integrated with Prometheus for the ROCm Data Center (RDC) dashboard.
The ROCm Data Center (RDC) Tool is enhanced with the Reliability, Accessibility, and Serviceability (RAS) plugin.
For more information about Grafana integration and installation, refer to the ROCm Data Center Tool User guide at:
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_ROCm_DataCenter_Tool_User_Guide_v4.1.pdf
For more information about RAS integration and installation, refer to the ROCm Data Center Tool User guide at:
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_ROCm_DataCenter_Tool_User_Guide_v4.2.pdf
## ROCm Math and Communication Libraries
### rocSPARSE
### rocBLAS
rocSPARSE extends support for:
Enhancements and fixes:
* gebsrmm
* gebsrmv
* gebsrsv
* coo2dense and dense2coo
* generic API including axpby, gather, scatter, rot, spvv, spmv, spgemm, sparsetodense, densetosparse
* mixed indexing types in matrix formats
* Added option to install script to build only rocBLAS clients with a pre-built rocBLAS library
For more information, see
* Supported gemm ext for unpacked int8 input layout on gfx908 GPUs
https://rocsparse.readthedocs.io/en/latest/
* Added new flags rocblas_gemm_flags::rocblas_gemm_flags_pack_int8x4 to specify if using the packed layout
* Set the rocblas_gemm_flags_pack_int8x4 when using packed int8x;, this should be always set on GPUs before gfx908
* For gfx908 GPUs, unpacked int8 is supported. Setting of this flag is no longer required
* Notice the default flags 0 uses unpacked int8 and changes the behaviour of int8 gemm from ROCm 4.1.0
* Added a query function rocblas_query_int8_layout_flag to get the preferable layout of int8 for gemm by device
For more information, refer to
https://rocblas.readthedocs.io/en/master/
### rocSOLVER
### rocRAND
rocSOLVER extends support for:
* Performance fixes
* Eigensolver routines for symmetric/hermitian matrices:
- STERF, STEQR
* Linear solvers for general non-square systems:
- GELS (API added with batched and strided_batched versions. Only the overdetermined non-transpose case is implemented in
this release. Other cases will return rocblas_status_not_implemented status for now.)
* Extended test coverage for functions returning information
For more information, refer to
* Changelog file
https://rocrand.readthedocs.io/en/latest/
* Tridiagonalization routines for symmetric and hermitian matrices:
- LATRD
- SYTD2, SYTRD (with batched and strided_batched versions)
- HETD2, HETRD (with batched and strided_batched versions)
* Sample code and unit test for unified memory model/Heterogeneous Memory Management (HMM)
For more information, see
### rocSOLVER
Support for:
* Multi-level logging functionality
* Implementation of the Thin-SVD algorithm
* Reductions of generalized symmetric- and hermitian-definite eigenproblems:
* SYGS2, SYGST (with batched and strided_batched versions)
* HEGS2, HEGST (with batched and strided_batched versions)
* Symmetric and hermitian matrix eigensolvers:
* SYEV (with batched and strided_batched versions)
* HEEV (with batched and strided_batched versions)
* Generalized symmetric- and hermitian-definite eigensolvers:
* SYGV (with batched and strided_batched versions)
* HEGV (with batched and strided_batched versions)
For more information, refer to
https://rocsolver.readthedocs.io/en/latest/
### hipCUB
The new iterator DiscardOutputIterator in hipCUB represents a special kind of pointer that ignores values written to it upon dereference. It is useful for ignoring the output of certain algorithms without wasting memory capacity or bandwidth. DiscardOutputIterator may also be used to count the size of an algorithm's output, which was not known previously.
### rocSPARSE
For more information, see
Enhancements:
https://hipcub.readthedocs.io/en/latest/
* SpMM (CSR, COO)
* Code coverage analysis
For more information, refer to
https://rocsparse.readthedocs.io/en/latest/usermanual.html#rocsparse-gebsrmv
## HIP Enhancements
### hipSPARSE
### Support for hipEventDisableTiming Flag
Enhancements:
HIP now supports the hipEventDisableTiming flag for hipEventCreateWithFlags. Note, events created with this flag do not record profiling data and provide optimal performance when used for synchronization.
* Generic API support, including SpMM (CSR, COO)
* csru2csr, csr2csru
### Cooperative Group Functions
For more information, refer to
Cooperative Groups defines, synchronizes, and communicates between groups of threads and blocks for efficiency and ease of management. HIP now supports the following kernel language Cooperative Groups types and functions:
![Screenshot](https://github.com/Rmalavally/ROCm/blob/master/images/CG1.PNG)
![Screenshot](https://github.com/Rmalavally/ROCm/blob/master/images/CG2.PNG)
![Screenshot](https://github.com/Rmalavally/ROCm/blob/master/images/CG3.PNG)
https://rocsparse.readthedocs.io/en/latest/usermanual.html#types
### Support for Extern Shared Declarations
Previously, it was required to declare dynamic shared memory using the HIP_DYNAMIC_SHARED macro for accuracy as using static shared memory in the same kernel could result in overlapping memory ranges and data-races.
Now, the HIP-Clang compiler provides support for extern shared declarations, and the HIP_DYNAMIC_SHARED option is no longer required.
# Fixed Defects
You may use the standard extern definition:
## Performance Impact for LDS-BOUND Kernels
extern __shared__ type var[];
The following issue is fixed in the ROCm v4.2 release.
## OpenMP Enhancements and Fixes
This release includes the following OpenMP changes:
* Usability Enhancements
* Fixes to Internal Clang Math Headers
* OpenMP Defect Fixes
### Usability Enhancements
* OMPD updates for flang
* To support OpenMP debugging, the selected OpenMP runtime sources are included in lib-debug/src/openmp. The ROCgdb debugger
will find these automatically.
* Threadsafe hsa plugin for libomptarget
* Support multiple devices with malloc and hostrpc
* Improve hostrpc version check
* Add max reduction offload feature to flang
* Integration of changes to support HPC Toolkit
* Support for fprintf
* Initial support for GPU malloc and Free. The internal (device rtl) is required for GPU malloc and Free for nested parallelism.
GPU malloc and Free are now replaced, which improves the device memory footprint.
* Increase detail of debug printing controlled by LIBOMPTARGET_KERNEL_TRACE environment variable
* Add support for -gpubnames in Flang Driver
* Increase detail of debug printing controlled by LIBOMPTARGET_KERNEL_TRACE environment variable
* Add support for -gpubnames in Flang Driver
### Fixes to Internal Clang Math Headers
This release includes a set of changes applied to Clang internal headers to support OpenMP C, C++, FORTRAN, and HIP C. This establishes consistency between NVPTX and AMDGCN offloading, and OpenMP, HIP, and CUDA. OpenMP uses function variants and header overlays to define device versions of functions. This causes Clang LLVM IR codegen to mangle names of variants in both the definition and callsites of functions defined in the internal Clang headers. The changes apply to headers found in the installation subdirectory lib/clang/11.0.0/include.
The changes also temporarily eliminate the use of the libm bitcode libraries for C and C++. Although math functions are now defined with internal clang headers, a bitcode library of the C functions defined in the headers is still built for the FORTRAN toolchain linking. This is because FORTRAN cannot use C math headers. This bitcode library is installed in lib/libdevice/libm-.bc. The source build of the bitcode library is implemented with the aomp-extras repository and the component-built script build_extras.sh.
### OpenMP Defect Fixes
The following OpenMP defects are fixed in this release:
* Openmpi configuration issue with real16.
* [flang] The AOMP 11.7-1 Fortran compiler claims to support the -isystem flag, but ignores it.
* [flang] producing internal compiler error when the character is used with KIND.
* [flang] openmp map clause on complex allocatable expressions !$omp target data map( chunk%tiles(1)%field%density0).
* Add a fatal error if missing -Xopenmp-target or -march options when -fopenmp-targets is specified. However, this requirement is not
applicable for offloading to the host when there is only a single target and that target is the host.
* Openmp error message output for no_rocm_device_lib was asserting.
* Linkage on constant per-kernel symbols from external to weaklinkageonly to prevent duplicate symbols when building kokkos.
* Add environment variables ROCM_LLD_ARGS ROCM_LINK_ARGS ROCM_SELECT_ARGS to test driver options without compiler rebuild.
* Fix problems with device math functions being ambiguous, especially the pow function.ix aompcc to accept file type cxx.
* Fix a latent race between host runtime and devicertl.
## MIOPEN TENSILE INTEGRATION
MIOpenTensile provides host-callable interfaces to the Tensile library and supports the HIP programming model. You may use the Tensile feature in the HIP backend by setting the building environment variable value to ON.
MIOPEN_USE_MIOPENTENSILE=ON
MIOpenTensile is an open-source collaboration tool where external entities can submit source pull requests (PRs) for updates. MIOpenTensile maintainers review and approve the PRs using standard open-source practices.
For more information about the sources and the build system, see
https://github.com/ROCmSoftwarePlatform/MIOpenTensile
The compiler in ROCm v4.1 generates LDS load and stores instructions that incorrectly assume equal performance between aligned and misaligned accesses. While this does not impact code correctness, it may result in sub-optimal performance.
# Known Issues
The following are the known issues in this release.
## Upgrade to AMD ROCm v4.1 Not Supported
## Upgrade to AMD ROCm v4.2 Not Supported
An upgrade from previous releases to AMD ROCm v4.1 is not supported. A complete uninstallation of previous ROCm versions is required before installing a new version of ROCm.
An upgrade from previous releases to AMD ROCm v4.2 is not supported. Complete uninstallation of previous ROCm versions is required before installing a new version of ROCm.
## Performance Impact for Kernel Launch Bound Attribute
The hip-base package has a dependency on Perl modules that some operating systems may not have in their default package repositories. Use the following commands to add repositories that have the required Perl packages:
Kernels without the *__launch_bounds__* attribute assume the default maximum threads per block value. In the previous ROCm release, this value was 256. In the ROCm v4.1 release, it is changed to 1024. The objective of this change ensures the actual threads per block value used to launch a kernel, by default, are always within the launch bounds, thus, establishing the correctness of HIP programs.
**NOTE**: Using the above-mentioned approach may incur performance degradation in certain cases. Users must add a minimum launch bound to each kernel, which covers all possible threads per block values used to launch that kernel for correctness and performance.
#### For SLES 15 SP2
The recommended workaround to recover the performance is to add *--gpu-max-threads-per-block=256* to the compilation options for HIP programs.
sudo zypper addrepo
## Issue with Passing a Subset of GPUs in a Multi-GPU System
ROCm support for passing individual GPUs via the docker --device flag in a Docker run command has a known issue when passing a subset of GPUs in a multi-GPU system. The command runs without any warning or error notification. However, all GPU executable run outputs are randomly corrupted.
For more information, see
Using GPU targeting via the Docker command is not recommended for users of ROCm 4.1. There is no workaround for this issue currently.
https://download.opensuse.org/repositories/devel:languages:perl/SLE_15/devel:languages:perl.repo
## Performance Impact for LDS-Bound Kernels
The compiler in ROCm v4.1 generates LDS load and stores instructions that incorrectly assume equal performance between aligned and misaligned accesses. While this does not impact code correctness, it may result in sub-optimal performance.
This issue is under investigation, and there is no known workaround at this time.
#### For CentOS8.3
sudo yum config-manager --set-enabled powertools
#### For RHEL8.3
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
## Modulefile Fails to Install Automatically in ROCm Multi-Version Environment
The ROCm v4.2 release includes a preliminary implementation of environment modules to enable switching between multi versions of ROCm installation. The modulefile in */opt/rocm-4.2/lib/rocmmod* fails to install automatically in the ROCm multi-version environment.
This is a known limitation for environment modules in ROCm, and the issue is under investigation at this time.
**Workaround**
Ensure you install the modulefile in */opt/rocm-4.2/lib/rocmmod* manually in a multi-version installation environment.
For general information about modules, see
http://modules.sourceforge.net/
## Issue with Input/Output Types for Scan Algorithms in rocThrust
As rocThrust is updated to match CUDA Thrust 1.10, the different input/output types for scan algorithms in rocThrust/CUDA Thrust are no longer officially supported. In this situation, the current C++ standard does not specify the intermediate accumulator type leading to potentially incorrect results and ill-defined behavior.
As a workaround, users can:
* Use the same types for input and output
Or
* For exclusive_scan, explicitly specify an *InitialValueType* in the last argument
Or
* For inclusive_scan, which does not have an initial value argument, use a transform_iterator to explicitly cast the input iterators to match the outputs value_type
## Precision Issue in AMD RADEON™ PRO VII and AMD RADEON™ VII
In AMD Radeon™ Pro VII AND AMD Radeon™ VII, a precision issue can occur when using the Tensorflow XLA path.
This issue is currently under investigation.
# Deprecations

Binary file not shown.

Binary file not shown.

BIN
ROCm_SMI_Manual_4.2.pdf Normal file

Binary file not shown.

View File

@@ -12,7 +12,7 @@ fetch="https://github.com/GPUOpen-ProfessionalCompute-Libraries/" />
fetch="https://github.com/GPUOpen-Tools/" />
<remote name="KhronosGroup"
fetch="https://github.com/KhronosGroup/" />
<default revision="refs/tags/rocm-4.1.0"
<default revision="refs/tags/rocm-4.2.0"
remote="roc-github"
sync-c="true"
sync-j="4" />
@@ -20,7 +20,7 @@ fetch="https://github.com/KhronosGroup/" />
<project name="ROCK-Kernel-Driver" />
<project name="ROCT-Thunk-Interface" />
<project name="ROCR-Runtime" />
<project name="ROC-smi" />
<project name="ROC-smi" revision="refs/tags/rocm-4.1.0" />
<project name="rocm_smi_lib" />
<project name="rocm-cmake" />
<project name="rocminfo" />
@@ -52,6 +52,7 @@ fetch="https://github.com/KhronosGroup/" />
<project name="Tensile" remote="rocm-swplat" />
<project name="hipBLAS" remote="rocm-swplat" />
<project name="rocFFT" remote="rocm-swplat" />
<project name="hipFFT" remote="rocm-swplat" />
<project name="rocRAND" remote="rocm-swplat" />
<project name="rocSPARSE" remote="rocm-swplat" />
<project name="rocSOLVER" remote="rocm-swplat" />

BIN
images/CGMain.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB