Compare commits

...

51 Commits

Author SHA1 Message Date
Sam Wu
89e60882ac Update documentation requirements 2024-09-16 10:12:20 -08:00
Sam Wu
b73ffa066c Update documentation requirements 2024-06-06 16:58:22 -06:00
Sam Wu
ca409fd1aa Fix RTD config 2024-05-02 08:53:47 -06:00
Sam Wu
b4249d1e6a Update documentation requirements 2024-05-01 16:58:41 -06:00
Sam Wu
12dea8da01 Update documentation requirements 2024-05-01 16:50:40 -06:00
Sam Wu
29003a5250 add version to html title 2023-08-04 17:15:32 -06:00
Sam Wu
dca03a3067 update pdf 2023-06-30 09:34:39 -06:00
Sam Wu
4498f57226 rocm-docs-core v0.18.3 2023-06-30 09:34:20 -06:00
Máté Ferenc Nagy-Egri
65180d309c Downgrade license notice to 5.2.0 2023-06-22 18:46:12 +02:00
Máté Ferenc Nagy-Egri
07901f4a38 Downgrade changelog to 5.2.0 2023-06-22 18:46:12 +02:00
Máté Ferenc Nagy-Egri
a6e350fbe1 Downgrade install instructions to 5.2.0 2023-06-22 18:46:12 +02:00
Máté Ferenc Nagy-Egri
e7c7e1ea3b Downgrade release notes to 5.2.0 2023-06-22 18:46:12 +02:00
Máté Ferenc Nagy-Egri
6c541a111a Downgrade support matrices to 5.2.3 2023-06-22 18:46:11 +02:00
Máté Ferenc Nagy-Egri
9841218253 Downgrade license notice to 5.2.3 2023-06-22 18:46:11 +02:00
Máté Ferenc Nagy-Egri
2915e7a484 Downgrade changelog to 5.2.3 2023-06-22 18:46:11 +02:00
Máté Ferenc Nagy-Egri
0795eadc2d Downgrade install instructions to 5.2.3 2023-06-22 18:46:11 +02:00
Máté Ferenc Nagy-Egri
92c0940012 Downgrade OS support to 5.2.3 2023-06-22 18:46:11 +02:00
Máté Ferenc Nagy-Egri
4a069ba039 Downgrade release notes to 5.2.3 2023-06-22 18:37:29 +02:00
Máté Ferenc Nagy-Egri
6da407a83c Downgrade license notice to 5.3.0 2023-06-22 18:37:29 +02:00
Máté Ferenc Nagy-Egri
27fb7070fd Downgrade changelog to 5.3.0 2023-06-22 18:37:29 +02:00
Máté Ferenc Nagy-Egri
1f58c354e5 Downgrade install instructions to 5.3.0 2023-06-22 18:37:28 +02:00
Máté Ferenc Nagy-Egri
a9cda12159 Downgrade OS support to 5.3.0 2023-06-22 18:37:28 +02:00
Máté Ferenc Nagy-Egri
de5e5c2b84 Downgrade release notes to 5.3.0 2023-06-22 18:37:28 +02:00
Máté Ferenc Nagy-Egri
0e8714e498 Downgrade license notice to 5.3.2 2023-06-22 18:37:28 +02:00
Máté Ferenc Nagy-Egri
2193408ae8 Downgrade changelog to 5.3.2 2023-06-22 18:37:28 +02:00
Máté Ferenc Nagy-Egri
f445672f4b Downgrade install instructions to 5.3.2 2023-06-22 18:37:28 +02:00
Máté Ferenc Nagy-Egri
c5b4b70f11 Downgrade release notes to 5.3.2 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
d2cd9e2141 Downgrade support matrices to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
3b7d8b102a Downgrade license notice to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
18d5dd866c Downgrade changelog to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
9829be899e Downgrade install instructions to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
5cf7fff338 Downgrade OS support to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
7a16e52d52 Downgrade release notes to 5.3.3 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
d4dcd6b9e5 Remove rocWMMA from docs 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
71a132b926 Downgrade license notice to 5.4.0 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
9b8603d58c Downgrade changelog to 5.4.0 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
4cb5510bf0 Downgrade install instructions to 5.4.0 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
676953fe8c Downgrade release notes to 5.4.0 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
15292ddebe Downgrade license notice to 5.4.1 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
89986d332d Downgrade changelog to 5.4.1 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
de6fc1634a Downgrade install instructions to 5.4.1 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
52986c3635 Downgrade release notes to 5.4.1 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
b86717e454 Downgrade license notice to 5.4.2 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
7dbd277203 Downgrade changelog to 5.4.2 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
31ee8e712c Downgrade install instructions to 5.4.2 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
55eda666d5 Downgrade release notes to 5.4.2 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
01e24da121 Downgrade support matrices to 5.4.3 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
f68c47d748 Downgrade changelog to 5.4.3 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
2c0a351bbd Downgrade install instructions to 5.4.3 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
b6509809d3 Downgrade OS support to 5.4.3 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
a29205cc5c Downgrade release notes to 5.4.3 2023-06-22 18:37:24 +02:00
19 changed files with 685 additions and 2640 deletions

View File

@@ -3,12 +3,19 @@
version: 2
build:
os: ubuntu-22.04
tools:
python: "3.10"
apt_packages:
- "doxygen"
- "graphviz" # For dot graphs in doxygen
python:
install:
- requirements: docs/sphinx/requirements.txt
sphinx:
configuration: docs/conf.py
formats: [htmlzip, pdf, epub]
python:
version: "3.8"
install:
- requirements: docs/sphinx/requirements.txt
formats: []

File diff suppressed because it is too large Load Diff

View File

@@ -15,144 +15,324 @@ The release notes for the ROCm platform.
-------------------
## ROCm 5.5.0
## ROCm 5.2.0
<!-- markdownlint-disable first-line-h1 -->
<!-- markdownlint-disable no-duplicate-header -->
### What's New in This Release
#### HIP Enhancements
The ROCm v5.5 release consists of the following HIP enhancements:
The ROCm v5.2 release consists of the following HIP enhancements:
##### Enhanced Stack Size Limit
##### HIP Installation Guide Updates
In this release, the stack size limit is increased from 16k to 131056 bytes (or 128K - 16).
Applications requiring to update the stack size can use hipDeviceSetLimit API.
The HIP Installation Guide is updated to include building HIP tests from source on the AMD and NVIDIA platforms.
##### `hipcc` Changes
For more details, refer to the HIP Installation Guide v5.2.
The following hipcc changes are implemented in this release:
##### Support for device-side malloc on HIP-Clang
- `hipcc` will not implicitly link to `libpthread` and `librt`, as they are no longer a link time dependence for HIP programs.  Applications that depend on these libraries must explicitly link to them.
- `-use-staticlib` and `-use-sharedlib` options are deprecated.
HIP-Clang now supports device-side malloc. This implementation does not require the use of `hipDeviceSetLimit(hipLimitMallocHeapSize,value)` nor respect any setting. The heap is fully dynamic and can grow until the available free memory on the device is consumed.
##### Future Changes
The test codes at the following link show how to implement applications using malloc and free functions in device kernels:
- Separation of `hipcc` binaries (Perl scripts) from HIP to `hipcc` project. Users will access separate `hipcc` package for installing `hipcc` binaries in future ROCm releases.
- In a future ROCm release, the following samples will be removed from the `hip-tests` project.
- `hipBusbandWidth` at <https://github.com/ROCm-Developer-Tools/hip-tests/tree/develop/samples/1_Utils/shipBusBandwidth>
- `hipCommander` at <https://github.com/ROCm-Developer-Tools/hip-tests/tree/develop/samples/1_Utils/hipCommander>
Note that the samples will continue to be available in previous release branches.
<https://github.com/ROCm-Developer-Tools/HIP/blob/develop/tests/src/deviceLib/hipDeviceMalloc.cpp>
##### New HIP APIs in This Release
> **Note**
>
> This is a pre-official version (beta) release of the new APIs and may contain unresolved issues.
The following new HIP APIs are available in the ROCm v5.2 release. Note that this is a pre-official version (beta) release of the new APIs:
###### Memory Management HIP APIs
###### Device management HIP APIs
The new memory management HIP API is as follows:
The new device management HIP APIs are as follows:
- Sets information on the specified pointer [BETA].
- Gets a UUID for the device. This API returns a UUID for the device.
```h
hipError_t hipPointerSetAttribute(const void* value, hipPointer_attribute attribute, hipDeviceptr_t ptr);
hipError_t hipDeviceGetUuid(hipUUID* uuid, hipDevice_t device);
```
###### Module Management HIP APIs
> **Note**
>
> This new API corresponds to the following CUDA API:
>
> ```h
> CUresult cuDeviceGetUuid(CUuuid* uuid, CUdevice dev);
> ```
The new module management HIP APIs are as follows:
- Launches kernel $f$ with launch parameters and shared memory on stream with arguments passed to `kernelParams`, where thread blocks can cooperate and synchronize as they execute.
- Gets default memory pool of the specified device
```h
hipError_t hipModuleLaunchCooperativeKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void** kernelParams);
hipError_t hipDeviceGetDefaultMemPool(hipMemPool_t* mem_pool, int device);
```
- Launches kernels on multiple devices where thread blocks can cooperate and synchronize as they execute.
- Sets the current memory pool of a device
```h
hipError_t hipModuleLaunchCooperativeKernelMultiDevice(hipFunctionLaunchParams* launchParamsList, unsigned int numDevices, unsigned int flags);
hipError_t hipDeviceSetMemPool(int device, hipMemPool_t mem_pool);
```
- Gets the current memory pool for the specified device
```h
hipError_t hipDeviceGetMemPool(hipMemPool_t* mem_pool, int device);
```
###### New HIP Runtime APIs in Memory Management
The new Stream Ordered Memory Allocator functions of HIP runtime APIs in memory management are as follows:
- Allocates memory with stream ordered semantics
```h
hipError_t hipMallocAsync(void** dev_ptr, size_t size, hipStream_t stream);
```
- Frees memory with stream ordered semantics
```h
hipError_t hipFreeAsync(void* dev_ptr, hipStream_t stream);
```
- Releases freed memory back to the OS
```h
hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold);
```
- Sets attributes of a memory pool
```h
hipError_t hipMemPoolSetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void* value);
```
- Gets attributes of a memory pool
```h
hipError_t hipMemPoolGetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void* value);
```
- Controls visibility of the specified pool between devices
```h
hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc* desc_list, size_t count);
```
- Returns the accessibility of a pool from a device
```h
hipError_t hipMemPoolGetAccess(hipMemAccessFlags* flags, hipMemPool_t mem_pool, hipMemLocation* location);
```
- Creates a memory pool
```h
hipError_t hipMemPoolCreate(hipMemPool_t* mem_pool, const hipMemPoolProps* pool_props);
```
- Destroys the specified memory pool
```h
hipError_t hipMemPoolDestroy(hipMemPool_t mem_pool);
```
- Allocates memory from a specified pool with stream ordered semantics
```h
hipError_t hipMallocFromPoolAsync(void** dev_ptr, size_t size, hipMemPool_t mem_pool, hipStream_t stream);
```
- Exports a memory pool to the requested handle type
```h
hipError_t hipMemPoolExportToShareableHandle(
void* shared_handle,
hipMemPool_t mem_pool,
hipMemAllocationHandleType handle_type,
unsigned int flags);
```
- Imports a memory pool from a shared handle
```h
hipError_t hipMemPoolImportFromShareableHandle(
hipMemPool_t* mem_pool,
void* shared_handle,
hipMemAllocationHandleType handle_type,
unsigned int flags);
```
- Exports data to share a memory pool allocation between processes
```h
hipError_t hipMemPoolExportPointer(hipMemPoolPtrExportData* export_data, void* dev_ptr);
Import a memory pool allocation from another process.t
hipError_t hipMemPoolImportPointer(
void** dev_ptr,
hipMemPool_t mem_pool,
hipMemPoolPtrExportData* export_data);
```
###### HIP Graph Management APIs
The new HIP Graph Management APIs are as follows:
- Creates a memory allocation node and adds it to a graph [BETA]
- Enqueues a host function call in a stream
```h
hipError_t hipGraphAddMemAllocNode(hipGraphNode_t* pGraphNode, hipGraph_t graph, const hipGraphNode_t* pDependencies, size_t numDependencies, hipMemAllocNodeParams* pNodeParams);
hipError_t hipLaunchHostFunc(hipStream_t stream, hipHostFn_t fn, void* userData);
```
- Return parameters for memory allocation node [BETA]
- Swaps the stream capture mode of a thread
```h
hipError_t hipGraphMemAllocNodeGetParams(hipGraphNode_t node, hipMemAllocNodeParams* pNodeParams);
hipError_t hipThreadExchangeStreamCaptureMode(hipStreamCaptureMode* mode);
```
- Creates a memory free node and adds it to a graph [BETA]
- Sets a node attribute
```h
hipError_t hipGraphAddMemFreeNode(hipGraphNode_t* pGraphNode, hipGraph_t graph, const hipGraphNode_t* pDependencies, size_t numDependencies, void* dev_ptr);
hipError_t hipGraphKernelNodeSetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, const hipKernelNodeAttrValue* value);
```
- Returns parameters for memory free node [BETA].
- Gets a node attribute
```h
hipError_t hipGraphMemFreeNodeGetParams(hipGraphNode_t node, void* dev_ptr);
hipError_t hipGraphKernelNodeGetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, hipKernelNodeAttrValue* value);
```
- Write a DOT file describing graph structure [BETA].
###### Support for Virtual Memory Management APIs
The new APIs for virtual memory management are as follows:
- Frees an address range reservation made via hipMemAddressReserve
```h
hipError_t hipGraphDebugDotPrint(hipGraph_t graph, const char* path, unsigned int flags);
hipError_t hipMemAddressFree(void* devPtr, size_t size);
```
- Copies attributes from source node to destination node [BETA].
- Reserves an address range
```h
hipError_t hipGraphKernelNodeCopyAttributes(hipGraphNode_t hSrc, hipGraphNode_t hDst);
hipError_t hipMemAddressReserve(void** ptr, size_t size, size_t alignment, void* addr, unsigned long long flags);
```
- Enables or disables the specified node in the given graphExec [BETA]
- Creates a memory allocation described by the properties and size
```h
hipError_t hipGraphNodeSetEnabled(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, unsigned int isEnabled);
hipError_t hipMemCreate(hipMemGenericAllocationHandle_t* handle, size_t size, const hipMemAllocationProp* prop, unsigned long long flags);
```
- Query whether a node in the given graphExec is enabled [BETA]
- Exports an allocation to a requested shareable handle type
```h
hipError_t hipGraphNodeGetEnabled(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, unsigned int* isEnabled);
hipError_t hipMemExportToShareableHandle(void* shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags);
```
##### OpenMP Enhancements
This release consists of the following OpenMP enhancements:
- Gets the access flags set for the given location and ptr
- Additional support for OMPT functions `get_device_time` and `get_record_type`.
- Add support for min/max fast fp atomics on AMD GPUs.
- Fix the use of the abs function in C device regions.
```h
hipError_t hipMemGetAccess(unsigned long long* flags, const hipMemLocation* location, void* ptr);
```
- Calculates either the minimal or recommended granularity
```h
hipError_t hipMemGetAllocationGranularity(size_t* granularity, const hipMemAllocationProp* prop, hipMemAllocationGranularity_flags option);
```
- Retrieves the property structure of the given handle
```h
hipError_t hipMemGetAllocationPropertiesFromHandle(hipMemAllocationProp* prop, hipMemGenericAllocationHandle_t handle);
```
- Imports an allocation from a requested shareable handle type
```h
hipError_t hipMemImportFromShareableHandle(hipMemGenericAllocationHandle_t* handle, void* osHandle, hipMemAllocationHandleType shHandleType);
```
- Maps an allocation handle to a reserved virtual address range
```h
hipError_t hipMemMap(void* ptr, size_t size, size_t offset, hipMemGenericAllocationHandle_t handle, unsigned long long flags);
```
- Maps or unmaps subregions of sparse HIP arrays and sparse HIP mipmapped arrays
```h
hipError_t hipMemMapArrayAsync(hipArrayMapInfo* mapInfoList, unsigned int count, hipStream_t stream);
```
- Release a memory handle representing a memory allocation, that was previously allocated through hipMemCreate
```h
hipError_t hipMemRelease(hipMemGenericAllocationHandle_t handle);
```
- Returns the allocation handle of the backing memory allocation given the address
```h
hipError_t hipMemRetainAllocationHandle(hipMemGenericAllocationHandle_t* handle, void* addr);
```
- Sets the access flags for each location specified in desc for the given virtual address range
```h
hipError_t hipMemSetAccess(void* ptr, size_t size, const hipMemAccessDesc* desc, size_t count);
```
- Unmaps memory allocation of a given address range
```h
hipError_t hipMemUnmap(void* ptr, size_t size);
```
For more information, refer to the HIP API documentation at
{doc}`hip:.doxygen/docBin/html/modules`.
##### Planned HIP Changes in Future Releases
Changes to `hipDeviceProp_t`, `HIPMEMCPY_3D`, and `hipArray` structures (and related HIP APIs) are planned in the next major release. These changes may impact backward compatibility.
Refer to the Release Notes document in subsequent releases for more information.
ROCm Math and Communication Libraries
In this release, ROCm Math and Communication Libraries consist of the following enhancements and fixes:
New rocWMMA for Matrix Multiplication and Accumulation Operations Acceleration
This release introduces a new ROCm C++ library for accelerating mixed precision matrix multiplication and accumulation (MFMA) operations leveraging specialized GPU matrix cores. rocWMMA provides a C++ API to facilitate breaking down matrix multiply accumulate problems into fragments and using them in block-wise operations that are distributed in parallel across GPU wavefronts. The API is a header library of GPU device code, meaning matrix core acceleration may be compiled directly into your kernel device code. This can benefit from compiler optimization in the generation of kernel assembly and does not incur additional overhead costs of linking to external runtime libraries or having to launch separate kernels.
rocWMMA is released as a header library and includes test and sample projects to validate and illustrate example usages of the C++ API. GEMM matrix multiplication is used as primary validation given the heavy precedent for the library. However, the usage portfolio is growing significantly and demonstrates different ways rocWMMA may be consumed.
For more information, refer to
[Communication Libraries](../../../../docs/reference/gpu_libraries/communication.md).
#### OpenMP Enhancements in This Release
##### OMPT Target Support
The OpenMP runtime in ROCm implements a subset of the OMPT device APIs, as described in the OpenMP specification document. These are APIs that allow first-party tools to examine the profile and traces for kernels that execute on a device. A tool may register callbacks for data transfer and kernel dispatch entry points. A tool may use APIs to start and stop tracing for device-related activities such as data transfer and kernel dispatch timings and associated metadata. If device tracing is enabled, trace records for device activities are collected during program execution and returned to the tool using the APIs described in the specification.
Following is an example demonstrating how a tool would use the OMPT target APIs supported. The README in /opt/rocm/llvm/examples/tools/ompt outlines the steps to follow, and you can run the provided example as indicated below:
```sh
cd /opt/rocm/llvm/examples/tools/ompt/veccopy-ompt-target-tracing
make run
```
The file `veccopy-ompt-target-tracing.c` simulates how a tool would initiate device activity tracing. The file `callbacks.h` shows the callbacks that may be registered and implemented by the tool.
### Deprecations and Warnings
#### HIP Deprecation
The `hipcc` and `hipconfig` Perl scripts are deprecated. In a future release, compiled binaries will be available as `hipcc.bin` and `hipconfig.bin` as replacements for the Perl scripts.
> **Note**
>
> There will be a transition period where the Perl scripts and compiled binaries are available before the scripts are removed. There will be no functional difference between the Perl scripts and their compiled binary counterpart. No user action is required. Once these are available, users can optionally switch to `hipcc.bin` and `hipconfig.bin`. The `hipcc`/`hipconfig` soft link will be assimilated to point from `hipcc`/`hipconfig` to the respective compiled binaries as the default option.
##### Linux Filesystem Hierarchy Standard for ROCm
#### Linux Filesystem Hierarchy Standard for ROCm
ROCm packages have adopted the Linux foundation filesystem hierarchy standard in this release to ensure ROCm components follow open source conventions for Linux-based distributions. While moving to a new filesystem hierarchy, ROCm ensures backward compatibility with its 5.1 version or older filesystem hierarchy. See below for a detailed explanation of the new filesystem hierarchy and backward compatibility.
##### New Filesystem Hierarchy
The following is the new filesystem hierarchy:4
The following is the new filesystem hierarchy:
```text
/opt/rocm-<ver>
@@ -230,8 +410,7 @@ lrwxrwxrwx 1 root root 24 May 10 23:32 libamdhip64.so -> ../../lib/libamdhip64
##### CMake Config files
All CMake configuration files are available in the `/opt/rocm-xxx/lib/cmake/<component>` folder.
For backward compatibility, the old CMake locations (`/opt/rocm-xxx/<component>/lib/cmake`) consist of a soft link to the new CMake config.
All CMake configuration files are available in the `/opt/rocm-xxx/lib/cmake/<component>` folder. For backward compatibility, the old CMake locations (`/opt/rocm-xxx/<component>/lib/cmake`) consist of a soft link to the new CMake config.
Example:
@@ -241,64 +420,93 @@ total 0
lrwxrwxrwx 1 root root 42 May 10 23:32 hip-config.cmake -> ../../../../lib/cmake/hip/hip-config.cmake
```
#### ROCm Support For Code Object V3 Deprecated
#### Planned deprecation of hip-rocclr and hip-base packages
Support for Code Object v3 is deprecated and will be removed in a future release.
In the ROCm v5.2 release, hip-rocclr and hip-base packages (Debian and RPM) are planned for deprecation and will be removed in a future release. hip-runtime-amd and hip-dev(el) will replace these packages respectively. Users of hip-rocclr must install two packages, hip-runtime-amd and hip-dev, to get the same set of packages installed by hip-rocclr previously.
#### Comgr V3.0 Changes
Currently, both package names hip-rocclr (or) hip-runtime-amd and hip-base (or) hip-dev(el) are supported.
Deprecation of Integrated HIP Directed Tests
The following APIs and macros have been marked as deprecated. These are expected to be removed in a future ROCm release and coincides with the release of Comgr v3.0.
The integrated HIP directed tests, which are currently built by default, are deprecated in this release. The default building and execution support through CMake will be removed in future release.
##### API Changes
### Fixed Defects
- `amd_comgr_action_info_set_options()`
- `amd_comgr_action_info_get_options()`
| Fixed Defect | Fix |
|------------------------------------------------------------------------------|----------|
| ROCmInfo does not list gpus | Code fix |
| Hang observed while restoring cooperative group samples | Code fix |
| ROCM-SMI over SRIOV: Unsupported commands do not return proper error message | Code fix |
##### Actions and Data Types
### Known Issues
- `AMD_COMGR_ACTION_ADD_DEVICE_LIBRARIES`
- `AMD_COMGR_ACTION_COMPILE_SOURCE_TO_FATBIN`
This section consists of known issues in this release.
For replacements, see the `AMD_COMGR_ACTION_INFO_GET`/`SET_OPTION_LIST APIs`, and the `AMD_COMGR_ACTION_COMPILE_SOURCE_(WITH_DEVICE_LIBS)_TO_BC` macros.
#### Compiler Error on gfx1030 When Compiling at -O0
#### Deprecated Environment Variables
##### Issue
The following environment variables are removed in this ROCm release:
A compiler error occurs when using -O0 flag to compile code for gfx1030 that calls atomicAddNoRet, which is defined in amd_hip_atomic.h. The compiler generates an illegal instruction for gfx1030.
- `GPU_MAX_COMMAND_QUEUES`
- `GPU_MAX_WORKGROUP_SIZE_2D_X`
- `GPU_MAX_WORKGROUP_SIZE_2D_Y`
- `GPU_MAX_WORKGROUP_SIZE_3D_X`
- `GPU_MAX_WORKGROUP_SIZE_3D_Y`
- `GPU_MAX_WORKGROUP_SIZE_3D_Z`
- `GPU_BLIT_ENGINE_TYPE`
- `GPU_USE_SYNC_OBJECTS`
- `AMD_OCL_SC_LIB`
- `AMD_OCL_ENABLE_MESSAGE_BOX`
- `GPU_FORCE_64BIT_PTR`
- `GPU_FORCE_OCL20_32BIT`
- `GPU_RAW_TIMESTAMP`
- `GPU_SELECT_COMPUTE_RINGS_ID`
- `GPU_USE_SINGLE_SCRATCH`
- `GPU_ENABLE_LARGE_ALLOCATION`
- `HSA_LOCAL_MEMORY_ENABLE`
- `HSA_ENABLE_COARSE_GRAIN_SVM`
- `GPU_IFH_MODE`
- `OCL_SYSMEM_REQUIREMENT`
- `OCL_CODE_CACHE_ENABLE`
- `OCL_CODE_CACHE_RESET`
##### Workaround
### Known Issues In This Release
The workaround is not to use the -O0 flag for this case. For higher optimization levels, the compiler does not generate an invalid instruction.
The following are the known issues in this release.
#### System Freeze Observed During CUDA Memtest Checkpoint
#### `DISTRIBUTED`/`TEST_DISTRIBUTED_SPAWN` Fails
##### Issue
When user applications call `ncclCommAbort` to destruct communicators and then create new
communicators repeatedly, subsequent communicators may fail to initialize.
Checkpoint/Restore in Userspace (CRIU) requires 20 MB of VRAM approximately to checkpoint and restore. The CRIU process may freeze if the maximum amount of available VRAM is allocated to checkpoint applications.
This issue is under investigation and will be resolved in a future release.
##### Workaround
#### Failures In HIP Directed Tests
To use CRIU to checkpoint and restore your application, limit the amount of VRAM the application uses to ensure at least 20 MB is available.
Multiple HIP directed tests fail.
#### HPC test fails with the “HSA_STATUS_ERROR_MEMORY_FAULT” error
##### Issue
The compiler may incorrectly compile a program that uses the `__shfl_sync(mask, value, srcLane)` function when the "value" parameter to the function is undefined along some path to the function. For most functions, uninitialized inputs cause undefined behavior, but the definition for `__shfl_sync` should allow for undefined values.
##### Workaround
The workaround is to initialize the parameters to `__shfl_sync`.
> **Note**
>
> When the `-Wall` compilation flag is used, the compiler generates a warning indicating the variable is initialized along some path.
Example:
```cpp
double res = 0.0; // Initialize the input to __shfl_sync.
if (lane == 0) {
res = <some expression>
}
res = __shfl_sync(mask, res, 0);
```
#### Kernel produces incorrect result
##### Issue
In recent changes to Clang, insertion of the noundef attribute to all the function arguments has been enabled by default.
In the HIP kernel, variable var in shfl_sync may not be initialized, so LLVM IR treats it as undef.
So, the function argument that is potentially undef (because it is not intialized) has always been assumed to be noundef by LLVM IR (since Clang has inserted noundef attribute). This leads to ambiguous kernel execution.
##### Workaround
- Skip adding `noundef` attribute to functions tagged with convergent attribute. Refer to <https://reviews.llvm.org/D124158> for more information.
- Introduce shuffle attribute and add it to `__shfl` like APIs at hip headers. Clang can skip adding noundef attribute, if it finds that argument is tagged with shuffle attribute. Refer to <https://reviews.llvm.org/D125378> for more information.
- Introduce clang builtin for `__shfl` to identify it and skip adding `noundef` attribute.
- Introduce `__builtin_freeze` to use on the relevant arguments in library wrappers. The library/header need to insert freezes on the relevant inputs.
#### Issue with Applications Triggering Oversubscription
There is a known issue with applications that trigger oversubscription. A hardware hang occurs when ROCgdb is used on AMD Instinct™ MI50 and MI100 systems.
This issue is under investigation and will be fixed in a future release.

View File

@@ -14,6 +14,13 @@ shutil.copy2('../RELEASE.md','./release.md')
# Keep capitalization due to similar linking on GitHub's markdown preview.
shutil.copy2('../CHANGELOG.md','./CHANGELOG.md')
# configurations for PDF output by Read the Docs
project = "ROCm Documentation"
author = "Advanced Micro Devices, Inc."
copyright = "Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved."
version = "5.2.0"
release = "5.2.0"
setting_all_article_info = True
all_article_info_os = ["linux"]
all_article_info_author = ""
@@ -57,7 +64,7 @@ article_pages = [
external_toc_path = "./sphinx/_toc.yml"
docs_core = ROCmDocs("ROCm Documentation Home")
docs_core = ROCmDocs("ROCm 5.2.0 Documentation Home")
docs_core.setup()
external_projects_current_project = "rocm"

View File

@@ -13,23 +13,23 @@ following commands based on your distribution.
:sync: ubuntu
::::{tab-set}
:::{tab-item} Ubuntu 18.04
:sync: ubuntu-18.04
```shell
sudo apt update
wget https://repo.radeon.com/amdgpu-install/22.20/ubuntu/bionic/amdgpu-install_22.20.50200-1_all.deb
sudo apt install ./amdgpu-install_22.20.50200-1_all.deb
```
:::
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
sudo apt update
wget https://repo.radeon.com/amdgpu-install/5.5/ubuntu/focal/amdgpu-install_5.5.50500-1_all.deb
sudo apt install ./amdgpu-install_5.5.50500-1_all.deb
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
sudo apt update
wget https://repo.radeon.com/amdgpu-install/5.5/ubuntu/jammy/amdgpu-install_5.5.50500-1_all.deb
sudo apt install ./amdgpu-install_5.5.50500-1_all.deb
wget https://repo.radeon.com/amdgpu-install/22.20/ubuntu/focal/amdgpu-install_22.20.50200-1_all.deb
sudo apt install ./amdgpu-install_22.20.50200-1_all.deb
```
:::
@@ -39,30 +39,30 @@ sudo apt install ./amdgpu-install_5.5.50500-1_all.deb
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 7.9
:sync: RHEL-7.9
:sync: RHEL-7
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/22.20/rhel/7.9/amdgpu-install-22.20.50200-1.el7.noarch.rpm
```
:::
:::{tab-item} RHEL 8.5
:sync: RHEL-8.5
:sync: RHEL-8
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/22.20/rhel/8.5/amdgpu-install-22.20.50200-1.el8.noarch.rpm
```
:::
:::{tab-item} RHEL 8.6
:sync: RHEL-8.6
:sync: RHEL-8
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/5.5/rhel/8.6/amdgpu-install-5.5.50500-1.el8.noarch.rpm
```
:::
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
:sync: RHEL-8
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/5.5/rhel/8.7/amdgpu-install-5.5.50500-1.el8.noarch.rpm
```
:::
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
:sync: RHEL-9
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/5.5/rhel/9.1/amdgpu-install-5.5.50500-1.el9.noarch.rpm
sudo yum install https://repo.radeon.com/amdgpu-install/22.20/rhel/8.6/amdgpu-install-22.20.50200-1.el8.noarch.rpm
```
:::
@@ -76,7 +76,15 @@ sudo yum install https://repo.radeon.com/amdgpu-install/5.5/rhel/9.1/amdgpu-inst
:sync: SLES15-SP4
```shell
sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/5.5/sle/15.4/amdgpu-install-5.5.50500-1.noarch.rpm
sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/22.20/sle/15.4/amdgpu-install-22.20.50200-1.noarch.rpm
```
:::
:::{tab-item} Service Pack 3
:sync: SLES15-SP3
```shell
sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/22.20/sle/15.3/amdgpu-install-22.20.50200-1.noarch.rpm
```
:::
@@ -155,9 +163,9 @@ the installer script will install packages in the single-version layout.
For the multi-version ROCm installation you must use the installer script from
the latest release of ROCm that you wish to install.
**Example:** If you want to install ROCm releases 5.3.3 and 5.5
**Example:** If you want to install ROCm releases 5.1.3 and 5.2
simultaneously, you are required to download the installer from the latest ROCm
release v5.5.
release v5.2.
### Add Required Repositories
@@ -172,24 +180,24 @@ Run the following commands based on your distribution to add the repositories:
:sync: ubuntu
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
:::{tab-item} Ubuntu 18.04
:sync: ubuntu-18.04
```shell
for ver in 5.3.3 5.4.3; do
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver focal main" | sudo tee /etc/apt/sources.list.d/rocm.list
for ver in 5.1.3; do
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver bionic main" | sudo tee /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
for ver in 5.3.3 5.4.3; do
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver jammy main" | sudo tee /etc/apt/sources.list.d/rocm.list
for ver in 5.1.3; do
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver focal main" | sudo tee /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
@@ -202,15 +210,15 @@ sudo apt update
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 8
:sync: RHEL-8
:::{tab-item} RHEL 7
:sync: RHEL-7
```shell
for ver in 5.3.3 5.4.3; do
for ver in 5.1.3; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/rhel8/$ver/main
baseurl=https://repo.radeon.com/rocm/yum/$ver/main
enabled=1
priority=50
gpgcheck=1
@@ -221,15 +229,15 @@ sudo yum clean all
```
:::
:::{tab-item} RHEL 9
:sync: RHEL-9
:::{tab-item} RHEL 8
:sync: RHEL-8
```shell
for ver in 5.3.3 5.4.3; do
for ver in 5.1.3; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/rhel9/$ver/main
baseurl=https://repo.radeon.com/rocm/rhel8/$ver/main
enabled=1
priority=50
gpgcheck=1
@@ -245,8 +253,29 @@ sudo yum clean all
:::::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES15
::::{tab-set}
:::{tab-item} Service Pack 3
:sync: SLES15-SP3
```shell
for ver in 5.3.3 5.4.3; do
for ver in 5.1.3; do
sudo tee --append /etc/zypp/repos.d/rocm.repo <<EOF
name=rocm
baseurl=https://repo.radeon.com/rocm/$ver/sle/15.3/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
done
sudo zypper ref
```
:::
:::{tab-item} Service Pack 4
:sync: SLES15-SP4
```shell
for ver in 5.1.3; do
sudo tee --append /etc/zypp/repos.d/rocm.repo <<EOF
name=rocm
baseurl=https://repo.radeon.com/rocm/$ver/sle/15.4/main/x86_64
@@ -258,6 +287,9 @@ done
sudo zypper ref
```
:::
::::
:::::
::::::
@@ -272,12 +304,12 @@ sudo amdgpu-install --usecase=rocm --rocmrelease=<release-number-3>
```
Following are examples of ROCm multi-version installation. The kernel-mode
driver, associated with the ROCm release v5.5, will be installed as its latest
driver, associated with the ROCm release v5.3, will be installed as its latest
release in the list.
```none
sudo amdgpu-install --usecase=rocm --rocmrelease=5.3.3
sudo amdgpu-install --usecase=rocm --rocmrelease=5.5
sudo amdgpu-install --usecase=rocm --rocmrelease=5.1.3
sudo amdgpu-install --usecase=rocm --rocmrelease=5.2.0
```
## Additional options

View File

@@ -48,23 +48,23 @@ section.
To add the AMDGPU repository, follow these steps:
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
:::{tab-item} Ubuntu 18.04
:sync: ubuntu-18.04
```shell
# amdgpu repository for focal
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.5/ubuntu focal main' \
# amdgpu repository for bionic
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/22.20/ubuntu bionic main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
# amdgpu repository for jammy
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.5/ubuntu jammy main' \
# amdgpu repository for focal
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/22.20/ubuntu focal main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
@@ -86,13 +86,13 @@ sudo reboot
To add the ROCm repository, use the following steps:
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
:::{tab-item} Ubuntu 18.04
:sync: ubuntu-18.04
```shell
# ROCm repositories for focal
for ver in 5.3.3 5.4.3 5.5; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver focal main" \
# ROCm repositories for bionic
for ver in 5.1.3 5.2; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver bionic main" \
| sudo tee --append /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
@@ -101,13 +101,13 @@ sudo apt update
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
# ROCm repositories for jammy
for ver in 5.3.3 5.4.3 5.5; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver jammy main" \
# ROCm repositories for focal
for ver in 5.1.3 5.2; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver focal main" \
| sudo tee --append /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
@@ -136,7 +136,7 @@ For a comprehensive list of meta-packages, refer to
- Sample Multi-version installation
```shell
sudo apt install rocm-hip-sdk5.5 rocm-hip-sdk5.3.3
sudo apt install rocm-hip-sdk5.2.0 rocm-hip-sdk5.1.3
```
:::::
@@ -152,6 +152,44 @@ section.
```
::::{tab-set}
:::{tab-item} RHEL 7.9
:sync: RHEL-7.9
:sync: RHEL-7
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/22.20/rhel/7.9/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 8.5
:sync: RHEL-8.5
:sync: RHEL-8
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/22.20/rhel/8.5/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 8.6
:sync: RHEL-8.6
:sync: RHEL-8
@@ -160,7 +198,7 @@ section.
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.5/rhel/8.6/main/x86_64/
baseurl=https://repo.radeon.com/amdgpu/22.20/rhel/8.6/main/x86_64/
enabled=1
priority=50
gpgcheck=1
@@ -171,43 +209,6 @@ sudo yum clean all
:::
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
:sync: RHEL-8
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.5/rhel/8.7/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
:sync: RHEL-9
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.5/rhel/9.1/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
::::
Install the kernel mode driver and reboot the system using the following
@@ -224,15 +225,15 @@ sudo reboot
To add the ROCm repository, use the following steps, based on your distribution:
::::{tab-set}
:::{tab-item} RHEL 8
:sync: RHEL-8
:::{tab-item} RHEL 7
:sync: RHEL-7
```shell
for ver in 5.3.3 5.4.3 5.5; do
for ver in 5.2.1 5.2; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/rhel8/$ver/main
baseurl=https://repo.radeon.com/rocm/yum/$ver/main
enabled=1
priority=50
gpgcheck=1
@@ -243,15 +244,15 @@ sudo yum clean all
```
:::
:::{tab-item} RHEL 9
:sync: RHEL-9
:::{tab-item} RHEL 8
:sync: RHEL-8
```shell
for ver in 5.3.3 5.4.3 5.5; do
for ver in 5.1.3 5.2; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/rhel9/$ver/main
baseurl=https://repo.radeon.com/rocm/rhel8/$ver/main
enabled=1
priority=50
gpgcheck=1
@@ -282,7 +283,7 @@ For a comprehensive list of meta-packages, refer to
- Sample Multi-version installation
```shell
sudo yum install rocm-hip-sdk5.5 rocm-hip-sdk5.3.3
sudo yum install rocm-hip-sdk5.2.0 rocm-hip-sdk5.1.3
```
:::::
@@ -297,11 +298,15 @@ If you have a version of the kernel-mode driver installed, you may skip this
section.
```
::::{tab-set}
:::{tab-item} Service Pack 3
:sync: SLES15-SP3
```shell
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.5/sle/15.4/main/x86_64
baseurl=https://repo.radeon.com/amdgpu/22.20/sle/15.3/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
@@ -309,6 +314,25 @@ EOF
sudo zypper ref
```
:::
:::{tab-item} Service Pack 4
:sync: SLES15-SP4
```shell
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/22.20/sle/15.4/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo zypper ref
```
:::
::::
Install the kernel mode driver and reboot the system using the following
commands:
@@ -323,7 +347,7 @@ sudo reboot
To add the ROCm repository, use the following steps:
```shell
for ver in 5.3.3 5.4.3 5.5; do
for ver in 5.1.3 5.2; do
sudo tee --append /etc/zypp/repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
@@ -355,7 +379,7 @@ For a comprehensive list of meta-packages, refer to
- Sample Multi-version installation
```shell
sudo zypper --gpg-auto-import-keys install rocm-hip-sdk5.5 rocm-hip-sdk5.3.3
sudo zypper --gpg-auto-import-keys install rocm-hip-sdk5.2.0 rocm-hip-sdk5.1.3
```
:::::
@@ -392,7 +416,7 @@ but are generally useful. Verification of the install is advised.
2. Add binary paths to the `PATH` environment variable.
```shell
export PATH=$PATH:/opt/rocm-5.5/bin:/opt/rocm-5.5/opencl/bin
export PATH=$PATH:/opt/rocm-5.2.0/bin:/opt/rocm-5.2.0/opencl/bin
```
```{attention}

View File

@@ -21,23 +21,23 @@ repository to the new release.
:sync: ubuntu
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
:::{tab-item} Ubuntu 18.04
:sync: ubuntu-18.04
```shell
# amdgpu repository for focal
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.5/ubuntu focal main' \
# amdgpu repository for bionic
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/22.20.3/ubuntu bionic main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
# amdgpu repository for jammy
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.5/ubuntu jammy main' \
# amdgpu repository for focal
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/22.20/ubuntu focal main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
@@ -49,6 +49,42 @@ sudo apt update
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 7.9
:sync: RHEL-7.9
:sync: RHEL-7
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/22.20/rhel/7.9/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 8.5
:sync: RHEL-8.5
:sync: RHEL-8
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/22.20/rhel/8.5/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 8.6
:sync: RHEL-8.6
:sync: RHEL-8
@@ -57,7 +93,7 @@ sudo apt update
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.5/rhel/8.6/main/x86_64/
baseurl=https://repo.radeon.com/amdgpu/22.20/rhel/8.6/main/x86_64/
enabled=1
priority=50
gpgcheck=1
@@ -66,53 +102,20 @@ EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
:sync: RHEL-8
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.5/rhel/8.7/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
:sync: RHEL-9
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.5/rhel/9.1/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
::::
:::::
:::::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES15
::::{tab-set}
:::{tab-item} Service Pack 3
:sync: SLES15-SP3
```shell
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.5/sle/15.4/main/x86_64
baseurl=https://repo.radeon.com/amdgpu/22.20/sle/15.3/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
@@ -120,6 +123,25 @@ EOF
sudo zypper ref
```
:::
:::{tab-item} Service Pack 4
:sync: SLES15-SP4
```shell
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/22.20/sle/15.4/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo zypper ref
```
:::
::::
:::::
::::::
@@ -168,11 +190,11 @@ repository to the new release.
:sync: ubuntu
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
:::{tab-item} Ubuntu 18.04
:sync: ubuntu-18.04
```shell
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.5 focal main" \
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.2.3 bionic main" \
| sudo tee /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
| sudo tee /etc/apt/preferences.d/rocm-pin-600
@@ -180,11 +202,11 @@ sudo apt update
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.5 jammy main" \
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.2.3 focal main" \
| sudo tee /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
| sudo tee /etc/apt/preferences.d/rocm-pin-600
@@ -198,14 +220,14 @@ sudo apt update
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 8
:sync: RHEL-8
:::{tab-item} RHEL 7
:sync: RHEL-7
```shell
sudo tee /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-5.5]
name=ROCm5.5
baseurl=https://repo.radeon.com/rocm/rhel8/5.5/main
[ROCm-5.2]
name=ROCm5.2
baseurl=https://repo.radeon.com/rocm/yum/5.2/main
enabled=1
priority=50
gpgcheck=1
@@ -215,14 +237,14 @@ sudo yum clean all
```
:::
:::{tab-item} RHEL 9
:sync: RHEL-9
:::{tab-item} RHEL 8
:sync: RHEL-8
```shell
sudo tee /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-5.5]
name=ROCm5.5
baseurl=https://repo.radeon.com/rocm/rhel9/5.5/main
[ROCm-5.2]
name=ROCm5.2
baseurl=https://repo.radeon.com/rocm/rhel8/5.2/main
enabled=1
priority=50
gpgcheck=1
@@ -239,10 +261,10 @@ sudo yum clean all
```shell
sudo tee /etc/zypp/repos.d/rocm.repo <<EOF
[ROCm-5.5]
name=ROCm5.5
[ROCm-5.2]
name=ROCm5.2
name=rocm
baseurl=https://repo.radeon.com/rocm/zyp/5.5/main
baseurl=https://repo.radeon.com/rocm/zyp/5.2/main
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key

View File

@@ -10,17 +10,17 @@ AMD's library for high performance machine learning primitives.
:::
:::{grid-item-card} {doc}`Composable Kernel <composable-kernel:index>`
:::{grid-item-card} {doc}`Composable Kernel <composable_kernel:index>`
Composable Kernel: Performance Portable Programming Model for Machine Learning Tensor Operators
- {doc}`Documentation <composable-kernel:index>`
- {doc}`Documentation <composable_kernel:index>`
:::
:::{grid-item-card} {doc}`MIGraphX <migraphx:index>`
:::{grid-item-card} {doc}`MIGraphX <amdmigraphx:index>`
AMD MIGraphX is AMD's graph inference engine that accelerates machine learning model inference.
- {doc}`Documentation <migraphx:index>`
- {doc}`Documentation <amdmigraphx:index>`
:::

View File

@@ -42,8 +42,8 @@ Inter and intra-node communication is supported by the following projects:
Libraries related to AI.
- {doc}`MIOpen <miopen:index>`
- {doc}`Composable Kernel <composable-kernel:index>`
- {doc}`MIGraphX <migraphx:index>`
- {doc}`Composable Kernel <composable_kernel:index>`
- {doc}`MIGraphX <amdmigraphx:index>`
:::
@@ -80,7 +80,7 @@ Computer vision related projects.
:::{grid-item-card} [Validation Tools](validation_tools)
- {doc}`ROCm Validation Suite <rocm-validation-suite:index>`
- {doc}`ROCm Validation Suite <rocmvalidationsuite:index>`
- {doc}`TransferBench <transferbench:index>`
:::

View File

@@ -45,15 +45,6 @@ modern CPU and GPU platforms.
:::
:::{grid-item-card} {doc}`rocWMMA <rocwmma:index>`
`rocWMMA` provides an API to break down mixed precision matrix multiply-accumulate
(MMA) problems into fragments and distributes these over GPU wavefronts.
- {doc}`Documentation <rocwmma:index>`
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocWMMA/blob/develop/CHANGELOG.md)
:::
:::{grid-item-card} {doc}`rocSOLVER <rocsolver:index>`
`rocSOLVER` provides a subset of LAPACK (Linear Algebra Package) functionality on the ROCm platform.

View File

@@ -21,7 +21,6 @@ at compile-time of the hipLIB in question. For dynamic dispatch between vendor i
- {doc}`hipBLAS <hipblas:index>`
- {doc}`hipBLASLt <hipblaslt:index>`
- {doc}`rocALUTION <rocalution:index>`
- {doc}`rocWMMA <rocwmma:index>`
- {doc}`rocSOLVER <rocsolver:index>`
- {doc}`hipSOLVER <hipsolver:index>`
- {doc}`rocSPARSE <rocsparse:index>`

View File

@@ -3,10 +3,10 @@
:::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} {doc}`RVS <rocm-validation-suite:index>`
:::{grid-item-card} {doc}`RVS <rocmvalidationsuite:index>`
The ROCm Validation Suite is a system administrators and cluster manager's tool for detecting and troubleshooting common problems affecting AMD GPU(s) running in a high-performance computing environment, enabled using the ROCm software stack on a compatible platform.
- {doc}`Documentation <rocm-validation-suite:index>`
- {doc}`Documentation <rocmvalidationsuite:index>`
:::

View File

@@ -18,7 +18,6 @@ TensorFlow
| 5.2.x | 1.10, 1.11, 1.12 | 2.8, 2.9, 2.9 | |
| 5.3.x | 1.10.1, 1.11, 1.12.1, 1.13 | 2.8, 2.9, 2.10 | |
| 5.4.x | 1.10.1, 1.11, 1.12.1, 1.13 | 2.8, 2.9, 2.10, 2.11 | 2.5.4 |
| 5.5.x | 1.10.1, 1.11, 1.12.1, 1.13 | 2.10, 2.11 | 2.5.4 |
## Communication libraries
@@ -44,9 +43,6 @@ contemporary CUDA / NVIDIA HPC SDK alternatives.
| 5.0.2 | 1.14 | 21.9 |
| 5.1.3 | 1.15 | 22.1 |
| 5.2.x | 1.15 | 22.2, 22.3 |
| 5.3.x | 1.16 | 22.7 |
| 5.4.x | 1.16 | 22.9 |
| 5.5.x | 1.17 | 22.9 |
For the latest documentation of these libraries, refer to the
[associated documentation](../reference/gpu_libraries/c%2B%2B_primitives.md).

View File

@@ -8,11 +8,14 @@ AMD ROCm™ Platform supports the following Linux distributions.
| Distribution |Processor Architectures| Validated Kernel |
|--------------------|-----------------------|--------------------|
| RHEL 9.1 | x86-64 | 5.14 |
| RHEL 8.6 to 8.7 | x86-64 | 4.18 |
| CentOS 7.9 | x86-64 | 3.10 |
| RHEL 8.6 to 8.5 | x86-64 | 4.18 |
| RHEL 7.9 | x86-64 | 3.10 |
| SLES 15 SP4 | x86-64 | 5.14.21 |
| Ubuntu 20.04.5 LTS | x86-64 | 5.15 |
| Ubuntu 22.04.2 LTS | x86-64 | 5.19 |
| SLES 15 SP3 | x86-64 | 5.3.18 |
| Ubuntu 20.04.4 LTS | x86-64 | 5.13 |
| Ubuntu 20.04.3 LTS | x86-64 | 5.11 |
| Ubuntu 18.04.5 LTS | x86-64 | 5.4.0 |
## Virtualization Support

View File

@@ -121,4 +121,4 @@ following location: `/opt/rocm/share/doc/<component-name>/`
For example, you can fetch the licensing information of the `_amd_comgr_`
component (Code Object Manager) from the `amd_comgr` folder. A file named
`LICENSE.txt` contains the license details at:
`/opt/rocm-5.4.3/share/doc/amd_comgr/LICENSE.txt`
`/opt/rocm-5.2.0/share/doc/amd_comgr/LICENSE.txt`

View File

@@ -10,9 +10,3 @@ the compatibility combinations that are currently supported.
| 5.1.0 | 5.0.2 |
| 5.1.3 | 5.2.0, 5.3.0 |
| 5.2.0 | 5.0.2, 5.1.3 |
| 5.2.3 | 5.3.0, 5.4.0 |
| 5.3.0 | 5.1.3, 5.2.3 |
| 5.3.3 | 5.4.0, 5.5.0 |
| 5.4.0 | 5.2.3, 5.3.3 |
| 5.4.4 | 5.5.0 |
| 5.5.0 | 5.3.3, 5.4.3 |

View File

@@ -99,8 +99,6 @@ subtrees:
url: ${project:hipblaslt}
- title: rocALUTION
url: ${project:rocalution}
- title: rocWMMA
url: ${project:rocwmma}
- title: rocSOLVER
url: ${project:rocsolver}
- title: hipSOLVER
@@ -148,9 +146,9 @@ subtrees:
- title: MIOpen - Machine Intelligence
url: ${project:miopen}
- title: Composable Kernel
url: ${project:composable-kernel}
url: ${project:composable_kernel}
- title: MIGraphX - Graph Optimization
url: ${project:migraphx}
url: ${project:amdmigraphx}
- file: reference/computer_vision
subtrees:
- entries:
@@ -173,7 +171,7 @@ subtrees:
title: Validation Tools
subtrees:
- entries:
- url: ${project:rocm-validation-suite}
- url: ${project:rocmvalidationsuite}
title: RVS
- url: ${project:transferbench}
title: TransferBench

View File

@@ -1 +1,2 @@
rocm-docs-core==0.16.0
rocm-docs-core==1.8.0
sphinx-reredirects

View File

@@ -1,114 +1,106 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile docs/sphinx/requirements.in
# pip-compile requirements.in
#
accessible-pygments==0.0.3
accessible-pygments==0.0.5
# via pydata-sphinx-theme
alabaster==0.7.13
alabaster==1.0.0
# via sphinx
babel==2.11.0
babel==2.16.0
# via
# pydata-sphinx-theme
# sphinx
beautifulsoup4==4.11.2
beautifulsoup4==4.12.3
# via pydata-sphinx-theme
breathe==4.34.0
breathe==4.35.0
# via rocm-docs-core
certifi==2022.12.7
certifi==2024.8.30
# via requests
cffi==1.15.1
cffi==1.17.1
# via
# cryptography
# pynacl
charset-normalizer==2.1.1
charset-normalizer==3.3.2
# via requests
click==8.1.3
click==8.1.7
# via sphinx-external-toc
colorama==0.4.6
# via
# click
# sphinx
cryptography==40.0.2
cryptography==43.0.1
# via pyjwt
deprecated==1.2.13
deprecated==1.2.14
# via pygithub
docutils==0.19
docutils==0.21.2
# via
# breathe
# myst-parser
# pydata-sphinx-theme
# sphinx
fastjsonschema==2.16.3
fastjsonschema==2.20.0
# via rocm-docs-core
gitdb==4.0.10
gitdb==4.0.11
# via gitpython
gitpython==3.1.30
gitpython==3.1.43
# via rocm-docs-core
idna==3.4
idna==3.10
# via requests
imagesize==1.4.1
# via sphinx
jinja2==3.1.2
jinja2==3.1.4
# via
# myst-parser
# sphinx
linkify-it-py==1.0.3
# via myst-parser
markdown-it-py==2.2.0
markdown-it-py==3.0.0
# via
# mdit-py-plugins
# myst-parser
markupsafe==2.1.2
markupsafe==2.1.5
# via jinja2
mdit-py-plugins==0.3.4
mdit-py-plugins==0.4.2
# via myst-parser
mdurl==0.1.2
# via markdown-it-py
myst-parser[linkify]==1.0.0
myst-parser==4.0.0
# via rocm-docs-core
packaging==23.0
packaging==24.1
# via
# pydata-sphinx-theme
# sphinx
pycparser==2.21
pycparser==2.22
# via cffi
pydata-sphinx-theme==0.13.3
pydata-sphinx-theme==0.15.4
# via
# rocm-docs-core
# sphinx-book-theme
pygithub==1.58.1
pygithub==2.4.0
# via rocm-docs-core
pygments==2.14.0
pygments==2.18.0
# via
# accessible-pygments
# pydata-sphinx-theme
# sphinx
pyjwt[crypto]==2.6.0
pyjwt[crypto]==2.9.0
# via pygithub
pynacl==1.5.0
# via pygithub
pytz==2022.7.1
# via babel
pyyaml==6.0
pyyaml==6.0.2
# via
# myst-parser
# rocm-docs-core
# sphinx-external-toc
requests==2.28.1
requests==2.32.3
# via
# pygithub
# sphinx
rocm-docs-core==0.16.0
# via -r docs/sphinx/requirements.in
smmap==5.0.0
rocm-docs-core==1.8.0
# via -r requirements.in
smmap==5.0.1
# via gitdb
snowballstemmer==2.2.0
# via sphinx
soupsieve==2.4
soupsieve==2.6
# via beautifulsoup4
sphinx==5.3.0
sphinx==8.0.2
# via
# breathe
# myst-parser
@@ -119,33 +111,40 @@ sphinx==5.3.0
# sphinx-design
# sphinx-external-toc
# sphinx-notfound-page
sphinx-book-theme==1.0.1
# sphinx-reredirects
sphinx-book-theme==1.1.3
# via rocm-docs-core
sphinx-copybutton==0.5.1
sphinx-copybutton==0.5.2
# via rocm-docs-core
sphinx-design==0.4.1
sphinx-design==0.6.1
# via rocm-docs-core
sphinx-external-toc==0.3.1
sphinx-external-toc==1.0.1
# via rocm-docs-core
sphinx-notfound-page==0.8.3
sphinx-notfound-page==1.0.4
# via rocm-docs-core
sphinxcontrib-applehelp==1.0.4
sphinx-reredirects==0.1.5
# via -r requirements.in
sphinxcontrib-applehelp==2.0.0
# via sphinx
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-devhelp==2.0.0
# via sphinx
sphinxcontrib-htmlhelp==2.0.1
sphinxcontrib-htmlhelp==2.1.0
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-qthelp==2.0.0
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
sphinxcontrib-serializinghtml==2.0.0
# via sphinx
typing-extensions==4.5.0
# via pydata-sphinx-theme
uc-micro-py==1.0.1
# via linkify-it-py
urllib3==1.26.13
# via requests
wrapt==1.14.1
tomli==2.0.1
# via sphinx
typing-extensions==4.12.2
# via
# pydata-sphinx-theme
# pygithub
urllib3==2.2.3
# via
# pygithub
# requests
wrapt==1.16.0
# via deprecated