# Changelog for HIPIFY Documentation for HIPIFY is available at [https://rocmdocs.amd.com/projects/HIPIFY/en/latest/](https://rocmdocs.amd.com/projects/HIPIFY/en/latest/). ## HIPIFY for ROCm 7.2.0 ### Added * Partial support for CUDA 13.0.0 support * cuDNN 9.14.0 support * cuTENSOR 2.3.1.0 support * LLVM 21.1.6 support * Full `hipFFTw` support * [#2062](https://github.com/ROCm/HIPIFY/issues/2062) Partial hipification support for a particular CUDA API * [#2073](https://github.com/ROCm/HIPIFY/issues/2073) Detect CUDA version before hipification * New options: * `--local-headers` to enable hipification of quoted local headers (non-recursive) * `--local-headers-recursive` to enable hipification of quoted local headers recursively ### Resolved issues * [#2088](https://github.com/ROCm/HIPIFY/issues/2088) Missing support of `cuda_bf16.h` import in hipification ## HIPIFY for ROCm 7.0.0 ### Added * CUDA 12.9.1 support * cuDNN 9.11.0 support * cuTENSOR 2.2.0.0 support * LLVM 20.1.8 support ### Resolved issues * `hipDNN` support is removed by default * [#1859](https://github.com/ROCm/HIPIFY/issues/1859)[hipify-perl] Fix warnings on unsupported Driver or Runtime APIs which were erroneously not reported * [#1930](https://github.com/ROCm/HIPIFY/issues/1930) Revise `JIT API` * [#1962](https://github.com/ROCm/HIPIFY/issues/1962) Support for cuda-samples helper headers * [#2035](https://github.com/ROCm/HIPIFY/issues/2035) Remove `const_cast` in `hiprtcCreateProgram` and `hiprtcCompileProgram` ## HIPIFY for ROCm 6.4.0 ### Added * CUDA 12.6.3 support * cuDNN 9.7.0 support * cuTENSOR 2.0.2.1 support * LLVM 19.1.7 support * Full support for direct hipification of `cuRAND` into `rocRAND` under the `--roc` option * [#1617](https://github.com/ROCm/HIPIFY/issues/1617) Support for `fp8` math device/host API ### Resolved issues * `MIOpen` support in hipify-perl under the `-miopen` option * Use `const_cast` for the last arguments in the `hiprtcCreateProgram` and `hiprtcCompileProgram` function calls, as in CUDA, they are of the `const char* const*` type * [#1769](https://github.com/ROCm/HIPIFY/issues/1769) Support for `fp16` device/host API * [#1800](https://github.com/ROCm/HIPIFY/issues/1800) Fix instructions on building LLVM for HIPIFY on Linux ### Known issues * [#833](https://github.com/ROCm/HIPIFY/issues/833) `hipify-clang` build failure against LLVM 15-18 on `Ubuntu`, `CentOS`, and `Fedora` ## HIPIFY for ROCm 6.3.1 ### Added * CUDA 12.6.2 support * cuDNN 9.5.1 support * LLVM 19.1.3 support * Full `hipBLAS` 64-bit APIs support * Full `rocBLAS` 64-bit APIs support ### Resolved issues * Added missing support for device intrinsics and built-ins: `__all_sync`, `__any_sync`, `__ballot_sync`, `__activemask`, `__match_any_sync`, `__match_all_sync`, `__shfl_sync`, `__shfl_up_sync`, `__shfl_down_sync`, and `__shfl_xor_sync` ## HIPIFY for ROCm 6.3.0 ### Added * CUDA 12.6.1 support * cuDNN 9.5.0 support * LLVM 19.1.1 support * `rocBLAS` 64-bit APIs support * Initial support for direct hipification of `cuDNN` into `MIOpen` under the `--roc` option * Initial support for direct hipification of `cuRAND` into `rocRAND` under the `--roc` option * [#1650](https://github.com/ROCm/HIPIFY/pull/1650) Added a filtering ability for the supplementary hipification scripts ### Resolved issues * Correct `roc` header files support ### Known issues * [#1617](https://github.com/ROCm/HIPIFY/issues/1617) Support for `fp8` data types ## HIPIFY for ROCm 6.2.4 ### Added * cuDNN 9.3.0 support ### Resolved issues * Removed some post HIP 6.2 APIs from support * Added hipification support for HIP functions `hipSetValidDevices`, `hipMemcpy2DArrayToArray`, `hipMemcpyAtoA`, `hipMemcpyAtoD`, `hipMemcpyAtoA`, `hipMemcpyAtoHAsync`, and `hipMemcpyHtoAAsync` * Fixed an issue with `Skipped some replacements` when hipification didn't occur at all ## HIPIFY for ROCm 6.2.1 ### Added * CUDA 12.5.1 support * cuDNN 9.2.1 support * LLVM 18.1.8 support * `hipBLAS` 64-bit APIs support * Support for Math Constants `math_constants.h` ## HIPIFY for ROCm 6.2.0 ### Added * CUDA 12.4.1 support * cuDNN 9.1.1 support * LLVM 18.1.6 support * Full `hipBLASLt` support ### Resolved issues * Apply `reinterpret_cast` for an explicit conversion between `pointer-to-function` and `pointer-to-object`; affected functions: `hipFuncGetAttributes`, `hipFuncSetAttribute`, `hipFuncSetCacheConfig`, `hipFuncSetSharedMemConfig`, `hipLaunchKernel`, and `hipLaunchCooperativeKernel` ## HIPIFY for ROCm 6.1.2 ### Added * cuDNN 9.0.0 support * LLVM 18.1.2 support * New options: * `--clang-resource-directory` to specify the clang resource path - the path to the parent folder for the `include` folder that contains `__clang_cuda_runtime_wrapper.h` and other header files used during the hipification process ### Resolved issues * Clang resource files used during hipification are now searchable and also can be specified by the `--clang-resource-directory` option ## HIPIFY for ROCm 6.1.0 ### Added * CUDA 12.3.2 support * cuDNN 8.9.7 support * LLVM 17.0.6 support * Full `hipSOLVER` support * Full `rocSPARSE` support * New options: * `--amap` to hipify as much as possible, ignoring `--default-preprocessor` behavior ### Resolved issues * Code blocks skipped by the Preprocessor are not hipified anymore under the `--default-preprocessor` option ## HIPIFY for ROCm 6.0.2 ### Resolved issues * Use the new locations of header files of some HIP and ROCm libraries (`hipRAND`, `hipFFT`, `rocSOLVER`) ## HIPIFY for ROCm 6.0.0 ### Added * CUDA 12.2.2 support * cuDNN 8.9.5 support * LLVM 17.0.3 support * Improved support for Windows and Visual Studio 2019 and 2022 * More rocSPARSE support * ABI changes are shown in the 'C' ('Changed') column for CUDA, HIP, and ROC API ### Known issues * [#837](https://github.com/ROCm/HIPIFY/issues/837) Added a new function to call transformation type "additional non-const arg" * [#1014](https://github.com/ROCm/HIPIFY/issues/1014) Added a new function to call transformation type "replace argument with a const" ## HIPIFY for ROCm 5.7.0 ### Added * CUDA 12.2.0 support * cuDNN 8.9.2 support * LLVM 16.0.6 support * Initial rocSPARSE support * Initial `CUDA2ROC` documentation generation for rocBLAS, rocSPARSE, and MIOpen: * In separate files: `hipify-clang --md --doc-format=full --doc-roc=separate` * In one file: `hipify-clang --md --doc-format=full --doc-roc=joint` * New options: * `--use-hip-data-types` (Use `hipDataType` instead of `hipblasDatatype_t` or `rocblas_datatype`) * `--doc-roc=\` (ROC documentation generation: `skip` (default), `separate`, and `joint`; the `--md` or `--csv` option must be included) ### Known issues * [#822](https://github.com/ROCm/HIPIFY/issues/822) Added a new function to call transformation type "additional const by value arg" * [#830](https://github.com/ROCm/HIPIFY/issues/830) Added a new function to call transformation type "move arg from place X to place Y" ## HIPIFY for ROCm 5.6.0 ### Added * CUDA 12.1.0 support * cuDNN 8.8.1 support * LLVM 16.0.0 support * New options: * `--default-preprocessor` (synonymous with `--skip-excluded-preprocessor-conditional-blocks`) * `--no-undocumented-features` * `--no-warnings-on-undocumented-features` * `--versions` ### Resolved issues * Accessing `half2 struct` members (undocumented feature) * Retargeted `INSTALL` to the `bin` subfolder ## HIPIFY for ROCm 5.5.0 ### Added * Partial CUDA 12.0.0 support * cuDNN 8.7.0 support * Initial MIOpem support * cuBLAS 64-bit API (CUDA 12.0) initial support * rocBLAS and MIOpen synthetic tests * LLVM 15.0.7 support ### Changed * Synthetic unit tests for `cuBLAS2rocBLAS` and `cuDNN2MIOpen` ## HIPIFY for ROCm 5.4.1 ### Added * CUDA 11.8.0 support * cuDNN 8.6.0 support * Device types support * LLVM 15.0.4 support ### Resolved issues * Removed `RPATH` definitions (Linux) ## HIPIFY for ROCm 5.4.0 ### Added * hipRTC support * Error handling API support * hipBLAS synthetic tests * LLVM 15.0.0 support ## HIPIFY for ROCm 5.3.0 ### Added * CUDA 11.7.0 support * cuDNN 8.4.1 support * CUB initial support * More synthetic tests * New options: * `--hip-kernel-execution-syntax` ### Changed * LLVM 3.8.0 is out of support * HIPIFY-specific options support in unit testing ### Resolved issues * Patches for LLVM 14.0.x (Windows only) * Add `GNUInstallDirs` for CMake on Linux ## HIPIFY for ROCm 5.2.0 ### Added * CUDA 11.6.0 support * cuDNN 8.3.3 support * LLVM 14.0.0 support ## HIPIFY for ROCm 5.1.0 ### Added * CUDA 11.5.1 support * cuDNN 8.3.2 support ### Resolved issues * Hipification of `cuOccupancyMaxPotentialBlockSize` and `cuOccupancyMaxPotentialBlockSizeWithFlags` ## HIPIFY for ROCm 5.0.0 ### Added * CUDA 11.4.2 support * cuDNN 8.3.2 support * Initial hipRTC support * GNU C/C++ 11.2 support * Visual Studio 2022 support * LLVM 13.0.0 support * New options: * `--experimental` * `--cuda-kernel-execution-syntax` ### Changed * Support for different formats of locally generated documentation * Experimentally supported APIs ### Resolved issues * Packaging for Debian and RPM Linux distributions * Undo argument typecasting for four driver API functions (`cuStreamWaitValue32`, `cuStreamWaitValue64`, `cuStreamWriteValue32`, and `cuStreamWriteValue64`) because the arguments in the corresponding HIP functions are now `uint` ## HIPIFY for ROCm 4.5.0 ### Added * cuDNN 8.2.4 support * Initial graph API support * GNU C/C++ 11.1 support * LLVM 12.0.1 support ### Changed * Synthetic unit tests * `-std=c++14` by default ### Resolved issues * Abandoned `HIP_DYNAMIC_SHARED` ## HIPIFY for ROCm 4.3.0 ### Added * CUDA 11.3.0 support * cuDNN 8.2.0 support * LLVM 12.0.0 support ### Resolved issues * Added missing type casting arguments for `cuStreamWaitValue32(64)` and `cuStreamWriteValue32(64)` ## HIPIFY for ROCm 4.2.0 ### Added * CUDA 11.2.2 support * cuDNN 8.1.1 support * Initial device API support * LLVM 11.1.0 support * New options: * `--doc-format=`, with `full` (default), `strict`, and `compact` options ### Changed * Tests on kernel launch syntax ## HIPIFY for ROCm 4.1.0 ### Added * CUDA 11.2.0 support * Stream-ordered memory API support * cuDNN 8.1.1 support * LLVM 11.0.1 support ### Changed * Initial support for API versioning ### Resolved issues * Patches for LLVM 10.0.x and 11.0.0 (Windows and Linux) ## HIPIFY for ROCm 4.0.0 ### Added * LLVM 11.0.0 support ## HIPIFY for ROCm 3.10.0 ### Changed * Revised CUDA and HIP API and data type versioning * Revised and removed deprecated CUDA and HIP APIs and data types ## HIPIFY for ROCm 3.9.0 ### Added * CUDA 11.0.1 support * `CUDA2HIP` documentation generation in Markdown and CSV formats * Versioning support for CUDA and HIP APIs * New options: * `--md` (generate Markdown documentation) * `--csv` (generate CSV documentation) ### Changed * Improved `hipify-perl` generation ## HIPIFY for ROCm 3.8.0 ### Added * cuDNN 8.0.2 support * `compile_commands.json` support (`-p `) ### Changed * Improved `hipify-perl` generation ## HIPIFY for ROCm 3.7.0 ### Added * CUDA 11.0.0 support * Linux packaging * LLVM 10.0.1 support ## HIPIFY for ROCm 3.6.0 ### Added * `deprecated` flag for all corresponding CUDA and HIP APIs ### Changed * Added warning for all deprecated APIs ## HIPIFY for ROCm 3.5.0 ### Added * CUDA 10.2.0 support * cuDNN 7.6.5 support * LLVM 10.0.0 support ### Changed * `hipify-clang` and `clang` options separator (`--`) support