Using hipify-perl#
hipify-perl is perl-based script that heavily uses regular expressions, that is automatically generated from hipify-clang.
Advantages:
Ease of use
No checks for input source NVIDIA CUDA code for correctness required
No dependency on third party tools, including CUDA
Disadvantages:
Inability or difficulty in implementing the following constructs:
Macros expansion
Namespaces:
Redefinition of CUDA entities in user namespaces
Using directive
Templates (some cases)
Device or host function calls differentiation
Correct injection of header files
Parsing complicated argument lists
Example#
For additional details on the following hipify-perl command options, see hipify-perl command. For more advanced translation needs use hipify-clang as it is more comprehensive and accurate.
Convert a simple CUDA file (square.cu) to HIP using hipify-perl:
hipify-perl square.cu -o square.cu.hip
This command translates the input file and writes the result to square.cu.hip.