Using hipify-perl

Contents

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.