mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-09 22:58:17 -05:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53c2f5acde | ||
|
|
2adb254db3 | ||
|
|
640b0e0cec | ||
|
|
4b67bbc512 | ||
|
|
4eddbb0f2f | ||
|
|
6dd212c1ff | ||
|
|
1b49b1d598 |
Binary file not shown.
BIN
HIPClang2.png
Normal file
BIN
HIPClang2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
BIN
MultiIns.png
BIN
MultiIns.png
Binary file not shown.
|
Before Width: | Height: | Size: 54 KiB |
463
README.md
463
README.md
@@ -1,226 +1,359 @@
|
||||
# AMD ROCm Release Notes v3.3.0
|
||||
# AMD ROCm Release Notes v3.5.0
|
||||
This page describes the features, fixed issues, and information about downloading and installing the ROCm software.
|
||||
It also covers known issues and deprecated features in the ROCm v3.3 release.
|
||||
It also covers known issues and deprecated features in the ROCm v3.5.0 release.
|
||||
|
||||
- [What Is ROCm?](#What-Is-ROCm)
|
||||
* [ROCm Components](#ROCm-Components)
|
||||
AMD ROCm Documentation Website - http://rocmdocs.amd.com
|
||||
|
||||
- [Supported Operating Systems and Documentation Updates](#Supported-Operating-Systems-and-Documentation-Updates)
|
||||
* [Supported Operating Systems](#Supported-Operating-Systems)
|
||||
* [Important ROCm Links](#Important-ROCm-Links)
|
||||
|
||||
* [Documentation Updates](#Documentation-Updates)
|
||||
|
||||
- [What\'s New in This Release](#Whats-New-in-This-Release)
|
||||
* [Multi Version Installation](#Multi-Version-Installation)
|
||||
* [GPU Process Information](#GPU-Process-Information)
|
||||
* [Support for 3D Pooling Layers](#Support-for-3D-Pooling-Layers)
|
||||
* [ONNX Enhancements](#ONNX-Enhancements)
|
||||
* [Upgrading to This Release](#Upgrading-to-This-Release)
|
||||
* [Heterogeneous-Compute Interface for Portability](#Heterogeneous-Compute-Interface-for-Portability)
|
||||
* [Radeon Open Compute Common Language Runtime](#Radeon-Open-Compute-Common-Language-Runtime)
|
||||
* [OpenCL Runtime](#OpenCL-Runtime)
|
||||
* [AMD ROCm GNU Debugger ROCgdb](#AMD-ROCm-GNU-Debugger-ROCgdb)
|
||||
* [AMD ROCm Debugger API Library](#AMD-ROCm-Debugger-API-Library)
|
||||
* [rocProfiler Dispatch Callbacks Start/Stop API](#rocProfiler-Dispatch-Callbacks-Start-Stop-API)
|
||||
* [ROCm Communications Collective Library](#ROCm-Communications-Collective-Library)
|
||||
* [NVIDIA Communications Collective Library Version Compatibility](#NVIDIA-Communications-Collective-Library-Version-Compatibility)
|
||||
* [MIOpen Optional Kernel Package Installation](#MIOpen-Optional-Kernel-Package-Installation)
|
||||
* [New SMI Event Interface and Library](#New-SMI-Event-Interface-and-Library)
|
||||
* [API for CPU Affinity](#API-for-CPU-Affinity)
|
||||
* [Radeon Performance Primitives Library](#Radeon-Performance-Primitives-Library)
|
||||
|
||||
|
||||
- [Fixed Issues](#Fixed-Issues)
|
||||
|
||||
- [Known Issues](#Known-Issues)
|
||||
|
||||
- [Deprecations](#Deprecations)
|
||||
* [Heterogeneous Compute Compiler](#Heterogeneous-Compute-Compiler)
|
||||
|
||||
- [Deploying ROCm](#Deploying-ROCm)
|
||||
|
||||
- [Deprecations in This Release](#Deprecations-in-This-Release)
|
||||
* [Code Object Manager (Comgr) Functions](#Code-Object-Manager-(Comgr)-Functions)
|
||||
|
||||
|
||||
- [Hardware and Software Support](#Hardware-and-Software-Support)
|
||||
|
||||
- [Machine Learning and High Performance Computing Software Stack for AMD GPU](#Machine-Learning-and-High-Performance-Computing-Software-Stack-for-AMD-GPU)
|
||||
* [ROCm Binary Package Structure](#ROCm-Binary-Package-Structure)
|
||||
* [ROCm Platform Packages](#ROCm-Platform-Packages)
|
||||
|
||||
|
||||
## What Is ROCm?
|
||||
ROCm is designed to be a universal platform for gpu-accelerated computing. This modular design allows hardware vendors to build drivers that support the ROCm framework. ROCm is also designed to integrate multiple programming languages and makes it easy to add support for other languages.
|
||||
# Supported Operating Systems and Documentation Updates
|
||||
|
||||
Note: You can also clone the source code for individual ROCm components from the GitHub repositories.
|
||||
## Supported Operating Systems
|
||||
|
||||
The AMD ROCm v3.5.x platform is designed to support the following operating systems:
|
||||
|
||||
* Ubuntu 16.04.6(Kernel 4.15) and 18.04.4(Kernel 5.3)
|
||||
* CentOS 7.7 (Kernel 3.10-1062) and RHEL 7.8(Kernel 3.10.0-1127)(Using devtoolset-7 runtime support)
|
||||
* SLES 15 SP1
|
||||
* CentOS and RHEL 8.1(Kernel 4.18.0-147)
|
||||
|
||||
|
||||
### ROCm Components
|
||||
The following components for the ROCm platform are released and available for the v3.3
|
||||
release:
|
||||
## Documentation Updates
|
||||
|
||||
• Drivers
|
||||
### HIP-Clang Compile
|
||||
|
||||
• Tools
|
||||
* [HIP FAQ - Transition from HCC to HIP-Clang](https://rocmdocs.amd.com/en/latest/Programming_Guides/HIP-FAQ.html#hip-faq)
|
||||
* [HIP-Clang Porting Guide](https://rocmdocs.amd.com/en/latest/Programming_Guides/HIP-porting-guide.html#hip-porting-guide)
|
||||
* [HIP - Glossary of Terms](https://rocmdocs.amd.com/en/latest/ROCm_Glossary/ROCm-Glossary.html)
|
||||
|
||||
• Libraries
|
||||
### AMD ROCDebugger (ROCgdb)
|
||||
|
||||
• Source Code
|
||||
* [ROCgdb User Guide](https://github.com/RadeonOpenCompute/ROCm/blob/master/gdb.pdf)
|
||||
* [ROCgdbapi Guide](https://github.com/RadeonOpenCompute/ROCm/blob/master/amd-dbgapi.pdf)
|
||||
|
||||
You can access the latest supported version of drivers, tools, libraries, and source code for the ROCm platform at the following location:
|
||||
https://github.com/RadeonOpenCompute/ROCm
|
||||
### AMD ROCm Systems Management Interface
|
||||
|
||||
### Supported Operating Systems
|
||||
The ROCm v3.3.x platform is designed to support the following operating systems:
|
||||
* [System Management Interface Event API Guide](https://github.com/RadeonOpenCompute/ROCm/blob/master/ROCm_SMI_Manual.pdf)
|
||||
|
||||
### AMD ROCm Deep Learning
|
||||
|
||||
* Ubuntu 16.04.6 (Kernel 4.15) and 18.04.4 (Kernel 5.3)
|
||||
* [MIOpen API](https://github.com/ROCmSoftwarePlatform/MIOpen)
|
||||
|
||||
* CentOS v7.7 (Using devtoolset-7 runtime support)
|
||||
### AMD ROCm Glossary of Terms
|
||||
|
||||
* RHEL v7.7 (Using devtoolset-7 runtime support)
|
||||
* [Updated Glossary of Terms and Definitions](https://rocmdocs.amd.com/en/latest/ROCm_Glossary/ROCm-Glossary.html)
|
||||
|
||||
* SLES 15 SP1
|
||||
|
||||
|
||||
|
||||
### Important ROCm Links
|
||||
### General AMD ROCm Documentatin Links
|
||||
|
||||
Access the following links for more information on:
|
||||
|
||||
* ROCm documentation, see
|
||||
https://rocm-documentation.readthedocs.io/en/latest/index.html
|
||||
* For AMD ROCm documentation, see
|
||||
|
||||
* ROCm Release Notes
|
||||
https://rocm-documentation.readthedocs.io/en/latest/Current_Release_Notes/Current-Release-Notes.html
|
||||
https://rocmdocs.amd.com/en/latest/
|
||||
|
||||
* ROCm QuickStart Installation Guide, see
|
||||
https://rocm-documentation.readthedocs.io/en/latest/Installation_Guide/Installation-Guide.html
|
||||
* For installation instructions on supported platforms, see
|
||||
|
||||
* ROCm binary structure, see
|
||||
https://rocm-documentation.readthedocs.io/en/latest/Installation_Guide/Installation-Guide.html#rocm-platform-packages
|
||||
https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html
|
||||
|
||||
* For AMD ROCm binary structure, see
|
||||
|
||||
https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#machine-learning-and-high-performance-computing-software-stack-for-amd-gpu-v3-3-0
|
||||
|
||||
* For AMD ROCm Release History, see
|
||||
|
||||
https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#amd-rocm-version-history
|
||||
|
||||
|
||||
* Instructions to install PyTorch after ROCm is installed – https://rocm-documentation.readthedocs.io/en/latest/Deep_learning/Deep-learning.html#pytorch
|
||||
# What\'s New in This Release
|
||||
|
||||
Note: These instructions reference the rocm/pytorch:rocm3.0_ubuntu16.04_py2.7_pytorch image. However, you can substitute the Ubuntu 18.04 image listed at https://hub.docker.com/r/rocm/pytorch/tags
|
||||
## Upgrading to This Release
|
||||
|
||||
You must perform a fresh and a clean AMD ROCm install to successfully upgrade from v3.3 to v3.5. The following changes apply in this release:
|
||||
|
||||
* HCC is deprecated and replaced with the HIP-Clang compiler
|
||||
* HIP-HCC runtime is changed to Radeon Open Compute Common Language Runtime (HIP-ROCClr)
|
||||
* In the v3.5 release, the firmware is separated from the kernel package. The difference is as follows:
|
||||
* v3.5 release has two separate rock-dkms and rock-dkms-firmware packages
|
||||
* v3.3 release had the firmware as part of the rock-dkms package
|
||||
|
||||
|
||||
## rocProf Command Line Tool Python Requirement
|
||||
SQLite3 is a required Python module for the rocprof command-line tool. You can install the SQLite3 Python module using the pip utility and set env var ROCP_PYTHON_VERSION to the Python version, which includes the SQLite3 module.
|
||||
|
||||
|
||||
## What\'s New in This Release
|
||||
|
||||
### Multi Version Installation
|
||||
## Heterogeneous-Compute Interface for Portability
|
||||
|
||||
Users can install and access multiple versions of the ROCm toolkit simultaneously.
|
||||
In this release, the Heterogeneous Compute Compiler (HCC) compiler is deprecated and the HIP-Clang compiler is introduced for compiling Heterogeneous-Compute Interface for Portability (HIP) programs.
|
||||
|
||||
Previously, users could install only a single version of the ROCm toolkit.
|
||||
NOTE: The HCC environment variables will be gradually deprecated in subsequent releases.
|
||||
|
||||
Now, users have the option to install multiple versions simultaneously and toggle to the desired version of the ROCm toolkit. From the v3.3 release, multiple versions of ROCm packages can be installed in the */opt/rocm-<version>* folder.
|
||||
The majority of the codebase for the HIP-Clang compiler has been upstreamed to the Clang trunk. The HIP-Clang implementation has undergone a strict code review by the LLVM/Clang community and comprehensive tests consisting of LLVM/Clang build bots. These reviews and tests resulted in higher productivity, code quality, and lower cost of maintenance.
|
||||
|
||||

|
||||
|
||||
**Prerequisites**
|
||||
For most HIP applications, the transition from HCC to HIP-Clang is transparent and efficient as the HIPCC and HIP cmake files automatically choose compilation options for HIP-Clang and hide the difference between the HCC and HIP-Clang code. However, minor changes may be required as HIP-Clang has a stricter syntax and semantic checks compared to HCC.
|
||||
|
||||
Ensure the existing installations of ROCm, including/opt/rocm, are completely removed before the v3.3 ROCm toolkit installation. The ROCm v3.3 package requires a clean installation.
|
||||
NOTE: Native HCC language features are no longer supported.
|
||||
|
||||
* To install a single instance of ROCm, use the rocm-dkms or rocm-dev packages to install all the required components. This creates a symbolic link /opt/rocm pointing to the corresponding version of ROCm installed on the system.
|
||||
## Radeon Open Compute Common Language Runtime
|
||||
In this release, the HIP runtime API is 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.
|
||||
|
||||
* To install individual ROCm components, create the /opt/rocm symbolic link pointing to the version of ROCm installed on the system.
|
||||
For example, # ln -s /opt/rocm-3.3.0 /opt/rocm
|
||||
## OpenCL Runtime
|
||||
The following OpenCL runtime changes are made in this release:
|
||||
|
||||
* To install multiple instance ROCm packages, create /opt/rocm symbolic link pointing to the version of ROCm installed/used on the system.
|
||||
For example, # ln -s /opt/rocm-3.3.0 /opt/rocm
|
||||
* AMD ROCm OpenCL Runtime extends support to OpenCL2.2
|
||||
* The developer branch is changed from master to master-next
|
||||
|
||||
**NOTE**: The Kernel Fusion Driver (KFD) must be compatible with all versions of the ROCm software installed on the system.
|
||||
## AMD ROCm GNU Debugger (ROCgdb)
|
||||
The AMD ROCm Debugger (ROCgdb) is the AMD ROCm source-level debugger for Linux based on the GNU Debugger (GDB). It enables heterogeneous debugging on the AMD ROCm platform of an x86-based host architecture along with AMD GPU architectures and supported by the AMD Debugger API Library (ROCdbgapi).
|
||||
|
||||
**Before You Begin**
|
||||
The AMD ROCm Debugger is installed by the rocm-gdb package. The rocm-gdb package is part of the rocm-dev meta-package, which is in the rocm-dkms package.
|
||||
|
||||
Review the following important notes:
|
||||
The current AMD ROCm Debugger (ROCgdb) is an initial prototype that focuses on source line debugging. Note, symbolic variable debugging capabilities are not currently supported.
|
||||
|
||||
Single Version Installation
|
||||
You can use the standard GDB commands for both CPU and GPU code debugging. For more information about ROCgdb, refer to the ROCgdb User Guide, which is installed at:
|
||||
|
||||
To install a single instance of the ROCm package, access the non-versioned packages. You must not install any components from the multi-instance set.
|
||||
* /opt/rocm/share/info/gdb.info as a texinfo file
|
||||
* /opt/rocm/share/doc/gdb/gdb.pdf as a PDF file
|
||||
|
||||
For example,
|
||||
The AMD ROCm Debugger User Guide is available as a PDF at:
|
||||
|
||||
* rocm-dkms
|
||||
* rocm-dev
|
||||
* hip
|
||||
|
||||
A fresh installation or an upgrade of the single-version installation will remove the existing version completely and install the new version in the */opt/rocm-<version>* folder.
|
||||
|
||||

|
||||
|
||||
|
||||
**Multi-version Installation**
|
||||
|
||||
* To install a multi-instance of the ROCm package, access the versioned packages and components.
|
||||
|
||||
For example,
|
||||
|
||||
* rocm-dkms3.3.0
|
||||
* rocm-dev3.3.0
|
||||
* hip3.3.0
|
||||
|
||||
* The new multi-instance package enables you to install two versions of the ROCm toolkit simultaneously and provides the ability to toggle between the two versioned packages.
|
||||
|
||||
* The ROCm-DEV package does not create symlinks
|
||||
|
||||
* Users must create symlinks if required
|
||||
|
||||
* Multi-version installation with previous ROCm versions is not supported
|
||||
|
||||
* Kernel Fusion Driver (KFD) must be compatible with all versions of ROCm installations
|
||||
|
||||

|
||||
|
||||
**IMPORTANT**: A single instance ROCm package cannot co-exist with the multi-instance package.
|
||||
|
||||
**NOTE**: The multi-instance installation applies only to ROCm v3.3 and above. This package requires a fresh installation after the complete removal of existing ROCm packages. **The multi-version installation is not backward compatible.**
|
||||
|
||||
|
||||
## GPU Process Information
|
||||
|
||||
A new functionality to display process information for GPUs is available in this release. For example, you can view the process details to determine if the GPU(s) must be reset.
|
||||
|
||||
To display the GPU process details, you can:
|
||||
|
||||
* Invoke the API
|
||||
|
||||
or
|
||||
|
||||
* Use the Command Line Interface (CLI)
|
||||
|
||||
For more details about the API and the command instructions, see
|
||||
|
||||
https://github.com/RadeonOpenCompute/rocm_smi_lib/blob/master/docs/ROCm_SMI_Manual.pdf
|
||||
|
||||
|
||||
## Support for 3D Pooling Layers
|
||||
|
||||
AMD ROCm is enhanced to include support for 3D pooling layers. The implementation of 3D pooling layers now allows users to run 3D convolutional networks, such as ResNext3D, on AMD Radeon Instinct GPUs.
|
||||
|
||||
|
||||
## ONNX Enhancements
|
||||
https://github.com/RadeonOpenCompute/ROCm/blob/master/gdb.pdf
|
||||
|
||||
Open Neural Network eXchange (ONNX) is a widely-used neural net exchange format. The AMD model compiler & optimizer support the pre-trained models in ONNX, NNEF, & Caffe formats. Currently, ONNX versions 1.3 and below are supported.
|
||||
For more information about GNU Debugger (GDB), refer to the GNU Debugger (GDB) web site at: http://www.gnu.org/software/gdb
|
||||
|
||||
The AMD Neural Net Intermediate Representation (NNIR) is enhanced to handle the rapidly changing ONNX versions and its layers.
|
||||
|
||||

|
||||
## AMD ROCm Debugger API Library
|
||||
|
||||
For more details about AMD support for ONNX and ISV samples, see
|
||||
The AMD ROCm Debugger API Library (ROCdbgapi) implements an AMD GPU debugger application programming interface (API) that provides the support necessary for a client of the library to control the execution and inspect the state of AMD GPU devices.
|
||||
|
||||
https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/tree/master/model_compiler
|
||||
The following AMD GPU architectures are supported:
|
||||
* Vega 10
|
||||
* Vega 7nm
|
||||
|
||||
The AMD ROCm Debugger API Library is installed by the rocm-dbgapi package. The rocm-gdb package is part of the rocm-dev meta-package, which is in the rocm-dkms package.
|
||||
The AMD ROCm Debugger API Specification is available as a PDF at:
|
||||
|
||||
https://github.com/RadeonOpenCompute/ROCm/blob/master/amd-dbgapi.pdf
|
||||
|
||||
## rocProfiler Dispatch Callbacks Start Stop API
|
||||
|
||||
In this release, a new rocprofiler start/stop API is added to enable/disable GPU kernel HSA dispatch callbacks. The callback can be registered with the 'rocprofiler_set_hsa_callbacks' API. The API helps you eliminate some profiling performance impact by invoking the profiler only for kernel dispatches of interest. This optimization will result in significant performance gains.
|
||||
|
||||
The API provides the following functions:
|
||||
* *hsa_status_t rocprofiler_start_queue_callbacks();* is used to start profiling
|
||||
* *hsa_status_t rocprofiler_stop_queue_callbacks();* is used to stop profiling.
|
||||
|
||||
For more information on kernel dispatches, see the HSA Platform System Architecture Specification guide at http://www.hsafoundation.com/standards/.
|
||||
|
||||
## ROCm Communications Collective Library
|
||||
The ROCm Communications Collective Library (RCCL) consists of the following enhancements:
|
||||
* Re-enable target 0x803
|
||||
* Build time improvements for the HIP-Clang compiler
|
||||
|
||||
### NVIDIA Communications Collective Library Version Compatibility
|
||||
AMD RCCL is now compatible with NVIDIA Communications Collective Library (NCCL) v2.6.4 and provides the following features:
|
||||
* Network interface improvements with API v3
|
||||
* Network topology detection
|
||||
* Improved CPU type detection
|
||||
* Infiniband adaptive routing support
|
||||
|
||||
## MIOpen Optional Kernel Package Installation
|
||||
MIOpen provides an optional pre-compiled kernel package to reduce startup latency.
|
||||
|
||||
NOTE: The installation of this package is optional. MIOpen will continue to function as expected even if you choose to not install the pre-compiled kernel package. This is because MIOpen compiles the kernels on the target machine once the kernel is run. However, the compilation step may significantly increase the startup time for different operations.
|
||||
|
||||
To install the kernel package for your GPU architecture, use the following command:
|
||||
|
||||
*apt-get install miopen-kernels-<arch>-<num cu>*
|
||||
|
||||
* <arch> is the GPU architecture. For example, gfx900, gfx906
|
||||
* <num cu> is the number of CUs available in the GPU. For example, 56 or 64
|
||||
|
||||
|
||||
## New SMI Event Interface and Library
|
||||
|
||||
An SMI event interface is added to the kernel and ROCm SMI lib for system administrators to get notified when specific events occur. On the kernel side, AMDKFD_IOC_SMI_EVENTS input/output control is enhanced to allow notifications propagation to user mode through the event channel.
|
||||
|
||||
On the ROCm SMI lib side, APIs are added to set an event mask and receive event notifications with a timeout option. Further, ROCm SMI API details can be found in the PDF generated by Doxygen from source or by referring to the rocm_smi.h header file (see the rsmi_event_notification_* functions).
|
||||
|
||||
For the more details about ROCm SMI API, see
|
||||
|
||||
https://github.com/RadeonOpenCompute/ROCm/blob/master/ROCm_SMI_Manual.pdf
|
||||
|
||||
## API for CPU Affinity
|
||||
A new API is introduced for aiding applications to select the appropriate memory node for a given accelerator(GPU).
|
||||
|
||||
The API for CPU affinity has the following signature:
|
||||
|
||||
*rsmi_status_t rsmi_topo_numa_affinity_get(uint32_t dv_ind, uint32_t *numa_node);*
|
||||
|
||||
This API takes as input, device index (dv_ind), and returns the NUMA node (CPU affinity), stored at the location pointed by numa_node pointer, associated with the device.
|
||||
|
||||
Non-Uniform Memory Access (NUMA) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to the processor.
|
||||
|
||||
## Radeon Performance Primitives Library
|
||||
The new Radeon Performance Primitives (RPP) library is a comprehensive high-performance computer vision library for AMD (CPU and GPU) with the HIP and OpenCL backend. The target operating system is Linux.
|
||||
|
||||

|
||||
|
||||
For more information about prerequisites and library functions, see
|
||||
|
||||
https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/tree/master/docs
|
||||
|
||||
# Fixed Issues
|
||||
|
||||
## Device printf Support for HIP-Clang
|
||||
HIP now supports the use of printf in the device code. The parameters and return value for the device-side printf follow the POSIX.1 standard, with the exception that the "%n" specifier is not supported. A call to printf blocks the calling wavefront until the operation is completely processed by the host.
|
||||
|
||||
No host-side runtime calls by the application are needed to cause the output to appear. There is also no limit on the number of device-side calls to printf or the amount of data that is printed.
|
||||
|
||||
For more details, refer the HIP Programming Guide at:
|
||||
https://rocmdocs.amd.com/en/latest/Programming_Guides/HIP-GUIDE.html#hip-guide
|
||||
|
||||
## Assertions in HIP Device Code
|
||||
Previously, a failing assertion caused early termination of kernels and the application to exit with a line number, file, and failing condition printed to the screen.
|
||||
This issue is now fixed and the assert() and abort() functions are implemented for HIP device code.
|
||||
NOTE: There may be a performance impact in the use of device assertions in its current form.
|
||||
|
||||
You may choose to disable the assertion in the production code. For example, to disable an assertion of:
|
||||
|
||||
*assert(foo != 0);*
|
||||
|
||||
you may comment it out as:
|
||||
|
||||
*//assert(foo != 0);*
|
||||
|
||||
NOTE: Assertions are currently enabled by default.
|
||||
|
||||
# Known Issues
|
||||
The following are the known issues in the v3.5 release.
|
||||
|
||||
## HIPify-Clang Installation Failure on CentOS/RHEL
|
||||
|
||||
HIPify-Clang fails to install on CentOS/RHEL with the following error:
|
||||
|
||||
*file from install of hipify-clang conflicts with file from package hip-base*
|
||||
|
||||
**Workaround**: This is a known issue and the following workaround is recommended for a successful installation of HIPify-Clang on CentOS/RHEL:
|
||||
|
||||
* Download HIPify-Clang RPM. For example, *hipify-clang-11.0.0.x86_64.rpm*
|
||||
* Perform a force install using the following command:
|
||||
|
||||
*sudo rpm -ivh --force hipify-clang-11.0.0.x86_64.rpm*
|
||||
|
||||
|
||||
## Failure to Process Breakpoint before Queue Destroy Results in ROCm Debugger Error
|
||||
When ROCgdb is in non-stop mode with an application that rapidly creates and destroys queues, a breakpoint may be reported that is not processed by the debugger before the queue is deleted. In some cases, this can result in the following error that prevents further debugging:
|
||||
|
||||
*[amd-dbgapi]: fatal error: kfd_queue_id 2 should have been reported as a NEW_QUEUE before next_pending_event failed (rc=-2)*
|
||||
|
||||
There are no known workarounds at this time.
|
||||
|
||||
## Failure to Process Breakpoint before Queue Destroy Results in ROCm Debugger API Error
|
||||
|
||||
When the ROCdbgapi library is used with an application that rapidly creates and destroys queues, a breakpoint may be reported that is not processed by the client before the queue is deleted. In some cases, this can result in a fatal error and the following error log message is produced:
|
||||
|
||||
*[amd-dbgapi]: fatal error: kfd_queue_id 2 should have been reported as a NEW_QUEUE before next_pending_event failed (rc=-2)*
|
||||
|
||||
There are no known workarounds at this time.
|
||||
|
||||
## rocThrust and hipCUB Unit Test Failures
|
||||
|
||||
The following unit test failures have been observed due to known issues in the ROCclr runtime.
|
||||
|
||||
rocThrust
|
||||
* sort
|
||||
* sort_by_key
|
||||
|
||||
hipCUB
|
||||
* BlockDiscontinuity
|
||||
* BlockExchange
|
||||
* BlockHistogram
|
||||
* BlockRadixSort
|
||||
* BlockReduce
|
||||
* BlockScan
|
||||
|
||||
There are no known workarounds in the current release.
|
||||
|
||||
|
||||
## Multiple GPU Configuration Freezes with Imagenet Training and tf_cnn_benchmark on TensorFlow
|
||||
|
||||
A random freeze has been observed with Imagenet training and tf_cnn_benchmark on TensorFlow when multiple GPU configurations are involved.
|
||||
|
||||
There is no freeze observed with single GPUs.
|
||||
|
||||
There are no known workarounds at this time.
|
||||
|
||||
## Issue with Running AMD ROCm v3.3 User Mode with AMD ROCm v3.5 DKMS Kernel Module
|
||||
|
||||
Running AMD ROCm v3.3 in the user mode with the AMD ROCm v3.5 DKMS kernel module will cause the following features to be broken:
|
||||
|
||||
* IPC import/export, cross memory copy (used by UCX and MPI)
|
||||
* Experimental GDB support
|
||||
|
||||
**Resolution**: Install ROCm v3.5 Thunk (*Hsakmt*) when using ROCm 3.5 Kernel Fusion Driver (KFD).
|
||||
|
||||
|
||||
## SQLite3 Library Not Found in ROCProfiler
|
||||
|
||||
The ROCProfiler tool appears to be broken when the SQLite3 library is not found.
|
||||
|
||||
**Resolution**: Install the SQLite3 Python module separately and ensure the environment variable is set to ROCP_PYTHON_VERSION to confirm the Python version, which includes the SQLite3 module.
|
||||
|
||||
|
||||
|
||||
# Deprecations
|
||||
Install ROCm v3.5 Thunk (Hsakmt) when using ROCm 3.5 Kernel Fusion Driver (KFD). You can access the Thunk package at:
|
||||
|
||||
https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface
|
||||
## Heterogeneous Compute Compiler
|
||||
In this release, the Heterogeneous Compute Compiler (HCC) compiler is deprecated and the HIP-Clang compiler is introduced for compiling Heterogeneous-Compute Interface for Portability (HIP) programs.
|
||||
|
||||
For more information, see HIP documentation at:
|
||||
https://rocmdocs.amd.com/en/latest/Programming_Guides/Programming-Guides.html
|
||||
|
||||
|
||||
## Deploying ROCm
|
||||
AMD hosts both Debian and RPM repositories for the ROCm v3.3.0x packages.
|
||||
|
||||
The following directions show how to install ROCm on supported Debian-based systems such as Ubuntu 18.04.x.
|
||||
|
||||
Note: These directions may not work as written on unsupported Debian-based distributions. For example, newer versions of Ubuntu may not be compatible with the rock-dkms kernel driver. In this case, you can exclude the rocm-dkms and rock-dkms packages.
|
||||
AMD hosts both Debian and RPM repositories for the ROCm v3.5.x packages.
|
||||
|
||||
For more information on ROCM installation on all platforms, see
|
||||
|
||||
https://rocm-documentation.readthedocs.io/en/latest/Installation_Guide/Installation-Guide.html
|
||||
|
||||
|
||||
## Deprecations in This Release
|
||||
|
||||
### Code Object Manager (Comgr) Functions
|
||||
|
||||
The following Code Object Manager (Comgr) functions are deprecated.
|
||||
|
||||
* `amd_comgr_action_info_set_options`
|
||||
|
||||
* `amd_comgr_action_info_get_options`
|
||||
|
||||
These functions were originally deprecated in version 1.3 of the Comgr library as they no longer support options with embedded spaces.
|
||||
The deprecated functions are now replaced with the array-oriented options API, which includes
|
||||
|
||||
* `amd_comgr_action_info_set_option_list`
|
||||
|
||||
* `amd_comgr_action_info_get_option_list_count`
|
||||
|
||||
* `amd_comgr_action_info_get_option_list_item`
|
||||
|
||||
https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html
|
||||
|
||||
## Hardware and Software Support
|
||||
ROCm is focused on using AMD GPUs to accelerate computational tasks such as machine learning, engineering workloads, and scientific computing.
|
||||
@@ -341,20 +474,6 @@ For users that have the option of using either AMD's or the upstreamed driver, t
|
||||
| | | Does not include most up-to-date firmware |
|
||||
|
||||
|
||||
## Software Support
|
||||
As of AMD ROCm v1.9.0, the ROCm user-level software is compatible with the AMD drivers in certain upstream Linux kernels. You have the following options:
|
||||
|
||||
• Use the ROCk kernel driver that is a part of AMD’s ROCm repositories
|
||||
or
|
||||
• Use the upstream driver and only install ROCm user-level utilities from AMD’s ROCm repositories
|
||||
|
||||
The releases of the upstream Linux kernel support the following GPUs in ROCm:
|
||||
|
||||
• Fiji, Polaris 10, Polaris 11
|
||||
• Fiji, Polaris 10, Polaris 11, Vega10
|
||||
• Fiji, Polaris 10, Polaris 11, Vega10, Vega 7nm
|
||||
|
||||
|
||||
|
||||
## Machine Learning and High Performance Computing Software Stack for AMD GPU
|
||||
|
||||
@@ -477,8 +596,8 @@ The latest supported version of the drivers, tools, libraries and source code fo
|
||||
- [rocminfo](https://github.com/RadeonOpenCompute/rocminfo/tree/rocm-3.3.0)
|
||||
- [ROCm Bandwidth Test](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/tree/rocm-3.3.0)
|
||||
|
||||
#### ROCm Development ToolChains
|
||||
- [HCC compiler](https://github.com/RadeonOpenCompute/hcc/tree/rocm-hcc-3.3.0)
|
||||
#### ROCm Development ToolChain
|
||||
- [HCC compiler](https://github.com/RadeonOpenCompute/hcc/tree/rocm-3.3.0)
|
||||
|
||||
- [HIP](https://github.com/ROCm-Developer-Tools/HIP/tree/rocm-3.3.0)
|
||||
|
||||
|
||||
BIN
ROCm_SMI_Manual.pdf
Normal file
BIN
ROCm_SMI_Manual.pdf
Normal file
Binary file not shown.
BIN
amd-dbgapi.pdf
Normal file
BIN
amd-dbgapi.pdf
Normal file
Binary file not shown.
80
default.xml
80
default.xml
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<manifest>
|
||||
|
||||
<remote name="roc-github"
|
||||
fetch="http://github.com/RadeonOpenCompute/" />
|
||||
<remote name="rocm-devtools"
|
||||
@@ -11,75 +10,70 @@
|
||||
fetch="https://github.com/GPUOpen-ProfessionalCompute-Libraries/" />
|
||||
<remote name="gpuopen-tools"
|
||||
fetch="https://github.com/GPUOpen-Tools/" />
|
||||
|
||||
<default revision="refs/tags/rocm-3.3.0"
|
||||
<remote name="KhronosGroup"
|
||||
fetch="https://github.com/KhronosGroup/" />
|
||||
<default revision="refs/tags/rocm-3.5.0"
|
||||
remote="roc-github"
|
||||
sync-c="true"
|
||||
sync-j="4" />
|
||||
|
||||
<project name="ROCK-Kernel-Driver" revision="refs/tags/roc-3.3.0" />
|
||||
<project name="ROCT-Thunk-Interface" revision="refs/tags/roc-3.3.0" />
|
||||
<!--list of projects for ROCM-->
|
||||
<project name="ROCK-Kernel-Driver" />
|
||||
<project name="ROCT-Thunk-Interface" />
|
||||
<project name="ROCR-Runtime" />
|
||||
<project name="ROC-smi" revision="refs/tags/roc-3.3.0" />
|
||||
<project name="ROC-smi" />
|
||||
<project name="rocm_smi_lib" remote="roc-github" />
|
||||
<project name="rocm-cmake" />
|
||||
<project name="rocminfo" />
|
||||
|
||||
<project name="rocprofiler" remote="rocm-devtools" revision="refs/tags/roc-3.3.0" />
|
||||
<project name="roctracer" remote="rocm-devtools" revision="refs/tags/roc-3.3.0" />
|
||||
<!-- If you want to get the full OpenCL runtime, there is a separate repo
|
||||
manifest that is more authoritative than the copy in this file. It can
|
||||
be found at the following URL:
|
||||
https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/blob/roc-2.0.0/opencl.xml -->
|
||||
<remote name="KhronosGroup" fetch="https://github.com/KhronosGroup/" />
|
||||
<project name="ROCm-OpenCL-Runtime" revision="refs/tags/roc-3.3.0" />
|
||||
|
||||
<project name="rocprofiler" remote="rocm-devtools" />
|
||||
<project name="roctracer" remote="rocm-devtools" />
|
||||
<project name="ROCm-OpenCL-Runtime" revision="refs/tags/roc-3.5.0" />
|
||||
<project path="ROCm-OpenCL-Runtime/api/opencl/khronos/icd" name="OpenCL-ICD-Loader" remote="KhronosGroup" revision="6c03f8b58fafd9dd693eaac826749a5cfad515f8" />
|
||||
<project name="clang-ocl" />
|
||||
<!-- HCC needs to be recursively synced to get it submodules -->
|
||||
<project name="hcc" sync-s="true" />
|
||||
<!--HIP Projects-->
|
||||
<project name="HCC-Example-Application" remote="rocm-devtools" revision="ffd6533305e79eed667badd3c4cdb7879a1281b8" />
|
||||
<project name="HIP" remote="rocm-devtools" />
|
||||
<project name="HIP-Examples" remote="rocm-devtools" />
|
||||
|
||||
<project name="ROCclr" remote="rocm-devtools" revision="refs/tags/roc-3.5.0" />
|
||||
<project name="HIPIFY" remote="rocm-devtools" />
|
||||
<!-- The following projects are all associated with the AMDGPU LLVM compiler -->
|
||||
<project name="llvm-project" path="llvm_amd-stg-open" revision="refs/tags/rocm-ocl-3.3.0"/>
|
||||
<project name="ROCm-Device-Libs" revision="refs/tags/rocm-ocl-3.3.0"/>
|
||||
<project name="atmi" revision="refs/tags/rocm-3.3.0" />
|
||||
<project name="llvm-project" path="llvm_amd-stg-open" />
|
||||
<project name="ROCm-Device-Libs" />
|
||||
<project name="atmi" />
|
||||
<project name="ROCm-CompilerSupport" />
|
||||
<project name="rocr_debug_agent" remote="rocm-devtools" revision="refs/tags/roc-3.3.0" />
|
||||
<project name="rocr_debug_agent" remote="rocm-devtools" revision="refs/tags/roc-3.5.0" />
|
||||
<project name="rocm_bandwidth_test" />
|
||||
<project name="RCP" remote="gpuopen-tools" revision="3a49405a1500067c49d181844ec90aea606055bb" />
|
||||
|
||||
<!-- gdb projects -->
|
||||
<project name="ROCgdb" remote="rocm-devtools" />
|
||||
<project name="ROCdbgapi" remote="rocm-devtools" />
|
||||
<!-- ROCm Libraries -->
|
||||
<project name="rocBLAS" remote="rocm-swplat" />
|
||||
<project name="hipBLAS" remote="rocm-swplat" />
|
||||
<project name="rocFFT" remote="rocm-swplat" revision="refs/tags/rocm-3.3" />
|
||||
<project name="rocFFT" remote="rocm-swplat" />
|
||||
<project name="rocRAND" remote="rocm-swplat" />
|
||||
<project name="rocSPARSE" remote="rocm-swplat" />
|
||||
<project name="hipSPARSE" remote="rocm-swplat" />
|
||||
<project name="rocALUTION" remote="rocm-swplat" />
|
||||
<project name="MIOpenGEMM" remote="rocm-swplat" revision="b51a12523676451bf38bfcf0506a0745e80ac64f" />
|
||||
<project name="MIOpen" remote="rocm-swplat" revision="refs/tags/roc-3.3.0" />
|
||||
<project name="MIOpenGEMM" remote="rocm-swplat" revision="refs/tags/1.1.6" />
|
||||
<project name="MIOpen" remote="rocm-swplat" />
|
||||
<project name="rccl" remote="rocm-swplat" />
|
||||
<project name="MIVisionX" remote="gpuopen-libs" revision="refs/tags/1.7" />
|
||||
<project name="rocThrust" remote="rocm-swplat" />
|
||||
<project name="hipCUB" remote="rocm-swplat" />
|
||||
<project name="rocPRIM" remote="rocm-swplat" />
|
||||
<project name="AMDMIGraphX" remote="rocm-swplat" revision="d1e945dabce0078d44c78de67b00232b856e18bc" />
|
||||
<project name="ROCmValidationSuite" remote="rocm-devtools" revision="refs/tags/roc-3.3.0" />
|
||||
|
||||
<project name="AMDMIGraphX" remote="rocm-swplat" />
|
||||
<project name="ROCmValidationSuite" remote="rocm-devtools" />
|
||||
<!-- Projects for AOMP -->
|
||||
<project name="ROCT-Thunk-Interface" path="aomp/roct-thunk-interface" remote="roc-github" revision="refs/tags/roc-3.3.0" />
|
||||
<project name="ROCR-Runtime" path="aomp/rocr-runtime" remote="roc-github" revision="refs/tags/rocm-3.3.0" />
|
||||
<project name="hcc" path="aomp/hcc" remote="roc-github" revision="6776c83ff233bbc53d8e5e4185c2e53e400bef6f" />
|
||||
<project name="ROCm-Device-Libs" path="aomp/rocm-device-libs" remote="roc-github" revision="fea23ca22221ef2228d043d2e6b8ab00c8b8d60d" />
|
||||
<project name="ROCm-CompilerSupport" path="aomp/rocm-compilersupport" remote="roc-github" revision="d970a94c2d0f6f481a1bcbe7c9f0995443a75893" />
|
||||
<project name="rocminfo" path="aomp/rocminfo" remote="roc-github" revision="70ebe13a8932944bc8d369cc7a91d6e2c0c8e65f" />
|
||||
<project name="atmi" path="aomp/atmi" remote="roc-github" revision="b8cbdb710fee1776d8f7d8299e8acfdd62cbaaaf" />
|
||||
<project name="HIP" path="aomp/hip" remote="rocm-devtools" revision="83a42c24d8e719b29e4b965d7d71ce43fa9c07e2" />
|
||||
<project name="aomp" path="aomp/aomp" remote="rocm-devtools" revision="refs/tags/roc-3.3.0" />
|
||||
<project name="aomp-extras" path="aomp/aomp-extras" remote="rocm-devtools" revision="refs/tags/roc-3.3.0" />
|
||||
<project name="flang" path="aomp/flang" remote="rocm-devtools" revision="refs/tags/roc-3.3.0" />
|
||||
<project name="llvm-project" path="aomp/llvm-project" remote="rocm-devtools" revision="refs/tags/roc-aomp-3.3.0" />
|
||||
<project name="ROCT-Thunk-Interface" path="aomp/roct-thunk-interface" remote="roc-github" />
|
||||
<project name="ROCR-Runtime" path="aomp/rocr-runtime" remote="roc-github" />
|
||||
<project name="ROCm-Device-Libs" path="aomp/rocm-device-libs" remote="roc-github" />
|
||||
<project name="ROCm-CompilerSupport" path="aomp/rocm-compilersupport" remote="roc-github" />
|
||||
<project name="rocminfo" path="aomp/rocminfo" remote="roc-github" />
|
||||
<project name="HIP" path="aomp/hip-on-vdi" remote="rocm-devtools" revision="ffcbd7e63395f8a4d3ccb7e4d5133f8d2dde793e" />
|
||||
<project name="aomp" path="aomp/aomp" remote="rocm-devtools" />
|
||||
<project name="aomp-extras" path="aomp/aomp-extras" remote="rocm-devtools" />
|
||||
<project name="flang" path="aomp/flang" remote="rocm-devtools" />
|
||||
<project name="amd-llvm-project" path="aomp/amd-llvm-project" remote="rocm-devtools" />
|
||||
<project name="ROCclr" path="aomp/vdi" remote="rocm-devtools" revision="72ce2c9783d514fc7da94db40f9f420320df098d" />
|
||||
<project name="ROCm-OpenCL-Runtime" path="aomp/opencl-on-vdi" remote="roc-github" revision="12fb33212c99cb4b596b0f34691e7d044218e3e9" />
|
||||
</manifest>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB |
Reference in New Issue
Block a user