Deprecations and Warnings in ROCm v5.0¶
ROCm Libraries Changes Deprecations and Deprecation Removal¶
The hipFFT.h header is now provided only by the hipFFT package. Up to ROCm 5.0, users would get hipFFT.h in the rocFFT package too.
The GlobalPairwiseAMG class is now entirely removed, users should use the PairwiseAMG class instead.
The rocsparse_spmm signature in 5.0 was changed to match that of rocsparse_spmm_ex. In 5.0, rocsparse_spmm_ex is still present, but deprecated. Signature diff for rocsparse_spmm
rocsparse_spmm in 5.0¶
rocsparse_status rocsparse_spmm(rocsparse_handle handle,
rocsparse\_operation trans\_A, rocsparse\_operation trans\_B, const void\* alpha, const rocsparse\_spmat\_descr mat\_A, const rocsparse\_dnmat\_descr mat\_B, const void\* beta, const rocsparse\_dnmat\_descr mat\_C, rocsparse\_datatype compute\_type, rocsparse\_spmm\_alg alg, rocsparse\_spmm\_stage stage, size\_t\* buffer\_size, void\* temp\_buffer);
rocSPARSE_spmm in 4.0¶
rocsparse_status rocsparse_spmm(rocsparse_handle handle,
rocsparse\_operation trans\_A, rocsparse\_operation trans\_B, const void\* alpha, const rocsparse\_spmat\_descr mat\_A, const rocsparse\_dnmat\_descr mat\_B, const void\* beta, const rocsparse\_dnmat\_descr mat\_C, rocsparse\_datatype compute\_type, rocsparse\_spmm\_alg alg, size\_t\* buffer\_size, void\* temp\_buffer);
HIP API Deprecations and Warnings¶
Warning - Arithmetic Operators of HIP Complex and Vector Types¶
In this release, arithmetic operators of HIP complex and vector types are deprecated.
As alternatives to arithmetic operators of HIP complex types, users can use arithmetic operators of std::complex types.
As alternatives to arithmetic operators of HIP vector types, users can use the operators of the native clang vector type associated with the data member of HIP vector types.
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.
The arithmetic operators of HIP complex and vector types will be removed in a future release.
Refer to the HIP API Guide for more information.
Refactor of HIPCC/HIPCONFIG¶
In prior ROCm releases, by default, the hipcc/hipconfig Perl scripts were used to identify and set target compiler options, target platform, compiler, and runtime appropriately.
In ROCm v5.0, hipcc.bin and hipconfig.bin have been added as the compiled binary implementations of the hipcc and hipconfig. These new binaries are currently a work-in-progress, considered, and marked as experimental. ROCm plans to fully transition to hipcc.bin and hipconfig.bin in the a future ROCm release. The existing hipcc and hipconfig Perl scripts are renamed to hipcc.pl and hipconfig.pl respectively. New top-level hipcc and hipconfig Perl scripts are created, which can switch between the Perl script or the compiled binary based on the environment variable HIPCC_USE_PERL_SCRIPT.
In ROCm 5.0, by default, this environment variable is set to use hipcc and hipconfig through the Perl scripts.
Subsequently, Perl scripts will no longer be available in ROCm in a future release.
Warning - Compiler-Generated Code Object Version 4 Deprecation¶
Support for loading compiler-generated code object version 4 will be deprecated in a future release with no release announcement and replaced with code object 5 as the default version.
The current default is code object version 4.
Warning - MIOpenTensile Deprecation¶
MIOpenTensile will be deprecated in a future release.
ROCm Release v4.5¶
AMD Instinct MI25 End of Life¶
ROCm release v4.5 is the final release to support AMD Instinct MI25. AMD Instinct MI25 has reached End of Life (EOL). ROCm 4.5 represents the last certified release for software and driver support. AMD will continue to provide technical support and issue resolution for AMD Instinct MI25 on ROCm v4.5 for a period of 12 months from the software GA date.
Planned Deprecation of Code Object Versions 2 AND 3¶
With the ROCm v4.5 release, the generation of code object versions 2 and 3 is being deprecated and may be removed in a future release. This deprecation notice does not impact support for the execution of AMD GPU code object versions.
The -mcode-object-version Clang option can be used to instruct the compiler to generate a specific AMD GPU code object version. In ROCm v4.5, the compiler can generate AMD GPU code object version 2, 3, and 4, with version 4 being the default if not specified.
ROCm Release v4.1¶
COMPILER-GENERATED CODE OBJECT VERSION 2 DEPRECATION¶
Compiler-generated code object version 2 is no longer supported and has been completely removed.
Support for loading code object version 2 is also deprecated with no announced removal release.
Changed HIP Environment Variables in ROCm v4.1 Release¶
In the ROCm v3.5 release, the Heterogeneous Compute Compiler (HCC) compiler was deprecated, and the HIP-Clang compiler was introduced for compiling Heterogeneous-Compute Interface for Portability (HIP) programs. Also, the HIP runtime API was implemented on top of the Radeon Open Compute Common Language runtime (ROCclr). ROCclr is an abstraction layer that provides the ability to interact with different runtime backends such as ROCr.
While the HIP_PLATFORM=hcc environment variable was functional in subsequent releases after ROCm v3.5, in the ROCm v4.1 release, changes to the following environment variables were implemented:
HIP_PLATFORM=hcc was changed to HIP_PLATFORM=amd
HIP_PLATFORM=nvcc was changed to HIP_PLATFORM=nvidia
Therefore, any applications continuing to use the HIP_PLATFORM=hcc environment variable will fail.
Workaround: Update the environment variables to reflect the changes mentioned above.
ROCm Release v4.0¶
ROCr Runtime Deprecations¶
The following ROCr Runtime enumerations, functions, and structs are deprecated in the AMD ROCm v4.0 release.
Deprecated ROCr Runtime Functions
Deprecated ROCr Runtime Enumerations¶
Deprecated ROCr Runtime Structs¶
As of AMD ROCm v4.0, AOMP (aomp-amdgpu) is deprecated. OpenMP support has moved to the openmp-extras auxiliary package, which leverages the ROCm compiler on LLVM 12.
For more information, refer to
ROCm Release v3.5¶
Heterogeneous Compute Compiler¶
In the ROCm v3.5 release, the Heterogeneous Compute Compiler (HCC) compiler was deprecated and the HIP-Clang compiler was introduced for compiling Heterogeneous-Compute Interface for Portability (HIP) programs.
For more information, download the HIP Programming Guide at: