Documentation for HIPIFY is available at https://rocmdocs.amd.com/projects/HIPIFY/en/latest/.
- 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
hipFFTwsupport - #2062 Partial hipification support for a particular CUDA API
- #2073 Detect CUDA version before hipification
- New options:
--local-headersto enable hipification of quoted local headers (non-recursive)--local-headers-recursiveto enable hipification of quoted local headers recursively
- #2088 Missing support of
cuda_bf16.himport in hipification
- CUDA 12.9.1 support
- cuDNN 9.11.0 support
- cuTENSOR 2.2.0.0 support
- LLVM 20.1.8 support
hipDNNsupport is removed by default- #1859[hipify-perl] Fix warnings on unsupported Driver or Runtime APIs which were erroneously not reported
- #1930 Revise
JIT API - #1962 Support for cuda-samples helper headers
- #2035 Remove
const_cast<const char**>inhiprtcCreateProgramandhiprtcCompileProgram
- 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
cuRANDintorocRANDunder the--rocoption - #1617 Support for
fp8math device/host API
MIOpensupport in hipify-perl under the-miopenoption- Use
const_cast<const char**>for the last arguments in thehiprtcCreateProgramandhiprtcCompileProgramfunction calls, as in CUDA, they are of theconst char* const*type - #1769 Support for
fp16device/host API - #1800 Fix instructions on building LLVM for HIPIFY on Linux
- #833
hipify-clangbuild failure against LLVM 15-18 onUbuntu,CentOS, andFedora
- CUDA 12.6.2 support
- cuDNN 9.5.1 support
- LLVM 19.1.3 support
- Full
hipBLAS64-bit APIs support - Full
rocBLAS64-bit APIs support
- 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
- CUDA 12.6.1 support
- cuDNN 9.5.0 support
- LLVM 19.1.1 support
rocBLAS64-bit APIs support- Initial support for direct hipification of
cuDNNintoMIOpenunder the--rocoption - Initial support for direct hipification of
cuRANDintorocRANDunder the--rocoption - #1650 Added a filtering ability for the supplementary hipification scripts
- Correct
rocheader files support
- #1617 Support for
fp8data types
- cuDNN 9.3.0 support
- Removed some post HIP 6.2 APIs from support
- Added hipification support for HIP functions
hipSetValidDevices,hipMemcpy2DArrayToArray,hipMemcpyAtoA,hipMemcpyAtoD,hipMemcpyAtoA,hipMemcpyAtoHAsync, andhipMemcpyHtoAAsync - Fixed an issue with
Skipped some replacementswhen hipification didn't occur at all
- CUDA 12.5.1 support
- cuDNN 9.2.1 support
- LLVM 18.1.8 support
hipBLAS64-bit APIs support- Support for Math Constants
math_constants.h
- CUDA 12.4.1 support
- cuDNN 9.1.1 support
- LLVM 18.1.6 support
- Full
hipBLASLtsupport
- Apply
reinterpret_castfor an explicit conversion betweenpointer-to-functionandpointer-to-object; affected functions:hipFuncGetAttributes,hipFuncSetAttribute,hipFuncSetCacheConfig,hipFuncSetSharedMemConfig,hipLaunchKernel, andhipLaunchCooperativeKernel
- cuDNN 9.0.0 support
- LLVM 18.1.2 support
- New options:
--clang-resource-directoryto specify the clang resource path - the path to the parent folder for theincludefolder that contains__clang_cuda_runtime_wrapper.hand other header files used during the hipification process
- Clang resource files used during hipification are now searchable and also can be specified by the
--clang-resource-directoryoption
- CUDA 12.3.2 support
- cuDNN 8.9.7 support
- LLVM 17.0.6 support
- Full
hipSOLVERsupport - Full
rocSPARSEsupport - New options:
--amapto hipify as much as possible, ignoring--default-preprocessorbehavior
- Code blocks skipped by the Preprocessor are not hipified anymore under the
--default-preprocessoroption
- Use the new locations of header files of some HIP and ROCm libraries (
hipRAND,hipFFT,rocSOLVER)
- 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
- #837 Added a new function to call transformation type "additional non-const arg"
- #1014 Added a new function to call transformation type "replace argument with a const"
- CUDA 12.2.0 support
- cuDNN 8.9.2 support
- LLVM 16.0.6 support
- Initial rocSPARSE support
- Initial
CUDA2ROCdocumentation 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
- In separate files:
- New options:
--use-hip-data-types(UsehipDataTypeinstead ofhipblasDatatype_torrocblas_datatype)--doc-roc=\<value\>(ROC documentation generation:skip(default),separate, andjoint; the--mdor--csvoption must be included)
- #822 Added a new function to call transformation type "additional const by value arg"
- #830 Added a new function to call transformation type "move arg from place X to place Y"
- 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
- Accessing
half2 structmembers (undocumented feature) - Retargeted
INSTALLto thebinsubfolder
- 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
- Synthetic unit tests for
cuBLAS2rocBLASandcuDNN2MIOpen
- CUDA 11.8.0 support
- cuDNN 8.6.0 support
- Device types support
- LLVM 15.0.4 support
- Removed
RPATHdefinitions (Linux)
- hipRTC support
- Error handling API support
- hipBLAS synthetic tests
- LLVM 15.0.0 support
- CUDA 11.7.0 support
- cuDNN 8.4.1 support
- CUB initial support
- More synthetic tests
- New options:
--hip-kernel-execution-syntax
- LLVM 3.8.0 is out of support
- HIPIFY-specific options support in unit testing
- Patches for LLVM 14.0.x (Windows only)
- Add
GNUInstallDirsfor CMake on Linux
- CUDA 11.6.0 support
- cuDNN 8.3.3 support
- LLVM 14.0.0 support
- CUDA 11.5.1 support
- cuDNN 8.3.2 support
- Hipification of
cuOccupancyMaxPotentialBlockSizeandcuOccupancyMaxPotentialBlockSizeWithFlags
- 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
- Support for different formats of locally generated documentation
- Experimentally supported APIs
- Packaging for Debian and RPM Linux distributions
- Undo argument typecasting for four driver API functions (
cuStreamWaitValue32,cuStreamWaitValue64,cuStreamWriteValue32, andcuStreamWriteValue64) because the arguments in the corresponding HIP functions are nowuint
- cuDNN 8.2.4 support
- Initial graph API support
- GNU C/C++ 11.1 support
- LLVM 12.0.1 support
- Synthetic unit tests
-std=c++14by default
- Abandoned
HIP_DYNAMIC_SHARED
- CUDA 11.3.0 support
- cuDNN 8.2.0 support
- LLVM 12.0.0 support
- Added missing type casting arguments for
cuStreamWaitValue32(64)andcuStreamWriteValue32(64)
- CUDA 11.2.2 support
- cuDNN 8.1.1 support
- Initial device API support
- LLVM 11.1.0 support
- New options:
--doc-format=<value>, withfull(default),strict, andcompactoptions
- Tests on kernel launch syntax
- CUDA 11.2.0 support
- Stream-ordered memory API support
- cuDNN 8.1.1 support
- LLVM 11.0.1 support
- Initial support for API versioning
- Patches for LLVM 10.0.x and 11.0.0 (Windows and Linux)
- LLVM 11.0.0 support
- Revised CUDA and HIP API and data type versioning
- Revised and removed deprecated CUDA and HIP APIs and data types
-
CUDA 11.0.1 support
-
CUDA2HIPdocumentation generation in Markdown and CSV formats -
Versioning support for CUDA and HIP APIs
-
New options:
--md(generate Markdown documentation)--csv(generate CSV documentation)
-
Improved
hipify-perlgeneration
- cuDNN 8.0.2 support
compile_commands.jsonsupport (-p <build-path>)
- Improved
hipify-perlgeneration
- CUDA 11.0.0 support
- Linux packaging
- LLVM 10.0.1 support
deprecatedflag for all corresponding CUDA and HIP APIs
- Added warning for all deprecated APIs
- CUDA 10.2.0 support
- cuDNN 7.6.5 support
- LLVM 10.0.0 support
hipify-clangandclangoptions separator (--) support