mirror of
https://github.com/ROCm/ROCm.git
synced 2026-04-05 03:01:17 -04:00
link fixes & consistency (#2761)
This commit is contained in:
194
CHANGELOG.md
194
CHANGELOG.md
@@ -242,7 +242,9 @@ HIP 6.0.0 for ROCm 6.0.0
|
||||
* `char luid[8];`
|
||||
* `unsigned int luidDeviceNodeMask;`
|
||||
|
||||
Note: HIP supports LUID only on Windows OS.
|
||||
:::{note}
|
||||
HIP supports LUID only on Windows OS.
|
||||
:::
|
||||
|
||||
##### Changes
|
||||
|
||||
@@ -279,7 +281,10 @@ Note: HIP supports LUID only on Windows OS.
|
||||
* HIP complex vector type multiplication and division operations. On AMD platform, some duplicated complex operators are removed to avoid compilation failures. In HIP, `hipFloatComplex` and `hipDoubleComplex` are defined as complex data types: `typedef float2 hipFloatComplex; typedef double2 hipDoubleComplex;` Any application that uses complex multiplication and division operations needs to replace '*' and '/' operators with the following:
|
||||
* `hipCmulf()` and `hipCdivf()` for `hipFloatComplex`
|
||||
* `hipCmul()` and `hipCdiv()` for `hipDoubleComplex`
|
||||
Note: These complex operations are equivalent to corresponding types/functions on NVIDIA platform.
|
||||
|
||||
:::{note}
|
||||
These complex operations are equivalent to corresponding types/functions on NVIDIA platform.
|
||||
:::
|
||||
|
||||
##### Removals
|
||||
|
||||
@@ -1010,11 +1015,11 @@ New features include:
|
||||
Note that ROCm 5.7.0 is EOS for MI50. 5.7 versions of ROCm are the last major releases in the ROCm 5
|
||||
series. This release is Linux-only.
|
||||
|
||||
```important
|
||||
:::{important}
|
||||
The next major ROCm release (ROCm 6.0) will not be backward compatible with the ROCm 5 series.
|
||||
Changes will include: splitting LLVM packages into more manageable sizes, changes to the HIP runtime
|
||||
API, splitting rocRAND and hipRAND into separate packages, and reorganizing our file structure.
|
||||
```
|
||||
:::
|
||||
|
||||
#### AMD Instinct™ MI50 end-of-support notice
|
||||
|
||||
@@ -1025,8 +1030,8 @@ As outlined in [5.6.0](https://rocm.docs.amd.com/en/docs-5.6.0/release.html), RO
|
||||
final release for gfx906 GPUs to be in a fully supported state.
|
||||
|
||||
* ROCm 6.0 release will show MI50s as "under maintenance" for
|
||||
[Linux](../about/compatibility/linux-support.md) and
|
||||
[Windows](../about/compatibility/windows-support.md)
|
||||
{doc}`Linux<rocm-install-on-linux:reference/system-requirements>` and
|
||||
{doc}`Windows<rocm-install-on-windows:reference/system-requirements>`
|
||||
|
||||
* No new features and performance optimizations will be supported for the gfx906 GPUs beyond this
|
||||
major release (ROCm 5.7).
|
||||
@@ -1060,8 +1065,10 @@ environments. Users may see the following error from runtime (with AMD_LOG_LEVEL
|
||||
The ROCm 5.7 release introduces an alternative to the current hostcall-based implementation that
|
||||
leverages an older OpenCL-based printf scheme, which does not rely on hostcalls/PCIe atomics.
|
||||
|
||||
Note: This option is less robust than hostcall-based implementation and is intended to be a
|
||||
:::{note}
|
||||
This option is less robust than hostcall-based implementation and is intended to be a
|
||||
workaround when hostcalls do not work.
|
||||
:::
|
||||
|
||||
The printf variant is now controlled via a new compiler option -mprintf-kind=<value>. This is
|
||||
supported only for HIP programs and takes the following values,
|
||||
@@ -1094,11 +1101,11 @@ the GPU in heterogeneous applications. Ideally, developers should treat heteroge
|
||||
OpenMP applications like pure CPU applications. However, this simplicity has not been achieved yet.
|
||||
|
||||
Refer to the documentation on LLVM ASan with the GPU at
|
||||
[LLVM AddressSanitizer User Guide](../conceptual/using_gpu_sanitizer.md).
|
||||
[LLVM AddressSanitizer User Guide](../conceptual/using-gpu-sanitizer.md).
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
The beta release of LLVM ASan for ROCm is currently tested and validated on Ubuntu 20.04.
|
||||
```
|
||||
:::
|
||||
|
||||
#### Defect fixes
|
||||
|
||||
@@ -2089,9 +2096,9 @@ The following hipcc changes are implemented in this release:
|
||||
|
||||
##### New HIP APIs in this release
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
This is a pre-official version (beta) release of the new APIs and may contain unresolved issues.
|
||||
```
|
||||
:::
|
||||
|
||||
###### Memory management HIP APIs
|
||||
|
||||
@@ -2188,13 +2195,13 @@ This release consists of the following OpenMP enhancements:
|
||||
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
|
||||
:::{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 file system hierarchy standard for ROCm
|
||||
|
||||
@@ -2234,10 +2241,10 @@ The following is the new file system hierarchy:4
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -2246,9 +2253,9 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> ROCm will continue supporting backward compatibility until the next major release.
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
:::
|
||||
|
||||
##### Wrapper header files
|
||||
|
||||
@@ -2825,13 +2832,13 @@ Tensile 4.36.0 for ROCm 5.5.0
|
||||
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
|
||||
:::{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 file system hierarchy standard for ROCm
|
||||
|
||||
@@ -2875,10 +2882,10 @@ The following is the new file system hierarchy:4
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -2887,9 +2894,9 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Wrapper header files
|
||||
|
||||
@@ -2999,13 +3006,13 @@ rocFFT 1.0.21 for ROCm 5.4.3
|
||||
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
|
||||
:::{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.
|
||||
```
|
||||
:::
|
||||
|
||||
#### `hipcc` options deprecation
|
||||
|
||||
@@ -3067,9 +3074,9 @@ The ROCm v5.4.1 release consists of the following new HIP API:
|
||||
|
||||
The following new HIP API is introduced in the ROCm v5.4.1 release.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> This is a pre-official version (beta) release of the new APIs.
|
||||
:::{note}
|
||||
This is a pre-official version (beta) release of the new APIs.
|
||||
:::
|
||||
|
||||
```cpp
|
||||
hipError_t hipLaunchHostFunc(hipStream_t stream, hipHostFn_t fn, void* userData);
|
||||
@@ -3093,13 +3100,13 @@ For more information, refer to the HIP API documentation at
|
||||
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
|
||||
:::{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.
|
||||
```
|
||||
:::
|
||||
|
||||
### IFWI fixes
|
||||
|
||||
@@ -3194,9 +3201,9 @@ int wallClkRate = 0; //in kilohertz
|
||||
|
||||
Where hipDeviceAttributeWallClockRate is a device attribute.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
The wall clock frequency is a per-device attribute.
|
||||
```
|
||||
:::
|
||||
|
||||
##### New registry added for GPU_MAX_HW_QUEUES
|
||||
|
||||
@@ -3207,10 +3214,10 @@ The environment variable controls how many independent hardware queues HIP runti
|
||||
per process, per device. If the application allocates more HIP streams than this number, then the HIP
|
||||
runtime reuses the same hardware queues for the new streams in a round-robin manner.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
This maximum number does not apply to hardware queues created for CU-masked HIP streams or
|
||||
cooperative queues for HIP Cooperative Groups (there is only one queue per device).
|
||||
```
|
||||
:::
|
||||
|
||||
For more details, refer to the HIP Programming Guide.
|
||||
|
||||
@@ -3218,9 +3225,9 @@ For more details, refer to the HIP Programming Guide.
|
||||
|
||||
The following new HIP APIs are available in the ROCm v5.4 release.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> This is a pre-official version (beta) release of the new APIs.
|
||||
:::{note}
|
||||
This is a pre-official version (beta) release of the new APIs.
|
||||
:::
|
||||
|
||||
##### Error handling
|
||||
|
||||
@@ -3266,13 +3273,13 @@ This release consists of the following OpenMP enhancements:
|
||||
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
|
||||
:::{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 file system hierarchy standard for ROCm
|
||||
|
||||
@@ -3316,10 +3323,10 @@ The following is the new file system hierarchy:
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -3328,9 +3335,9 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Wrapper header files
|
||||
|
||||
@@ -3398,7 +3405,7 @@ determine coherent support.
|
||||
`hipHostMalloc()` allocates memory with fine-grained access by default when the environment variable
|
||||
`HIP_HOST_COHERENT=1` is used.
|
||||
|
||||
For more information, refer to {doc}`hip:.doxygen/docBin/html/index`.
|
||||
For more information, refer to {doc}`hip:doxygen/html/index`.
|
||||
|
||||
|
||||
#### SoftHang with `hipStreamWithCUMask` test on AMD Instinct™
|
||||
@@ -3864,13 +3871,13 @@ This issue is currently under investigation and will be resolved in a future rel
|
||||
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
|
||||
:::{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 file system hierarchy standard for ROCm
|
||||
|
||||
@@ -3914,10 +3921,10 @@ The following is the new file system hierarchy:
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -3926,9 +3933,9 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Wrapper header files
|
||||
|
||||
@@ -4790,7 +4797,7 @@ The new APIs for virtual memory management are as follows:
|
||||
```
|
||||
|
||||
For more information, refer to the HIP API documentation at
|
||||
{doc}`hip:.doxygen/docBin/html/modules`.
|
||||
{doc}`hip:doxygen/html/modules`.
|
||||
|
||||
##### Planned HIP changes in future releases
|
||||
|
||||
@@ -4890,10 +4897,10 @@ The following is the new file system hierarchy:
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -4902,9 +4909,10 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Wrapper header files
|
||||
|
||||
Wrapper header files are placed in the old location (`/opt/rocm-xxx/<component>/include`) with a
|
||||
@@ -5017,10 +5025,10 @@ allow for undefined values.
|
||||
|
||||
The workaround is to initialize the parameters to `__shfl_sync`.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
When the `-Wall` compilation flag is used, the compiler generates a warning indicating the variable is
|
||||
initialized along some path.
|
||||
```
|
||||
:::
|
||||
|
||||
Example:
|
||||
|
||||
@@ -5437,11 +5445,11 @@ The accuracy is guaranteed if the compiler options `-g -O0` are used and apply o
|
||||
This enhancement enables ROCDebugger users to interact with the HIP source-level variables and
|
||||
function arguments.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
The newly-suggested compiler -g option must be used instead of the previously-suggested `-ggdb`
|
||||
option. Although the effect of these two options is currently equivalent, this is not guaranteed for the
|
||||
future, as changes might be made by the upstream LLVM community.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Machine interface lanes support
|
||||
|
||||
@@ -5514,16 +5522,16 @@ this ROCm release, CRIU is enhanced with a new plugin to support AMD GPUs, which
|
||||
For more information, refer to
|
||||
<https://github.com/checkpoint-restore/criu/tree/criu-dev/plugins/amdgpu>
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
The CRIU plugin (amdgpu_plugin) is merged upstream with the CRIU repository. The KFD kernel
|
||||
patches are also available upstream with the amd-staging-drm-next branch (public) and the ROCm 5.1
|
||||
release branch.
|
||||
```
|
||||
:::
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
This is a Beta release of the Checkpoint and Restore functionality, and some features are not available
|
||||
in this release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to the following websites:
|
||||
|
||||
@@ -5584,7 +5592,9 @@ debug information.
|
||||
**Issue:** Random memory access fault issues are observed while running Math libraries unit tests.
|
||||
This issue is encountered in ROCm v5.0, ROCm v5.0.1, and ROCm v5.0.2.
|
||||
|
||||
Note, the faults only occur in the SRIOV environment.
|
||||
:::{note}
|
||||
The faults only occur in the SRIOV environment.
|
||||
:::
|
||||
|
||||
**Workaround:** Use SDMA to update the page table. The Guest set up steps are as follows:
|
||||
|
||||
@@ -5605,7 +5615,7 @@ Where expectation is 0.
|
||||
#### CU masking causes application to freeze
|
||||
|
||||
Using CU Masking results in an application freeze or runs exceptionally slowly. This issue is noticed
|
||||
only in the GFX10 suite of products. Note, this issue is observed only in GFX10 suite of products.
|
||||
only in the GFX10 suite of products. Note that this issue is observed only in GFX10 suite of products.
|
||||
|
||||
This issue is under active investigation at this time.
|
||||
|
||||
@@ -5994,12 +6004,12 @@ The resolution includes a compiler change, which emits the required metadata by
|
||||
compiler can prove that the hostcall facility is not required by the kernel. This ensures that the
|
||||
“assert()” call never fails.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
This fix may lead to breakage in some OpenMP offload use cases, which use print inside a target region
|
||||
and result in an abort in device code. The issue will be fixed in a future release.
|
||||
```
|
||||
:::
|
||||
|
||||
The compatibility matrix in the [Deep-learning guide](./how-to/deep-learning-rocm.md) is updated for
|
||||
The compatibility matrix in the [Deep-learning guide](../how-to/deep-learning-rocm.md) is updated for
|
||||
ROCm v5.0.2.
|
||||
|
||||
### Library changes in ROCM 5.0.2
|
||||
@@ -6086,27 +6096,27 @@ Refer to the HIP Installation Guide v5.0 for more details.
|
||||
|
||||
Managed memory, including the `__managed__` keyword, is now supported in the HIP combined host/device compilation. Through unified memory allocation, managed memory allows data to be shared and accessible to both the CPU and GPU using a single pointer. The allocation is managed by the AMD GPU driver using the Linux Heterogeneous Memory Management (HMM) mechanism. The user can call managed memory API hipMallocManaged to allocate a large chunk of HMM memory, execute kernels on a device, and fetch data between the host and device as needed.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> In a HIP application, it is recommended to do a capability check before calling the managed memory APIs. For example,
|
||||
>
|
||||
> ```cpp
|
||||
> int managed_memory = 0;
|
||||
> HIPCHECK(hipDeviceGetAttribute(&managed_memory,
|
||||
> hipDeviceAttributeManagedMemory,p_gpuDevice));
|
||||
> if (!managed_memory ) {
|
||||
> printf ("info: managed memory access not supported on the device %d\n Skipped\n", p_gpuDevice);
|
||||
> }
|
||||
> else {
|
||||
> HIPCHECK(hipSetDevice(p_gpuDevice));
|
||||
> HIPCHECK(hipMallocManaged(&Hmm, N * sizeof(T)));
|
||||
> . . .
|
||||
> }
|
||||
> ```
|
||||
:::{note}
|
||||
In a HIP application, it is recommended to do a capability check before calling the managed memory APIs. For example,
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> The managed memory capability check may not be necessary; however, if HMM is not supported, managed malloc will fall back to using system memory. Other managed memory API calls will, then, have
|
||||
```cpp
|
||||
int managed_memory = 0;
|
||||
HIPCHECK(hipDeviceGetAttribute(&managed_memory,
|
||||
hipDeviceAttributeManagedMemory,p_gpuDevice));
|
||||
if (!managed_memory ) {
|
||||
printf ("info: managed memory access not supported on the device %d\n Skipped\n", p_gpuDevice);
|
||||
}
|
||||
else {
|
||||
HIPCHECK(hipSetDevice(p_gpuDevice));
|
||||
HIPCHECK(hipMallocManaged(&Hmm, N * sizeof(T)));
|
||||
. . .
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
:::{note}
|
||||
The managed memory capability check may not be necessary; however, if HMM is not supported, managed malloc will fall back to using system memory. Other managed memory API calls will, then, have
|
||||
:::
|
||||
|
||||
Refer to the HIP API documentation for more details on managed memory APIs.
|
||||
|
||||
@@ -6465,7 +6475,9 @@ During the deprecation, two macros `_HIP_ENABLE_COMPLEX_OPERATORS` and
|
||||
`_HIP_ENABLE_VECTOR_OPERATORS` are provided to allow users to conditionally enable arithmetic
|
||||
operators of HIP complex or vector types.
|
||||
|
||||
Note, the two macros are mutually exclusive and, by default, set to Off.
|
||||
:::{note}
|
||||
The two macros are mutually exclusive and, by default, set to Off.
|
||||
:::
|
||||
|
||||
The arithmetic operators of HIP complex and vector types will be removed in a future release.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
AMD values and encourages contributions to our code and documentation. If you want to contribute
|
||||
to our ROCm repositories, first review the following guidance. For documentation-specific information,
|
||||
see [Contributing to ROCm docs](./docs/contribute/contribute-docs.md).
|
||||
see [Contributing to ROCm docs](./contribute-docs.md).
|
||||
|
||||
ROCm is a software stack made up of a collection of drivers, development tools, and APIs that enable
|
||||
GPU programming from low-level kernel to end-user applications. Because some of our components
|
||||
@@ -67,13 +67,13 @@ project-specific steps. Refer to each repository's PR process for any additional
|
||||
during our release cycle, as coordinated by the maintainer
|
||||
* We'll inform you once your change is committed
|
||||
|
||||
```important
|
||||
:::{important}
|
||||
By creating a PR, you agree to allow your contribution to be licensed under the
|
||||
terms of the LICENSE.txt file in the corresponding repository. Different repositories may use different
|
||||
licenses.
|
||||
```
|
||||
:::
|
||||
|
||||
You can look up each license on the [ROCm licensing](./docs/about/licensing.md) page.
|
||||
You can look up each license on the [ROCm licensing](../about/licensing.md) page.
|
||||
|
||||
### New feature development
|
||||
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="description" content="Linux GPU and OS support">
|
||||
<meta name="keywords" content="Linux support, ROCm distributions">
|
||||
</head>
|
||||
|
||||
# GPU and OS support (Linux)
|
||||
|
||||
(linux-support)=
|
||||
|
||||
## Supported Linux distributions
|
||||
|
||||
AMD ROCm™ Platform supports the following Linux distributions.
|
||||
|
||||
::::{tab-set}
|
||||
|
||||
:::{tab-item} Supported
|
||||
|
||||
| Distribution | Processor Architectures | Validated Kernel | Support |
|
||||
| :----------- | :---------------------: | :--------------: | ------: |
|
||||
| RHEL 9.2 | x86-64 | 5.14 (5.14.0-284.11.1.el9_2.x86_64) | ✅ |
|
||||
| RHEL 9.1 | x86-64 | 5.14.0-284.11.1.el9_2.x86_64 | ✅ |
|
||||
| RHEL 8.8 | x86-64 | 4.18.0-477.el8.x86_64 | ✅ |
|
||||
| RHEL 8.7 | x86-64 | 4.18.0-425.10.1.el8_7.x86_64 | ✅ |
|
||||
| SLES 15 SP5 | x86-64 | 5.14.21-150500.53-default | ✅ |
|
||||
| SLES 15 SP4 | x86-64 | 5.14.21-150400.24.63-default | ✅ |
|
||||
| Ubuntu 22.04.2 | x86-64 | 5.19.0-45-generic | ✅ |
|
||||
| Ubuntu 20.04.5 | x86-64 | 5.15.0-75-generic | ✅ |
|
||||
|
||||
:::{versionadded} 5.6
|
||||
|
||||
* RHEL 8.8 and 9.2 support is added.
|
||||
* SLES 15 SP5 support is added
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} Unsupported
|
||||
|
||||
| Distribution | Processor Architectures | Validated Kernel | Support |
|
||||
| :----------- | :---------------------: | :--------------: | ------: |
|
||||
| RHEL 9.0 | x86-64 | 5.14 | ❌ |
|
||||
| RHEL 8.6 | x86-64 | 5.14 | ❌ |
|
||||
| SLES 15 SP3 | x86-64 | 5.3 | ❌ |
|
||||
| Ubuntu 22.04.0 | x86-64 | 5.15 LTS, 5.17 OEM | ❌ |
|
||||
| Ubuntu 20.04.4 | x86-64 | 5.13 HWE, 5.13 OEM | ❌ |
|
||||
| Ubuntu 22.04.1 | x86-64 | 5.15 LTS | ❌ |
|
||||
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
✅: **Supported** - AMD performs full testing of all ROCm components on distro
|
||||
GA image.
|
||||
❌: **Unsupported** - AMD no longer performs builds and testing on these
|
||||
previously supported distro GA images.
|
||||
|
||||
## Virtualization support
|
||||
|
||||
ROCm supports virtualization for select GPUs only as shown below.
|
||||
|
||||
| Hypervisor | Version | GPU | Validated Guest OS (validated kernel) |
|
||||
|----------------|----------|-------|----------------------------------------------------------------------------------|
|
||||
| VMWare | ESXi 8 | MI250 | Ubuntu 20.04 (`5.15.0-56-generic`) |
|
||||
| VMWare | ESXi 8 | MI210 | Ubuntu 20.04 (`5.15.0-56-generic`), SLES 15 SP4 (`5.14.21-150400.24.18-default`) |
|
||||
| VMWare | ESXi 7 | MI210 | Ubuntu 20.04 (`5.15.0-56-generic`), SLES 15 SP4 (`5.14.21-150400.24.18-default`) |
|
||||
|
||||
## Linux-supported GPUs
|
||||
|
||||
The table below shows supported GPUs for Instinct™, Radeon Pro™ and Radeon™
|
||||
GPUs. Please click the tabs below to switch between GPU product lines. If a GPU
|
||||
is not listed on this table, the GPU is not officially supported by AMD.
|
||||
|
||||
:::::{tab-set}
|
||||
|
||||
::::{tab-item} AMD Instinct™
|
||||
:sync: instinct
|
||||
|
||||
| Product Name | Architecture | [LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) |Support |
|
||||
|:------------:|:------------:|:--------------------------------------------------------------------:|:-------:|
|
||||
| AMD Instinct™ MI250X | CDNA2 | gfx90a | ✅ |
|
||||
| AMD Instinct™ MI250 | CDNA2 | gfx90a | ✅ |
|
||||
| AMD Instinct™ MI210 | CDNA2 | gfx90a | ✅ |
|
||||
| AMD Instinct™ MI100 | CDNA | gfx908 | ✅ |
|
||||
| AMD Instinct™ MI50 | GCN5.1 | gfx906 | ✅ |
|
||||
| AMD Instinct™ MI25 | GCN5.0 | gfx900 | ❌ |
|
||||
|
||||
::::
|
||||
|
||||
::::{tab-item} Radeon Pro™
|
||||
:sync: radeonpro
|
||||
|
||||
| Name | Architecture |[LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Support|
|
||||
|:----:|:------------:|:--------------------------------------------------------------------:|:-------:|
|
||||
| AMD Radeon™ Pro W7900 | RDNA3 | gfx1100 | ✅ (Ubuntu 22.04 only)|
|
||||
| AMD Radeon™ Pro W6800 | RDNA2 | gfx1030 | ✅ |
|
||||
| AMD Radeon™ Pro V620 | RDNA2 | gfx1030 | ✅ |
|
||||
| AMD Radeon™ Pro VII | GCN5.1 | gfx906 | ✅ |
|
||||
::::
|
||||
|
||||
::::{tab-item} Radeon™
|
||||
:sync: radeonpro
|
||||
|
||||
| Name | Architecture |[LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Support|
|
||||
|:----:|:---------------:|:--------------------------------------------------------------------:|:-------:|
|
||||
| AMD Radeon™ RX 7900 XTX | RDNA3 | gfx1100 | ✅ (Ubuntu 22.04 only)|
|
||||
| AMD Radeon™ VII | GCN5.1 | gfx906 | ✅ |
|
||||
|
||||
::::
|
||||
:::::
|
||||
|
||||
### Support status
|
||||
|
||||
✅: **Supported** - AMD enables these GPUs in our software distributions for
|
||||
the corresponding ROCm product.
|
||||
⚠️: **Deprecated** - Support will be removed in a future release.
|
||||
❌: **Unsupported** - This configuration is not enabled in our software
|
||||
distributions.
|
||||
|
||||
## CPU support
|
||||
|
||||
ROCm requires CPUs that support PCIe™ atomics. Modern CPUs after the release of
|
||||
1st generation AMD Zen CPU and Intel™ Haswell support PCIe atomics.
|
||||
@@ -15,7 +15,8 @@ Along with host APIs, the OpenMP compilers support offloading code and data onto
|
||||
GPU devices. This document briefly describes the installation location of the
|
||||
OpenMP toolchain, example usage of device offloading, and usage of `rocprof`
|
||||
with OpenMP applications. The GPUs supported are the same as those supported by
|
||||
this ROCm release. See the list of supported GPUs for [Linux](../../about/compatibility/linux-support.md) and [Windows](../../about/compatibility/windows-support.md).
|
||||
this ROCm release. See the list of supported GPUs for {doc}`Linux<rocm-install-on-linux:reference/system-requirements>` and
|
||||
{doc}`Windows<rocm-install-on-windows:reference/system-requirements>`.
|
||||
|
||||
The ROCm OpenMP compiler is implemented using LLVM compiler technology.
|
||||
The following image illustrates the internal steps taken to translate a user’s application into an executable that can offload computation to the AMDGPU. The compilation is a two-pass process. Pass 1 compiles the application to generate the CPU code and Pass 2 links the CPU code to the AMDGPU device code.
|
||||
@@ -47,10 +48,10 @@ cd $ROCM_PATH/share/openmp-extras/examples/openmp/veccopy
|
||||
sudo make run
|
||||
```
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
`sudo` is required since we are building inside the `/opt` directory.
|
||||
Alternatively, copy the files to your home directory first.
|
||||
```
|
||||
:::
|
||||
|
||||
The above invocation of Make compiles and runs the program. Note the options
|
||||
that are required for target offload from an OpenMP program:
|
||||
@@ -59,13 +60,15 @@ that are required for target offload from an OpenMP program:
|
||||
-fopenmp --offload-arch=<gpu-arch>
|
||||
```
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
The compiler also accepts the alternative offloading notation:
|
||||
|
||||
```bash
|
||||
-fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=<gpu-arch>
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
Obtain the value of `gpu-arch` by running the following command:
|
||||
|
||||
```bash
|
||||
@@ -327,10 +330,10 @@ double a = 0.0;
|
||||
a = a + 1.0;
|
||||
```
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
`AMD_unsafe_fp_atomics` is an alias for `AMD_fast_fp_atomics`, and
|
||||
`AMD_safe_fp_atomics` is implemented with a compare-and-swap loop.
|
||||
```
|
||||
:::
|
||||
|
||||
To disable the generation of fast floating-point atomic instructions at the file
|
||||
level, build using the option `-msafe-fp-atomics` or use a hint clause on a
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="description" content="Windows GPU and OS support">
|
||||
<meta name="keywords" content="Windows support, ROCm distributions">
|
||||
</head>
|
||||
|
||||
# GPU and OS support (Windows)
|
||||
|
||||
(windows-support)=
|
||||
|
||||
## Supported SKUs
|
||||
|
||||
AMD HIP SDK supports the following Windows variants.
|
||||
|
||||
| Distribution |Processor Architectures| Validated update |
|
||||
|---------------------|-----------------------|--------------------|
|
||||
| Windows 10 | x86-64 | 22H2 (GA) |
|
||||
| Windows 11 | x86-64 | 22H2 (GA) |
|
||||
| Windows Server 2022 | x86-64 | |
|
||||
|
||||
## Windows-supported GPUs
|
||||
|
||||
The table below shows supported GPUs for Radeon Pro™ and Radeon™ GPUs. Please
|
||||
click the tabs below to switch between GPU product lines. If a GPU is not listed
|
||||
on this table, the GPU is not officially supported by AMD.
|
||||
|
||||
::::{tab-set}
|
||||
|
||||
:::{tab-item} Radeon Pro™
|
||||
:sync: radeonpro
|
||||
|
||||
| Name | Architecture |[LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Runtime | HIP SDK |
|
||||
|:----:|:------------:|:--------------------------------------------------------------------:|:-------:|:----------------:|
|
||||
| AMD Radeon Pro™ W7900 | RDNA3 | gfx1100 | ✅ | ✅ |
|
||||
| AMD Radeon Pro™ W7800 | RDNA3 | gfx1100 | ✅ | ✅ |
|
||||
| AMD Radeon Pro™ W6800 | RDNA2 | gfx1030 | ✅ | ✅ |
|
||||
| AMD Radeon Pro™ W6600 | RDNA2 | gfx1032 | ✅ | ❌ |
|
||||
| AMD Radeon Pro™ W5500 | RDNA1 | gfx1012 | ❌ | ❌ |
|
||||
| AMD Radeon Pro™ VII | GCN5.1 | gfx906 | ❌ | ❌ |
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} Radeon™
|
||||
:sync: radeon
|
||||
|
||||
| Name | Architecture | [LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Runtime | HIP SDK |
|
||||
|:----:|:------------:|:--------------------------------------------------------------------:|:-------:|:----------------:|
|
||||
| AMD Radeon™ RX 7900 XTX | RDNA3 | gfx1100 | ✅ | ✅ |
|
||||
| AMD Radeon™ RX 7900 XT | RDNA3 | gfx1100 | ✅ | ✅ |
|
||||
| AMD Radeon™ RX 7600 | RDNA3 | gfx1102 | ✅ | ✅ |
|
||||
| AMD Radeon™ RX 6950 XT | RDNA2 | gfx1030 | ✅ | ✅ |
|
||||
| AMD Radeon™ RX 6900 XT | RDNA2 | gfx1030 | ✅ | ✅ |
|
||||
| AMD Radeon™ RX 6800 XT | RDNA2 | gfx1030 | ✅ | ✅ |
|
||||
| AMD Radeon™ RX 6800 | RDNA2 | gfx1030 | ✅ | ✅ |
|
||||
| AMD Radeon™ RX 6750 XT | RDNA2 | gfx1031 | ✅ | ❌ |
|
||||
| AMD Radeon™ RX 6700 XT | RDNA2 | gfx1031 | ✅ | ❌ |
|
||||
| AMD Radeon™ RX 6700 | RDNA2 | gfx1031 | ✅ | ❌ |
|
||||
| AMD Radeon™ RX 6650 XT | RDNA2 | gfx1032 | ✅ | ❌ |
|
||||
| AMD Radeon™ RX 6600 XT | RDNA2 | gfx1032 | ✅ | ❌ |
|
||||
| AMD Radeon™ RX 6600 | RDNA2 | gfx1032 | ✅ | ❌ |
|
||||
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
### Component support
|
||||
|
||||
ROCm components are described in [What is ROCm?](../../what-is-rocm.md) Support
|
||||
on Windows is provided with two levels on enablement.
|
||||
|
||||
* **Runtime**: Runtime enables the use of the HIP and OpenCL runtimes only.
|
||||
* **HIP SDK**: Runtime plus additional components are listed in [Libraries](../../reference/library-index.md).
|
||||
Note that some math libraries are Linux exclusive.
|
||||
|
||||
### Support status
|
||||
|
||||
✅: **Supported** - AMD enables these GPUs in our software distributions for
|
||||
the corresponding ROCm product.
|
||||
⚠️: **Deprecated** - Support will be removed in a future release.
|
||||
❌: **Unsupported** - This configuration is not enabled in our software
|
||||
distributions.
|
||||
|
||||
## CPU support
|
||||
|
||||
ROCm requires CPUs that support PCIe™ atomics. Modern CPUs after the release of
|
||||
1st generation AMD Zen CPU and Intel™ Haswell support PCIe atomics.
|
||||
@@ -1,6 +1,10 @@
|
||||
# License
|
||||
|
||||
> Note: This license applies to the [ROCm repository](https://github.com/RadeonOpenCompute/ROCm) that primarily contains documentation. For other licensing information, refer to the [Licensing Terms page](./licensing).
|
||||
:::{note}
|
||||
This license applies to the [ROCm repository](https://github.com/RadeonOpenCompute/ROCm) that
|
||||
primarily contains documentation. For other licensing information, refer to the
|
||||
[Licensing Terms page](./licensing).
|
||||
:::
|
||||
|
||||
```{include} ../../LICENSE
|
||||
```
|
||||
|
||||
@@ -114,7 +114,7 @@ companies.
|
||||
|
||||
## Package licensing
|
||||
|
||||
```{attention}
|
||||
:::{attention}
|
||||
AQL Profiler and AOCC CPU optimization are both provided in binary form, each
|
||||
subject to the license agreement enclosed in the directory for the binary and is
|
||||
available here: `/opt/rocm/share/doc/rocm-llvm-alt/EULA`. By using, installing,
|
||||
@@ -122,7 +122,7 @@ copying or distributing AQL Profiler and/or AOCC CPU Optimizations, you agree to
|
||||
the terms and conditions of this license agreement. If you do not agree to the
|
||||
terms of this agreement, do not install, copy or use the AQL Profiler and/or the
|
||||
AOCC CPU Optimizations.
|
||||
```
|
||||
:::
|
||||
|
||||
For the rest of the ROCm packages, you can find the licensing information at the
|
||||
following location: `/opt/rocm/share/doc/<component-name>/`
|
||||
|
||||
@@ -216,23 +216,23 @@ Follow these steps:
|
||||
./inception_inference
|
||||
```
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
Set `LD_LIBRARY_PATH` to `/opt/rocm/lib` if required during the build. Additional examples can be found in the MIGraphX repository under the `/examples/` directory.
|
||||
```
|
||||
:::
|
||||
|
||||
## Tuning MIGraphX
|
||||
|
||||
MIGraphX uses MIOpen kernels to target AMD GPU. For the model compiled with MIGraphX, tune MIOpen to pick the best possible kernel implementation. The MIOpen tuning results in a significant performance boost. Tuning can be done by setting the environment variable `MIOPEN_FIND_ENFORCE=3`.
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
The tuning process can take a long time to finish.
|
||||
```
|
||||
:::
|
||||
|
||||
**Example:** The average inference time of the inception model example shown previously over 100 iterations using untuned kernels is 0.01383ms. After tuning, it reduces to 0.00459ms, which is a 3x improvement. This result is from ROCm v4.5 on a MI100 GPU.
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
The results may vary depending on the system configurations.
|
||||
```
|
||||
:::
|
||||
|
||||
For reference, the following code snippet shows inference runs for only the first 10 iterations for both tuned and untuned kernels:
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ This example is adapted from the PyTorch research hub page on [Inception V3](htt
|
||||
|
||||
Follow these steps:
|
||||
|
||||
1. Run the PyTorch ROCm-based Docker image or refer to the section {doc}`Installing PyTorch <rocm-install-on-linux:pytorch-install>` for setting up a PyTorch environment on ROCm.
|
||||
1. Run the PyTorch ROCm-based Docker image or refer to the section {doc}`Installing PyTorch <rocm-install-on-linux:how-to/3rd-party/pytorch-install>` for setting up a PyTorch environment on ROCm.
|
||||
|
||||
```dockerfile
|
||||
docker run -it -v $HOME:/data --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --device=/dev/kfd --device=/dev/dri --group-add video --ipc=host --shm-size 8G rocm/pytorch:latest
|
||||
@@ -153,7 +153,7 @@ The previous section focused on downloading and using the Inception V3 model for
|
||||
|
||||
Follow these steps:
|
||||
|
||||
1. Run the PyTorch ROCm Docker image or refer to the section {doc}`Installing PyTorch <rocm-install-on-linux:pytorch-install>` for setting up a PyTorch environment on ROCm.
|
||||
1. Run the PyTorch ROCm Docker image or refer to the section {doc}`Installing PyTorch <rocm-install-on-linux:how-to/3rd-party/pytorch-install>` for setting up a PyTorch environment on ROCm.
|
||||
|
||||
```dockerfile
|
||||
docker pull rocm/pytorch:latest
|
||||
@@ -215,9 +215,9 @@ Follow these steps:
|
||||
|
||||
7. Set parameters to guide the training process.
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
The device is set to `"cuda"`. In PyTorch, `"cuda"` is a generic keyword to denote a GPU.
|
||||
```
|
||||
:::
|
||||
|
||||
```py
|
||||
device = "cuda"
|
||||
@@ -277,9 +277,9 @@ Follow these steps:
|
||||
lr_gamma = 0.1
|
||||
```
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
One training epoch is when the neural network passes an entire dataset forward and backward.
|
||||
```
|
||||
:::
|
||||
|
||||
```py
|
||||
epochs = 90
|
||||
@@ -340,9 +340,9 @@ Follow these steps:
|
||||
)
|
||||
```
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
Use torchvision to obtain the Inception V3 model. Use the pre-trained model weights to speed up training.
|
||||
```
|
||||
:::
|
||||
|
||||
```py
|
||||
print("Creating model")
|
||||
@@ -1162,9 +1162,10 @@ To prepare the data for training, follow these steps:
|
||||
print("Accuracy: ", accuracy)
|
||||
```
|
||||
|
||||
```{note}
|
||||
model.fit() returns a History object that contains a dictionary with everything that happened during training.
|
||||
```
|
||||
:::{note}
|
||||
`model.fit()` returns a History object that contains a dictionary with everything that happened during
|
||||
training.
|
||||
:::
|
||||
|
||||
```py
|
||||
history_dict = history.history
|
||||
|
||||
@@ -25,13 +25,13 @@ Finding dependencies
|
||||
|
||||
In short, CMake supports finding dependencies in two ways:
|
||||
|
||||
* In Module mode, it consults a file ``Find<PackageName>.cmake`` which tries to
|
||||
find the component in typical install locations and layouts. CMake ships a
|
||||
few dozen such scripts, but users and projects may ship them as well.
|
||||
* In Module mode, it consults a file ``Find<PackageName>.cmake`` which tries to find the component
|
||||
in typical install locations and layouts. CMake ships a few dozen such scripts, but users and projects
|
||||
may ship them as well.
|
||||
|
||||
* In Config mode, it locates a file named ``<packagename>-config.cmake`` or
|
||||
``<PackageName>Config.cmake`` which describes the installed component in all
|
||||
regards needed to consume it.
|
||||
* In Config mode, it locates a file named ``<packagename>-config.cmake`` or
|
||||
``<PackageName>Config.cmake`` which describes the installed component in all regards needed to
|
||||
consume it.
|
||||
|
||||
ROCm predominantly relies on Config mode, one notable exception being the Module
|
||||
driving the compilation of HIP programs on NVIDIA runtimes. As such, when
|
||||
|
||||
@@ -14,9 +14,9 @@ This document lists and describes the hardware performance counters and derived
|
||||
|
||||
See the category-wise listing of MI200 performance counters in the following tables.
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
Preliminary validation of all MI200 performance counters is in progress. Those with “*” appended to the names require further evaluation.
|
||||
```
|
||||
:::
|
||||
|
||||
### Graphics Register Bus Management (GRBM) counters
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
For the HIP reference documentation, see:
|
||||
|
||||
* {doc}`hip:.doxygen/docBin/html/group___memory`
|
||||
* {doc}`hip:.doxygen/docBin/html/group___memory_m`
|
||||
* {doc}`hip:doxygen/html/group___memory`
|
||||
* {doc}`hip:doxygen/html/group___memory_m`
|
||||
|
||||
Host memory exists on the host (e.g. CPU) of the machine in random access memory (RAM).
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ Until now, the LLVM ASan process was only available for traditional purely CPU a
|
||||
This document provides documentation on using ROCm ASan.
|
||||
For information about LLVM ASan, see the [LLVM documentation](https://clang.llvm.org/docs/AddressSanitizer.html).
|
||||
|
||||
**Note**: The beta release of LLVM ASan for ROCm is currently tested and validated on Ubuntu 20.04.
|
||||
:::{note}
|
||||
The beta release of LLVM ASan for ROCm is currently tested and validated on Ubuntu 20.04.
|
||||
:::
|
||||
|
||||
## Compiling for ASan
|
||||
|
||||
|
||||
@@ -70,9 +70,6 @@ article_pages = [
|
||||
{"file":"install/windows/cli/index", "os":["windows"]},
|
||||
{"file":"install/windows/gui/index", "os":["windows"]},
|
||||
|
||||
{"file":"about/compatibility/linux-support", "os":["linux"]},
|
||||
{"file":"about/compatibility/windows-support", "os":["windows"]},
|
||||
|
||||
{"file":"about/compatibility/docker-image-support-matrix", "os":["linux"]},
|
||||
{"file":"about/compatibility/user-kernel-space-compat-matrix", "os":["linux"]},
|
||||
|
||||
|
||||
@@ -11,12 +11,12 @@ The following sections cover the different framework installations for ROCm and
|
||||
deep-learning applications. The following image provides
|
||||
the sequential flow for the use of each framework. Refer to the ROCm Compatible
|
||||
Frameworks Release Notes for each framework's most current release notes at
|
||||
{doc}`Third-party support<rocm-install-on-linux:3rd-party-support-matrix>`.
|
||||
{doc}`Third-party support<rocm-install-on-linux:reference/3rd-party-support-matrix>`.
|
||||
|
||||

|
||||
|
||||
## Frameworks installation
|
||||
|
||||
* {doc}`PyTorch for ROCm<rocm-install-on-linux:pytorch-install>`
|
||||
* {doc}`TensorFlow for ROCm<rocm-install-on-linux:tensorflow-install>`
|
||||
* {doc}`MAGMA for ROCm<rocm-install-on-linux:magma-install>`
|
||||
* {doc}`PyTorch for ROCm<rocm-install-on-linux:how-to/3rd-party/pytorch-install>`
|
||||
* {doc}`TensorFlow for ROCm<rocm-install-on-linux:how-to/3rd-party/tensorflow-install>`
|
||||
* {doc}`MAGMA for ROCm<rocm-install-on-linux:how-to/3rd-party/magma-install>`
|
||||
|
||||
@@ -365,9 +365,9 @@ installed.
|
||||
## System management
|
||||
|
||||
For a complete guide on how to install/manage/uninstall ROCm on Linux, refer to
|
||||
{doc}`Quick-start (Linux)<rocm-install-on-linux:tutorial/quick-start>`. For verifying that the
|
||||
installation was successful, refer to
|
||||
{ref}`verifying-kernel-mode-driver-installation` and
|
||||
{doc}`Quick-start (Linux)<rocm-install-on-linux:tutorial/quick-start>`. To verify that the installation was
|
||||
successful, refer to the
|
||||
{doc}`post-install instructions<rocm-install-on-linux:how-to/native-install/post-install>` and
|
||||
[Validation Tools](../../reference/library-index.md). Should verification
|
||||
fail, consult the [System Debugging Guide](../system-debugging.md).
|
||||
|
||||
@@ -412,7 +412,8 @@ SIMD pipelines, memory information, and Instruction Set Architecture:
|
||||

|
||||
|
||||
For a complete list of architecture (LLVM target) names, refer to
|
||||
[Linux support](../../about/compatibility/linux-support.md) and [Windows support](../../about/compatibility/windows-support.md).
|
||||
{doc}`Linux<rocm-install-on-linux:reference/system-requirements>` and
|
||||
{doc}`Windows<rocm-install-on-windows:reference/system-requirements>` support.
|
||||
|
||||
### Testing inter-device bandwidth
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Analogous settings for other non-AMI System BIOS providers could be set
|
||||
similarly. For systems with Intel processors, some settings may not apply or be
|
||||
available as listed in the following table.
|
||||
|
||||
```{list-table} Recommended settings for the system BIOS in a GIGABYTE platform.
|
||||
```{list-table}
|
||||
:header-rows: 1
|
||||
:name: mi200-bios
|
||||
|
||||
@@ -351,8 +351,8 @@ installed.
|
||||
|
||||
For a complete guide on how to install/manage/uninstall ROCm on Linux, refer to
|
||||
{doc}`Quick-start (Linux)<rocm-install-on-linux:tutorial/quick-start>`. For verifying that the
|
||||
installation was successful, refer to
|
||||
{ref}`verifying-kernel-mode-driver-installation` and
|
||||
installation was successful, refer to the
|
||||
{doc}`post-install instructions<rocm-install-on-linux:how-to/native-install/post-install>` and
|
||||
[Validation Tools](../../reference/library-index.md). Should verification
|
||||
fail, consult the [System Debugging Guide](../system-debugging.md).
|
||||
|
||||
@@ -397,7 +397,8 @@ Instruction Set Architecture (ISA):
|
||||

|
||||
|
||||
For a complete list of architecture (LLVM target) names, refer to GPU OS Support for
|
||||
[Linux](../../about/compatibility/linux-support.md) and [Windows](../../about/compatibility/windows-support.md).
|
||||
{doc}`Linux<rocm-install-on-linux:reference/system-requirements>` and
|
||||
{doc}`Windows<rocm-install-on-windows:reference/system-requirements>`.
|
||||
|
||||
### Testing inter-device bandwidth
|
||||
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
This chapter reviews system settings that are required to configure the system
|
||||
for ROCm virtualization on RDNA2-based AMD Radeon™ PRO GPUs. Installing ROCm on
|
||||
Bare Metal follows the routine ROCm
|
||||
{doc}`installation procedure<rocm-install-on-linux:how-to/native-install/install>`.
|
||||
{doc}`installation procedure<rocm-install-on-linux:how-to/native-install/index>`.
|
||||
|
||||
To enable ROCm virtualization on V620, one has to setup Single Root I/O
|
||||
Virtualization (SR-IOV) in the BIOS via setting found in the following
|
||||
({ref}`bios-settings`). A tested configuration can be followed in
|
||||
({ref}`os-settings`).
|
||||
|
||||
```{attention}
|
||||
:::{attention}
|
||||
SR-IOV is supported on V620 and unsupported on W6800.
|
||||
```
|
||||
:::
|
||||
|
||||
(bios-settings)=
|
||||
|
||||
@@ -166,6 +166,6 @@ First, assign GPU virtual function (VF) to VM using the following steps.
|
||||
Then start the VM.
|
||||
|
||||
Finally install ROCm on the virtual machine (VM). For detailed instructions,
|
||||
refer to the {doc}`Linux install guide<rocm-install-on-linux:how-to/native-install/install>`. For any
|
||||
refer to the {doc}`Linux install guide<rocm-install-on-linux:how-to/native-install/index>`. For any
|
||||
issue encountered during installation, write to us
|
||||
[here](mailto:CloudGPUsupport@amd.com).
|
||||
|
||||
@@ -47,8 +47,8 @@ Installation guides
|
||||
ROCm compatibility information
|
||||
^^^
|
||||
|
||||
* [Linux (GPU & OS)](./about/compatibility/linux-support.md)
|
||||
* [Windows (GPU & OS)](./about/compatibility/windows-support.md)
|
||||
* {doc}`System requirements (Linux)<rocm-install-on-linux:reference/system-requirements>`
|
||||
* {doc}`System requirements (Windows)<rocm-install-on-windows:reference/system-requirements>`
|
||||
* {doc}`Third-party<rocm-install-on-linux:reference/3rd-party-support-matrix>`
|
||||
* {doc}`User/kernel space<rocm-install-on-linux:reference/user-kernel-space-compat-matrix>`
|
||||
* {doc}`Docker<rocm-install-on-linux:reference/docker-image-support-matrix>`
|
||||
|
||||
@@ -141,12 +141,12 @@ The `-famd-opt` flag is useful when a user wants to build with the proprietary
|
||||
optimization compiler and not have to depend on setting any of the other
|
||||
proprietary optimization flags.
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
`-famd-opt` can be used in addition to the other proprietary CPU optimization
|
||||
flags. The table of optimizations below implicitly enables the invocation of the
|
||||
AMD proprietary optimizations compiler, whereas the `-famd-opt` flag requires
|
||||
this to be handled explicitly.
|
||||
```
|
||||
:::
|
||||
|
||||
#### `-fstruct-layout=[1,2,3,4,5,6,7]`
|
||||
|
||||
@@ -262,12 +262,12 @@ loop. The heuristic can be controlled with the following options:
|
||||
|
||||
Where, `n` is a positive integer and higher value of `<n>` facilitates more unswitching.
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
These options may facilitate more unswitching under some workloads. Since
|
||||
loop-unswitching inherently leads to code bloat, facilitating more
|
||||
unswitching may significantly increase the code size. Hence, it may also lead
|
||||
to longer compilation times.
|
||||
```
|
||||
:::
|
||||
|
||||
##### `-enable-strided-vectorization`
|
||||
|
||||
@@ -458,11 +458,11 @@ supports ASM statements, their use is not recommended for the following reasons:
|
||||
* Writing correct ASM statements is often difficult; we strongly recommend
|
||||
thorough testing of any use of ASM statements.
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
For developers who choose to include ASM statements in the code, AMD is
|
||||
interested in understanding the use case and appreciates feedback at
|
||||
[https://github.com/RadeonOpenCompute/ROCm/issues](https://github.com/RadeonOpenCompute/ROCm/issues)
|
||||
```
|
||||
:::
|
||||
|
||||
### Miscellaneous OpenMP compiler features
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ROCm Release History
|
||||
# ROCm release history
|
||||
|
||||
| Version | Release Date |
|
||||
| ------- | ------------ |
|
||||
|
||||
@@ -7,7 +7,8 @@ root: index
|
||||
subtrees:
|
||||
- entries:
|
||||
- file: what-is-rocm.md
|
||||
- file: about/whats-new/whats-new.md
|
||||
- file: about/release-notes.md
|
||||
title: Release notes
|
||||
subtrees:
|
||||
- entries:
|
||||
- file: about/CHANGELOG.md
|
||||
@@ -28,7 +29,7 @@ subtrees:
|
||||
title: Linux
|
||||
- url: https://rocm.docs.amd.com/projects/install-on-windows/en/${branch}/reference/system-requirements.html
|
||||
title: Windows
|
||||
|
||||
|
||||
- caption: Reference
|
||||
entries:
|
||||
- file: reference/library-index.md
|
||||
|
||||
@@ -29,11 +29,11 @@ To implement a workaround, follow these steps:
|
||||
roc-obj-ls -v $TORCHDIR/lib/libtorch_hip.so # check for gfx target
|
||||
```
|
||||
|
||||
```{note}
|
||||
:::{note}
|
||||
Recompile PyTorch with the right gfx target if compiling from the source if
|
||||
the hardware is not supported. For wheels or Docker installation, contact
|
||||
ROCm support [^ROCm_issues].
|
||||
```
|
||||
:::
|
||||
|
||||
**Q: Why am I unable to access Docker or GPU in user accounts?**
|
||||
|
||||
|
||||
@@ -16,27 +16,27 @@ Refer to the HIP Installation Guide v5.0 for more details.
|
||||
|
||||
Managed memory, including the `__managed__` keyword, is now supported in the HIP combined host/device compilation. Through unified memory allocation, managed memory allows data to be shared and accessible to both the CPU and GPU using a single pointer. The allocation is managed by the AMD GPU driver using the Linux Heterogeneous Memory Management (HMM) mechanism. The user can call managed memory API hipMallocManaged to allocate a large chunk of HMM memory, execute kernels on a device, and fetch data between the host and device as needed.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> In a HIP application, it is recommended to do a capability check before calling the managed memory APIs. For example,
|
||||
>
|
||||
> ```cpp
|
||||
> int managed_memory = 0;
|
||||
> HIPCHECK(hipDeviceGetAttribute(&managed_memory,
|
||||
> hipDeviceAttributeManagedMemory,p_gpuDevice));
|
||||
> if (!managed_memory ) {
|
||||
> printf ("info: managed memory access not supported on the device %d\n Skipped\n", p_gpuDevice);
|
||||
> }
|
||||
> else {
|
||||
> HIPCHECK(hipSetDevice(p_gpuDevice));
|
||||
> HIPCHECK(hipMallocManaged(&Hmm, N * sizeof(T)));
|
||||
> . . .
|
||||
> }
|
||||
> ```
|
||||
:::{note}
|
||||
In a HIP application, it is recommended to do a capability check before calling the managed memory APIs. For example,
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> The managed memory capability check may not be necessary; however, if HMM is not supported, managed malloc will fall back to using system memory. Other managed memory API calls will, then, have
|
||||
```cpp
|
||||
int managed_memory = 0;
|
||||
HIPCHECK(hipDeviceGetAttribute(&managed_memory,
|
||||
hipDeviceAttributeManagedMemory,p_gpuDevice));
|
||||
if (!managed_memory ) {
|
||||
printf ("info: managed memory access not supported on the device %d\n Skipped\n", p_gpuDevice);
|
||||
}
|
||||
else {
|
||||
HIPCHECK(hipSetDevice(p_gpuDevice));
|
||||
HIPCHECK(hipMallocManaged(&Hmm, N * sizeof(T)));
|
||||
. . .
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
:::{note}
|
||||
The managed memory capability check may not be necessary; however, if HMM is not supported, managed malloc will fall back to using system memory. Other managed memory API calls will, then, have
|
||||
:::
|
||||
|
||||
Refer to the HIP API documentation for more details on managed memory APIs.
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ The resolution includes a compiler change, which emits the required metadata by
|
||||
compiler can prove that the hostcall facility is not required by the kernel. This ensures that the
|
||||
“assert()” call never fails.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
This fix may lead to breakage in some OpenMP offload use cases, which use print inside a target region
|
||||
and result in an abort in device code. The issue will be fixed in a future release.
|
||||
```
|
||||
:::
|
||||
|
||||
The compatibility matrix in the [Deep-learning guide](./how-to/deep-learning-rocm.md) is updated for
|
||||
ROCm v5.0.2.
|
||||
|
||||
@@ -41,11 +41,11 @@ The accuracy is guaranteed if the compiler options `-g -O0` are used and apply o
|
||||
This enhancement enables ROCDebugger users to interact with the HIP source-level variables and
|
||||
function arguments.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
The newly-suggested compiler -g option must be used instead of the previously-suggested `-ggdb`
|
||||
option. Although the effect of these two options is currently equivalent, this is not guaranteed for the
|
||||
future, as changes might be made by the upstream LLVM community.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Machine interface lanes support
|
||||
|
||||
@@ -118,16 +118,16 @@ this ROCm release, CRIU is enhanced with a new plugin to support AMD GPUs, which
|
||||
For more information, refer to
|
||||
<https://github.com/checkpoint-restore/criu/tree/criu-dev/plugins/amdgpu>
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
The CRIU plugin (amdgpu_plugin) is merged upstream with the CRIU repository. The KFD kernel
|
||||
patches are also available upstream with the amd-staging-drm-next branch (public) and the ROCm 5.1
|
||||
release branch.
|
||||
```
|
||||
:::
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
This is a Beta release of the Checkpoint and Restore functionality, and some features are not available
|
||||
in this release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to the following websites:
|
||||
|
||||
|
||||
@@ -275,7 +275,7 @@ The new APIs for virtual memory management are as follows:
|
||||
```
|
||||
|
||||
For more information, refer to the HIP API documentation at
|
||||
{doc}`hip:.doxygen/docBin/html/modules`.
|
||||
{doc}`hip:doxygen/html/modules`.
|
||||
|
||||
##### Planned HIP changes in future releases
|
||||
|
||||
@@ -375,10 +375,10 @@ The following is the new file system hierarchy:
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -387,9 +387,10 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Wrapper header files
|
||||
|
||||
Wrapper header files are placed in the old location (`/opt/rocm-xxx/<component>/include`) with a
|
||||
@@ -502,10 +503,10 @@ allow for undefined values.
|
||||
|
||||
The workaround is to initialize the parameters to `__shfl_sync`.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
When the `-Wall` compilation flag is used, the compiler generates a warning indicating the variable is
|
||||
initialized along some path.
|
||||
```
|
||||
:::
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
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
|
||||
:::{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 file system hierarchy standard for ROCm
|
||||
|
||||
@@ -56,10 +56,10 @@ The following is the new file system hierarchy:
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -68,9 +68,9 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Wrapper header files
|
||||
|
||||
|
||||
@@ -27,9 +27,9 @@ int wallClkRate = 0; //in kilohertz
|
||||
|
||||
Where hipDeviceAttributeWallClockRate is a device attribute.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
The wall clock frequency is a per-device attribute.
|
||||
```
|
||||
:::
|
||||
|
||||
##### New registry added for GPU_MAX_HW_QUEUES
|
||||
|
||||
@@ -40,10 +40,10 @@ The environment variable controls how many independent hardware queues HIP runti
|
||||
per process, per device. If the application allocates more HIP streams than this number, then the HIP
|
||||
runtime reuses the same hardware queues for the new streams in a round-robin manner.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
This maximum number does not apply to hardware queues created for CU-masked HIP streams or
|
||||
cooperative queues for HIP Cooperative Groups (there is only one queue per device).
|
||||
```
|
||||
:::
|
||||
|
||||
For more details, refer to the HIP Programming Guide.
|
||||
|
||||
@@ -51,9 +51,9 @@ For more details, refer to the HIP Programming Guide.
|
||||
|
||||
The following new HIP APIs are available in the ROCm v5.4 release.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> This is a pre-official version (beta) release of the new APIs.
|
||||
:::{note}
|
||||
This is a pre-official version (beta) release of the new APIs.
|
||||
:::
|
||||
|
||||
##### Error handling
|
||||
|
||||
@@ -99,13 +99,13 @@ This release consists of the following OpenMP enhancements:
|
||||
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
|
||||
:::{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 file system hierarchy standard for ROCm
|
||||
|
||||
@@ -149,10 +149,10 @@ The following is the new file system hierarchy:
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -161,9 +161,9 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Wrapper header files
|
||||
|
||||
@@ -231,7 +231,7 @@ determine coherent support.
|
||||
`hipHostMalloc()` allocates memory with fine-grained access by default when the environment variable
|
||||
`HIP_HOST_COHERENT=1` is used.
|
||||
|
||||
For more information, refer to {doc}`hip:.doxygen/docBin/html/index`.
|
||||
For more information, refer to {doc}`hip:doxygen/html/index`.
|
||||
|
||||
|
||||
#### SoftHang with `hipStreamWithCUMask` test on AMD Instinct™
|
||||
|
||||
@@ -9,9 +9,9 @@ The ROCm v5.4.1 release consists of the following new HIP API:
|
||||
|
||||
The following new HIP API is introduced in the ROCm v5.4.1 release.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> This is a pre-official version (beta) release of the new APIs.
|
||||
:::{note}
|
||||
This is a pre-official version (beta) release of the new APIs.
|
||||
:::
|
||||
|
||||
```cpp
|
||||
hipError_t hipLaunchHostFunc(hipStream_t stream, hipHostFn_t fn, void* userData);
|
||||
@@ -35,13 +35,13 @@ For more information, refer to the HIP API documentation at
|
||||
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
|
||||
:::{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.
|
||||
```
|
||||
:::
|
||||
|
||||
### IFWI fixes
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
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
|
||||
:::{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.
|
||||
```
|
||||
:::
|
||||
|
||||
#### `hipcc` options deprecation
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
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
|
||||
:::{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 file system hierarchy standard for ROCm
|
||||
|
||||
@@ -56,10 +56,10 @@ The following is the new file system hierarchy:4
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -68,9 +68,9 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
```
|
||||
:::
|
||||
|
||||
##### Wrapper header files
|
||||
|
||||
|
||||
@@ -55,9 +55,9 @@ The following hipcc changes are implemented in this release:
|
||||
|
||||
##### New HIP APIs in this release
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
This is a pre-official version (beta) release of the new APIs and may contain unresolved issues.
|
||||
```
|
||||
:::
|
||||
|
||||
###### Memory management HIP APIs
|
||||
|
||||
@@ -154,13 +154,13 @@ This release consists of the following OpenMP enhancements:
|
||||
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
|
||||
:::{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 file system hierarchy standard for ROCm
|
||||
|
||||
@@ -200,10 +200,10 @@ The following is the new file system hierarchy:4
|
||||
|
||||
```
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
ROCm will not support backward compatibility with the v5.1(old) file system hierarchy in its next major
|
||||
release.
|
||||
```
|
||||
:::
|
||||
|
||||
For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
|
||||
@@ -212,10 +212,9 @@ For more information, refer to <https://refspecs.linuxfoundation.org/fhs.shtml>.
|
||||
ROCm has moved header files and libraries to its new location as indicated in the above structure and
|
||||
included symbolic-link and wrapper header files in its old location for backward compatibility.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> ROCm will continue supporting backward compatibility until the next major release.
|
||||
|
||||
:::{note}
|
||||
ROCm will continue supporting backward compatibility until the next major release.
|
||||
:::
|
||||
##### Wrapper header files
|
||||
|
||||
Wrapper header files are placed in the old location (`/opt/rocm-xxx/<component>/include`) with a
|
||||
|
||||
@@ -12,11 +12,11 @@ New features include:
|
||||
Note that ROCm 5.7.0 is EOS for MI50. 5.7 versions of ROCm are the last major releases in the ROCm 5
|
||||
series. This release is Linux-only.
|
||||
|
||||
```important
|
||||
:::{important}
|
||||
The next major ROCm release (ROCm 6.0) will not be backward compatible with the ROCm 5 series.
|
||||
Changes will include: splitting LLVM packages into more manageable sizes, changes to the HIP runtime
|
||||
API, splitting rocRAND and hipRAND into separate packages, and reorganizing our file structure.
|
||||
```
|
||||
:::
|
||||
|
||||
#### AMD Instinct™ MI50 end-of-support notice
|
||||
|
||||
@@ -27,8 +27,8 @@ As outlined in [5.6.0](https://rocm.docs.amd.com/en/docs-5.6.0/release.html), RO
|
||||
final release for gfx906 GPUs to be in a fully supported state.
|
||||
|
||||
* ROCm 6.0 release will show MI50s as "under maintenance" for
|
||||
[Linux](../about/compatibility/linux-support.md) and
|
||||
[Windows](../about/compatibility/windows-support.md)
|
||||
{doc}`Linux<rocm-install-on-linux:reference/system-requirements>` and
|
||||
{doc}`Windows<rocm-install-on-windows:reference/system-requirements>`
|
||||
|
||||
* No new features and performance optimizations will be supported for the gfx906 GPUs beyond this
|
||||
major release (ROCm 5.7).
|
||||
@@ -62,8 +62,10 @@ environments. Users may see the following error from runtime (with AMD_LOG_LEVEL
|
||||
The ROCm 5.7 release introduces an alternative to the current hostcall-based implementation that
|
||||
leverages an older OpenCL-based printf scheme, which does not rely on hostcalls/PCIe atomics.
|
||||
|
||||
Note: This option is less robust than hostcall-based implementation and is intended to be a
|
||||
:::{note}
|
||||
This option is less robust than hostcall-based implementation and is intended to be a
|
||||
workaround when hostcalls do not work.
|
||||
:::
|
||||
|
||||
The printf variant is now controlled via a new compiler option -mprintf-kind=<value>. This is
|
||||
supported only for HIP programs and takes the following values,
|
||||
@@ -96,11 +98,11 @@ the GPU in heterogeneous applications. Ideally, developers should treat heteroge
|
||||
OpenMP applications like pure CPU applications. However, this simplicity has not been achieved yet.
|
||||
|
||||
Refer to the documentation on LLVM ASan with the GPU at
|
||||
[LLVM AddressSanitizer User Guide](../conceptual/using_gpu_sanitizer.md).
|
||||
[LLVM AddressSanitizer User Guide](../conceptual/using-gpu-sanitizer.md).
|
||||
|
||||
```note
|
||||
:::{note}
|
||||
The beta release of LLVM ASan for ROCm is currently tested and validated on Ubuntu 20.04.
|
||||
```
|
||||
:::
|
||||
|
||||
#### Defect fixes
|
||||
|
||||
|
||||
@@ -226,7 +226,9 @@ HIP 6.0.0 for ROCm 6.0.0
|
||||
* `char luid[8];`
|
||||
* `unsigned int luidDeviceNodeMask;`
|
||||
|
||||
Note: HIP supports LUID only on Windows OS.
|
||||
:::{note}
|
||||
HIP only supports LUID on Windows OS.
|
||||
:::
|
||||
|
||||
##### Changes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user