#!/usr/bin/perl

##
# Copyright (c) 2015-present Advanced Micro Devices, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
##

# IMPORTANT: Do not change this file manually: it is generated by hipify-clang --perl

# USAGE
#
my $USAGE =<<USAGE;

    hipify-perl is a tool to translate CUDA source code into portable HIP C++

    USAGE: hipify-perl [OPTIONS] INPUT_FILE

    OPTIONS:

      -examine          - Combines -no-output and -print-stats options
      -exclude-dirs=s   - Exclude directories
      -exclude-files=s  - Exclude files
      -experimental     - HIPIFY experimentally supported APIs
      -help             - Display available options
      -inplace          - Backup the input file in .prehip file, modify the input file inplace
      -no-output        - Don't write any translated output to stdout
      -o=s              - Output filename
      -print-stats      - Print translation statistics
      -quiet-warnings   - Don't print warnings on unknown CUDA identifiers
      -roc              - Translate to roc instead of hip where it is possible
      -version          - The supported HIP version
      -whitelist=s      - Whitelist of identifiers
USAGE
#
use warnings;
use Cwd;
use Getopt::Long;
use File::Basename;
my $whitelist = "";
my $exclude_dirs =  "";
my $exclude_files = "";
my $fileName = "";
my $hipFileName = "";
my %ft;
my %Tkernels;

GetOptions(
      "examine" => \$examine                  # Combines -no-output and -print-stats options
    , "exclude-dirs=s" => \$exclude_dirs      # Exclude directories
    , "exclude-files=s" => \$exclude_files    # Exclude files
    , "experimental" => \$experimental        # HIPIFY experimentally supported APIs
    , "help" => \$help                        # Display available options
    , "inplace" => \$inplace                  # Backup the input file in .prehip file, modify the input file inplace
    , "no-output" => \$no_output              # Don't write any translated output to stdout
    , "o=s" => \$hipFileName                  # Output filename
    , "print-stats" => \$print_stats          # Print translation statistics
    , "quiet-warnings" => \$quiet_warnings    # Don't print warnings on unknown CUDA identifiers
    , "roc" => \$roc                          # Translate to roc instead of hip where it is possible
    , "version" => \$version                  # The supported HIP version
    , "whitelist=s" => \$whitelist            # Whitelist of identifiers
);

my %deprecated_funcs = (
    "cusparseZsctr" => "11.0",
    "cusparseZhybsv_solve" => "10.2",
    "cusparseZhybsv_analysis" => "10.2",
    "cusparseZhybmv" => "10.2",
    "cusparseZhyb2dense" => "10.2",
    "cusparseZhyb2csr" => "10.2",
    "cusparseZhyb2csc" => "10.2",
    "cusparseZgtsv_nopivot" => "10.2",
    "cusparseZgtsvStridedBatch" => "10.2",
    "cusparseZgtsv" => "10.2",
    "cusparseZgthrz" => "11.0",
    "cusparseZgthr" => "11.0",
    "cusparseZgemmi" => "11.0",
    "cusparseZdoti" => "10.2",
    "cusparseZdotci" => "10.2",
    "cusparseZdense2hyb" => "10.2",
    "cusparseZdense2csr" => "11.1",
    "cusparseZdense2csc" => "11.1",
    "cusparseZcsrsv_solve" => "10.2",
    "cusparseZcsrsv_analysis" => "10.2",
    "cusparseZcsrsv2_solve" => "11.3",
    "cusparseZcsrsv2_bufferSizeExt" => "11.3",
    "cusparseZcsrsv2_bufferSize" => "11.3",
    "cusparseZcsrsv2_analysis" => "11.3",
    "cusparseZcsrsm_solve" => "10.2",
    "cusparseZcsrsm_analysis" => "10.2",
    "cusparseZcsrsm2_solve" => "11.3",
    "cusparseZcsrsm2_bufferSizeExt" => "11.3",
    "cusparseZcsrsm2_analysis" => "11.3",
    "cusparseZcsrmv_mp" => "10.2",
    "cusparseZcsrmv" => "10.2",
    "cusparseZcsrmm2" => "10.2",
    "cusparseZcsrmm" => "10.2",
    "cusparseZcsrilu0" => "10.2",
    "cusparseZcsric0" => "10.2",
    "cusparseZcsrgemm2_bufferSizeExt" => "11.0",
    "cusparseZcsrgemm2" => "11.0",
    "cusparseZcsrgemm" => "10.2",
    "cusparseZcsrgeam" => "10.2",
    "cusparseZcsr2hyb" => "10.2",
    "cusparseZcsr2dense" => "11.1",
    "cusparseZcsr2csc" => "10.2",
    "cusparseZcsc2hyb" => "10.2",
    "cusparseZcsc2dense" => "11.1",
    "cusparseZaxpyi" => "11.0",
    "cusparseXcsrsv2_zeroPivot" => "11.3",
    "cusparseXcsrsm2_zeroPivot" => "11.3",
    "cusparseXcsrgemmNnz" => "10.2",
    "cusparseXcsrgemm2Nnz" => "11.0",
    "cusparseXcsrgeamNnz" => "10.2",
    "cusparseSsctr" => "11.0",
    "cusparseSroti" => "11.0",
    "cusparseSolveAnalysisInfo_t" => "10.2",
    "cusparseSolveAnalysisInfo" => "10.2",
    "cusparseShybsv_solve" => "10.2",
    "cusparseShybsv_analysis" => "10.2",
    "cusparseShybmv" => "10.2",
    "cusparseShyb2dense" => "10.2",
    "cusparseShyb2csr" => "10.2",
    "cusparseShyb2csc" => "10.2",
    "cusparseSgtsv_nopivot" => "10.2",
    "cusparseSgtsvStridedBatch" => "10.2",
    "cusparseSgtsv" => "10.2",
    "cusparseSgthrz" => "11.0",
    "cusparseSgthr" => "11.0",
    "cusparseSgemmi" => "11.0",
    "cusparseSdoti" => "10.2",
    "cusparseSdense2hyb" => "10.2",
    "cusparseSdense2csr" => "11.1",
    "cusparseSdense2csc" => "11.1",
    "cusparseScsrsv_solve" => "10.2",
    "cusparseScsrsv_analysis" => "10.2",
    "cusparseScsrsv2_solve" => "11.3",
    "cusparseScsrsv2_bufferSizeExt" => "11.3",
    "cusparseScsrsv2_bufferSize" => "11.3",
    "cusparseScsrsv2_analysis" => "11.3",
    "cusparseScsrsm_solve" => "10.2",
    "cusparseScsrsm_analysis" => "10.2",
    "cusparseScsrsm2_solve" => "11.3",
    "cusparseScsrsm2_bufferSizeExt" => "11.3",
    "cusparseScsrsm2_analysis" => "11.3",
    "cusparseScsrmv_mp" => "10.2",
    "cusparseScsrmv" => "10.2",
    "cusparseScsrmm2" => "10.2",
    "cusparseScsrmm" => "10.2",
    "cusparseScsrilu0" => "10.2",
    "cusparseScsric0" => "10.2",
    "cusparseScsrgemm2_bufferSizeExt" => "11.0",
    "cusparseScsrgemm2" => "11.0",
    "cusparseScsrgemm" => "10.2",
    "cusparseScsrgeam" => "10.2",
    "cusparseScsr2hyb" => "10.2",
    "cusparseScsr2dense" => "11.1",
    "cusparseScsr2csc" => "10.2",
    "cusparseScsc2hyb" => "10.2",
    "cusparseScsc2dense" => "11.1",
    "cusparseSaxpyi" => "11.0",
    "cusparseHybPartition_t" => "10.2",
    "cusparseHybMat_t" => "10.2",
    "cusparseHybMat" => "10.2",
    "cusparseDsctr" => "11.0",
    "cusparseDroti" => "11.0",
    "cusparseDhybsv_solve" => "10.2",
    "cusparseDhybsv_analysis" => "10.2",
    "cusparseDhybmv" => "10.2",
    "cusparseDhyb2dense" => "10.2",
    "cusparseDhyb2csr" => "10.2",
    "cusparseDhyb2csc" => "10.2",
    "cusparseDgtsv_nopivot" => "10.2",
    "cusparseDgtsvStridedBatch" => "10.2",
    "cusparseDgtsv" => "10.2",
    "cusparseDgthrz" => "11.0",
    "cusparseDgthr" => "11.0",
    "cusparseDgemmi" => "11.0",
    "cusparseDestroySolveAnalysisInfo" => "10.2",
    "cusparseDestroyHybMat" => "10.2",
    "cusparseDestroyCsrsv2Info" => "11.3",
    "cusparseDestroyCsrsm2Info" => "11.3",
    "cusparseDestroyCsrgemm2Info" => "11.0",
    "cusparseDdoti" => "10.2",
    "cusparseDdense2hyb" => "10.2",
    "cusparseDdense2csr" => "11.1",
    "cusparseDdense2csc" => "11.1",
    "cusparseDcsrsv_solve" => "10.2",
    "cusparseDcsrsv_analysis" => "10.2",
    "cusparseDcsrsv2_solve" => "11.3",
    "cusparseDcsrsv2_bufferSizeExt" => "11.3",
    "cusparseDcsrsv2_analysis" => "11.3",
    "cusparseDcsrsm_solve" => "10.2",
    "cusparseDcsrsm_analysis" => "10.2",
    "cusparseDcsrsm2_solve" => "11.3",
    "cusparseDcsrsm2_bufferSizeExt" => "11.3",
    "cusparseDcsrsm2_analysis" => "11.3",
    "cusparseDcsrmv_mp" => "10.2",
    "cusparseDcsrmv" => "10.2",
    "cusparseDcsrmm2" => "10.2",
    "cusparseDcsrmm" => "10.2",
    "cusparseDcsrilu0" => "10.2",
    "cusparseDcsric0" => "10.2",
    "cusparseDcsrgemm2_bufferSizeExt" => "11.0",
    "cusparseDcsrgemm2" => "11.0",
    "cusparseDcsrgemm" => "10.2",
    "cusparseDcsrgeam" => "10.2",
    "cusparseDcsr2hyb" => "10.2",
    "cusparseDcsr2dense" => "11.1",
    "cusparseDcsr2csc" => "10.2",
    "cusparseDcsc2hyb" => "10.2",
    "cusparseDcsc2dense" => "11.1",
    "cusparseDaxpyi" => "11.0",
    "cusparseCsrsv_solveEx" => "10.2",
    "cusparseCsrsv_analysisEx" => "10.2",
    "cusparseCsrmvEx_bufferSize" => "11.2",
    "cusparseCsrmvEx" => "11.2",
    "cusparseCsrilu0Ex" => "10.2",
    "cusparseCsr2cscEx" => "10.2",
    "cusparseCsctr" => "11.0",
    "cusparseCreateSolveAnalysisInfo" => "10.2",
    "cusparseCreateHybMat" => "10.2",
    "cusparseCreateCsrsv2Info" => "11.3",
    "cusparseCreateCsrsm2Info" => "11.3",
    "cusparseCreateCsrgemm2Info" => "11.0",
    "cusparseCreateCooAoS" => "11.2",
    "cusparseCooAoSGet" => "11.2",
    "cusparseConstrainedGeMM_bufferSize" => "11.2",
    "cusparseConstrainedGeMM" => "11.2",
    "cusparseChybsv_solve" => "10.2",
    "cusparseChybsv_analysis" => "10.2",
    "cusparseChybmv" => "10.2",
    "cusparseChyb2dense" => "10.2",
    "cusparseChyb2csr" => "10.2",
    "cusparseChyb2csc" => "10.2",
    "cusparseCgtsv_nopivot" => "10.2",
    "cusparseCgtsvStridedBatch" => "10.2",
    "cusparseCgtsv" => "10.2",
    "cusparseCgthrz" => "11.0",
    "cusparseCgthr" => "11.0",
    "cusparseCgemmi" => "11.0",
    "cusparseCdoti" => "10.2",
    "cusparseCdotci" => "10.2",
    "cusparseCdense2hyb" => "10.2",
    "cusparseCdense2csr" => "11.1",
    "cusparseCdense2csc" => "11.1",
    "cusparseCcsrsv_solve" => "10.2",
    "cusparseCcsrsv_analysis" => "10.2",
    "cusparseCcsrsv2_solve" => "11.3",
    "cusparseCcsrsv2_bufferSizeExt" => "11.3",
    "cusparseCcsrsv2_bufferSize" => "11.3",
    "cusparseCcsrsv2_analysis" => "11.3",
    "cusparseCcsrsm_solve" => "10.2",
    "cusparseCcsrsm_analysis" => "10.2",
    "cusparseCcsrsm2_solve" => "11.3",
    "cusparseCcsrsm2_bufferSizeExt" => "11.3",
    "cusparseCcsrsm2_analysis" => "11.3",
    "cusparseCcsrmv_mp" => "10.2",
    "cusparseCcsrmv" => "10.2",
    "cusparseCcsrmm2" => "10.2",
    "cusparseCcsrmm" => "10.2",
    "cusparseCcsrilu0" => "10.2",
    "cusparseCcsric0" => "10.2",
    "cusparseCcsrgemm2_bufferSizeExt" => "11.0",
    "cusparseCcsrgemm2" => "11.0",
    "cusparseCcsrgemm" => "10.2",
    "cusparseCcsrgeam" => "10.2",
    "cusparseCcsr2hyb" => "10.2",
    "cusparseCcsr2dense" => "11.1",
    "cusparseCcsr2csc" => "10.2",
    "cusparseCcsc2hyb" => "10.2",
    "cusparseCcsc2dense" => "11.1",
    "cusparseCaxpyi" => "11.0",
    "cudnnSetRNNProjectionLayers" => "8.0.1",
    "cudnnSetRNNPaddingMode" => "8.0.1",
    "cudnnSetRNNMatrixMathType" => "8.0.1",
    "cudnnSetRNNDescriptor_v6" => "8.0.1",
    "cudnnSetRNNDescriptor_v5" => "7.6.5",
    "cudnnSetRNNDescriptor" => "7.6.5",
    "cudnnSetRNNBiasMode" => "8.0.1",
    "cudnnSetRNNAlgorithmDescriptor" => "8.0.2",
    "cudnnSetPersistentRNNPlan" => "8.0.1",
    "cudnnSetAlgorithmPerformance" => "8.0.2",
    "cudnnSetAlgorithmDescriptor" => "8.0.2",
    "cudnnSaveAlgorithm" => "8.0.2",
    "cudnnRestoreAlgorithm" => "8.0.2",
    "cudnnRNNSetClip" => "8.0.1",
    "cudnnRNNGetClip" => "8.0.1",
    "cudnnRNNForwardTrainingEx" => "8.0.1",
    "cudnnRNNForwardTraining" => "8.0.1",
    "cudnnRNNForwardInferenceEx" => "8.0.1",
    "cudnnRNNForwardInference" => "8.0.1",
    "cudnnRNNBackwardWeightsEx" => "8.0.2",
    "cudnnRNNBackwardWeights" => "8.0.2",
    "cudnnRNNBackwardDataEx" => "8.0.2",
    "cudnnRNNBackwardData" => "8.0.2",
    "cudnnGetRNNWorkspaceSize" => "8.0.1",
    "cudnnGetRNNTrainingReserveSize" => "8.0.1",
    "cudnnGetRNNProjectionLayers" => "8.0.1",
    "cudnnGetRNNParamsSize" => "8.0.1",
    "cudnnGetRNNPaddingMode" => "8.0.1",
    "cudnnGetRNNMatrixMathType" => "8.0.1",
    "cudnnGetRNNLinLayerMatrixParams" => "8.0.1",
    "cudnnGetRNNLinLayerBiasParams" => "8.0.1",
    "cudnnGetRNNForwardTrainingAlgorithmMaxCount" => "8.0.2",
    "cudnnGetRNNForwardInferenceAlgorithmMaxCount" => "8.0.2",
    "cudnnGetRNNDescriptor_v6" => "8.0.1",
    "cudnnGetRNNDescriptor" => "7.6.5",
    "cudnnGetRNNBiasMode" => "8.0.1",
    "cudnnGetRNNBackwardWeightsAlgorithmMaxCount" => "8.0.2",
    "cudnnGetRNNBackwardDataAlgorithmMaxCount" => "8.0.2",
    "cudnnGetConvolutionForwardAlgorithm" => "7.6.5",
    "cudnnGetConvolutionBackwardFilterAlgorithm" => "7.6.5",
    "cudnnGetConvolutionBackwardDataAlgorithm" => "7.6.5",
    "cudnnGetAlgorithmSpaceSize" => "8.0.2",
    "cudnnGetAlgorithmPerformance" => "8.0.2",
    "cudnnGetAlgorithmDescriptor" => "8.0.2",
    "cudnnFindRNNForwardTrainingAlgorithmEx" => "8.0.2",
    "cudnnFindRNNForwardInferenceAlgorithmEx" => "8.0.2",
    "cudnnFindRNNBackwardWeightsAlgorithmEx" => "8.0.2",
    "cudnnFindRNNBackwardDataAlgorithmEx" => "8.0.2",
    "cudnnDestroyPersistentRNNPlan" => "8.0.1",
    "cudnnDestroyAlgorithmPerformance" => "8.0.2",
    "cudnnDestroyAlgorithmDescriptor" => "8.0.2",
    "cudnnCreatePersistentRNNPlan" => "8.0.1",
    "cudnnCreateAlgorithmPerformance" => "8.0.2",
    "cudnnCreateAlgorithmDescriptor" => "8.0.2",
    "cudnnCopyAlgorithmDescriptor" => "8.0.2",
    "cudnnConvolutionFwdPreference_t" => "7.6.5",
    "cudnnConvolutionBwdFilterPreference_t" => "7.6.5",
    "cudnnConvolutionBwdDataPreference_t" => "7.6.5",
    "cudaUnbindTexture" => "11.0",
    "cudaThreadSynchronize" => "10.0",
    "cudaThreadSetLimit" => "10.0",
    "cudaThreadSetCacheConfig" => "10.0",
    "cudaThreadGetLimit" => "10.0",
    "cudaThreadGetCacheConfig" => "10.0",
    "cudaThreadExit" => "10.0",
    "cudaSetDoubleForHost" => "10.0",
    "cudaSetDoubleForDevice" => "10.0",
    "cudaMemcpyToArrayAsync" => "10.1",
    "cudaMemcpyToArray" => "10.1",
    "cudaMemcpyFromArrayAsync" => "10.1",
    "cudaMemcpyFromArray" => "10.1",
    "cudaMemcpyArrayToArray" => "10.1",
    "cudaLaunchCooperativeKernelMultiDevice" => "11.3",
    "cudaGetTextureReference" => "11.0",
    "cudaGetTextureAlignmentOffset" => "11.0",
    "cudaGetSurfaceReference" => "11.0",
    "cudaGLUnregisterBufferObject" => "10.0",
    "cudaGLUnmapBufferObjectAsync" => "10.0",
    "cudaGLUnmapBufferObject" => "10.0",
    "cudaGLSetGLDevice" => "10.0",
    "cudaGLSetBufferObjectMapFlags" => "10.0",
    "cudaGLRegisterBufferObject" => "10.0",
    "cudaGLMapBufferObjectAsync" => "10.0",
    "cudaGLMapBufferObject" => "10.0",
    "cudaErrorTextureNotBound" => "3.1",
    "cudaErrorTextureFetchFailed" => "3.1",
    "cudaErrorSynchronizationError" => "3.1",
    "cudaErrorProfilerNotInitialized" => "5.0",
    "cudaErrorProfilerAlreadyStopped" => "5.0",
    "cudaErrorProfilerAlreadyStarted" => "5.0",
    "cudaErrorPriorLaunchFailure" => "3.1",
    "cudaErrorNotYetImplemented" => "4.1",
    "cudaErrorMixedDeviceExecution" => "3.1",
    "cudaErrorMemoryValueTooLarge" => "3.1",
    "cudaErrorInvalidHostPointer" => "10.1",
    "cudaErrorInvalidDevicePointer" => "10.1",
    "cudaErrorApiFailureBase" => "4.1",
    "cudaErrorAddressOfConstant" => "3.1",
    "cudaDevAttrMaxTimelineSemaphoreInteropSupported" => "11.5",
    "cudaD3D9UnregisterResource" => "10.0",
    "cudaD3D9UnmapResources" => "10.0",
    "cudaD3D9ResourceSetMapFlags" => "10.0",
    "cudaD3D9ResourceGetSurfaceDimensions" => "10.0",
    "cudaD3D9ResourceGetMappedSize" => "10.0",
    "cudaD3D9ResourceGetMappedPointer" => "10.0",
    "cudaD3D9ResourceGetMappedPitch" => "10.0",
    "cudaD3D9ResourceGetMappedArray" => "10.0",
    "cudaD3D9MapResources" => "10.0",
    "cudaD3D11SetDirect3DDevice" => "10.0",
    "cudaD3D11GetDirect3DDevice" => "10.0",
    "cudaD3D10UnregisterResource" => "10.0",
    "cudaD3D10UnmapResources" => "10.0",
    "cudaD3D10SetDirect3DDevice" => "10.0",
    "cudaD3D10ResourceSetMapFlags" => "10.0",
    "cudaD3D10ResourceGetSurfaceDimensions" => "10.0",
    "cudaD3D10ResourceGetMappedSize" => "10.0",
    "cudaD3D10ResourceGetMappedPointer" => "10.0",
    "cudaD3D10ResourceGetMappedPitch" => "10.0",
    "cudaD3D10ResourceGetMappedArray" => "10.0",
    "cudaD3D10RegisterResource" => "10.0",
    "cudaD3D10MapResources" => "10.0",
    "cudaD3D10GetDirect3DDevice" => "10.0",
    "cudaBindTextureToMipmappedArray" => "11.0",
    "cudaBindTextureToArray" => "11.0",
    "cudaBindTexture2D" => "11.0",
    "cudaBindTexture" => "11.0",
    "cudaBindSurfaceToArray" => "11.0",
    "cuTexRefSetMipmappedArray" => "11.0",
    "cuTexRefSetMipmapLevelClamp" => "11.0",
    "cuTexRefSetMipmapLevelBias" => "11.0",
    "cuTexRefSetMipmapFilterMode" => "11.0",
    "cuTexRefSetMaxAnisotropy" => "11.0",
    "cuTexRefSetFormat" => "11.0",
    "cuTexRefSetFlags" => "11.0",
    "cuTexRefSetFilterMode" => "11.0",
    "cuTexRefSetBorderColor" => "11.0",
    "cuTexRefSetArray" => "11.0",
    "cuTexRefSetAddress_v2" => "11.0",
    "cuTexRefSetAddressMode" => "11.0",
    "cuTexRefSetAddress2D" => "11.0",
    "cuTexRefSetAddress" => "11.0",
    "cuTexRefGetMipmappedArray" => "11.0",
    "cuTexRefGetMipmapLevelClamp" => "11.0",
    "cuTexRefGetMipmapLevelBias" => "11.0",
    "cuTexRefGetMipmapFilterMode" => "11.0",
    "cuTexRefGetMaxAnisotropy" => "11.0",
    "cuTexRefGetFormat" => "11.0",
    "cuTexRefGetFlags" => "11.0",
    "cuTexRefGetFilterMode" => "11.0",
    "cuTexRefGetBorderColor" => "11.0",
    "cuTexRefGetArray" => "11.0",
    "cuTexRefGetAddress_v2" => "11.0",
    "cuTexRefGetAddressMode" => "11.0",
    "cuTexRefGetAddress" => "11.0",
    "cuTexRefDestroy" => "11.0",
    "cuTexRefCreate" => "11.0",
    "cuSurfRefSetArray" => "11.0",
    "cuSurfRefGetArray" => "11.0",
    "cuParamSetv" => "9.2",
    "cuParamSeti" => "9.2",
    "cuParamSetf" => "9.2",
    "cuParamSetTexRef" => "9.2",
    "cuParamSetSize" => "9.2",
    "cuLaunchGridAsync" => "9.2",
    "cuLaunchGrid" => "9.2",
    "cuLaunchCooperativeKernelMultiDevice" => "11.3",
    "cuLaunch" => "9.2",
    "cuGLUnregisterBufferObject" => "9.2",
    "cuGLUnmapBufferObjectAsync" => "9.2",
    "cuGLUnmapBufferObject" => "9.2",
    "cuGLSetBufferObjectMapFlags" => "9.2",
    "cuGLRegisterBufferObject" => "9.2",
    "cuGLMapBufferObjectAsync" => "9.2",
    "cuGLMapBufferObject" => "9.2",
    "cuGLInit" => "9.2",
    "cuGLCtxCreate" => "9.2",
    "cuFuncSetSharedSize" => "9.2",
    "cuFuncSetBlockShape" => "9.2",
    "cuDeviceGetProperties" => "9.2",
    "cuDeviceComputeCapability" => "9.2",
    "cuD3D9UnregisterResource" => "9.2",
    "cuD3D9UnmapResources" => "9.2",
    "cuD3D9ResourceSetMapFlags" => "9.2",
    "cuD3D9ResourceGetSurfaceDimensions" => "9.2",
    "cuD3D9ResourceGetMappedSize" => "9.2",
    "cuD3D9ResourceGetMappedPointer" => "9.2",
    "cuD3D9ResourceGetMappedPitch" => "9.2",
    "cuD3D9ResourceGetMappedArray" => "9.2",
    "cuD3D9RegisterResource" => "9.2",
    "cuD3D9MapResources" => "9.2",
    "cuD3D11GetDirect3DDevice" => "9.2",
    "cuD3D11CtxCreateOnDevice" => "9.2",
    "cuD3D11CtxCreate" => "9.2",
    "cuD3D10UnregisterResource" => "9.2",
    "cuD3D10UnmapResources" => "9.2",
    "cuD3D10ResourceSetMapFlags" => "9.2",
    "cuD3D10ResourceGetSurfaceDimensions" => "9.2",
    "cuD3D10ResourceGetMappedSize" => "9.2",
    "cuD3D10ResourceGetMappedPointer" => "9.2",
    "cuD3D10ResourceGetMappedPitch" => "9.2",
    "cuD3D10ResourceGetMappedArray" => "9.2",
    "cuD3D10RegisterResource" => "9.2",
    "cuD3D10MapResources" => "9.2",
    "cuD3D10GetDirect3DDevice" => "9.2",
    "cuD3D10CtxCreateOnDevice" => "9.2",
    "cuD3D10CtxCreate" => "9.2",
    "CU_DEVICE_P2P_ATTRIBUTE_ARRAY_ACCESS_ACCESS_SUPPORTED" => "10.0",
    "CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED" => "10.1",
    "CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED" => "11.2",
    "CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK" => "5.0",
    "CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK" => "5.0",
    "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH" => "5.0",
    "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES" => "5.0",
    "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT" => "5.0",
    "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH" => "11.2",
    "CU_DEVICE_ATTRIBUTE_GPU_OVERLAP" => "5.0",
    "CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER" => "5.0",
    "CU_CTX_BLOCKING_SYNC" => "4.0",
    "CUSPARSE_MV_ALG_DEFAULT" => "11.3",
    "CUSPARSE_MM_ALG_DEFAULT" => "11.0",
    "CUSPARSE_HYB_PARTITION_USER" => "10.2",
    "CUSPARSE_HYB_PARTITION_MAX" => "10.2",
    "CUSPARSE_HYB_PARTITION_AUTO" => "10.2",
    "CUSPARSE_CSRMV_ALG2" => "11.2",
    "CUSPARSE_CSRMV_ALG1" => "11.2",
    "CUSPARSE_CSRMM_ALG1" => "11.0",
    "CUSPARSE_COOMV_ALG" => "11.2",
    "CUSPARSE_COOMM_ALG3" => "11.0",
    "CUSPARSE_COOMM_ALG2" => "11.0",
    "CUSPARSE_COOMM_ALG1" => "11.0",
    "CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT" => "7.6.5",
    "CUDNN_CONVOLUTION_FWD_PREFER_FASTEST" => "7.6.5",
    "CUDNN_CONVOLUTION_FWD_NO_WORKSPACE" => "7.6.5",
    "CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT" => "7.6.5",
    "CUDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST" => "7.6.5",
    "CUDNN_CONVOLUTION_BWD_FILTER_NO_WORKSPACE" => "7.6.5",
    "CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT" => "7.6.5",
    "CUDNN_CONVOLUTION_BWD_DATA_PREFER_FASTEST" => "7.6.5",
    "CUDNN_CONVOLUTION_BWD_DATA_NO_WORKSPACE" => "7.6.5",
    "CUDA_ERROR_PROFILER_NOT_INITIALIZED" => "5.0",
    "CUDA_ERROR_PROFILER_ALREADY_STOPPED" => "5.0",
    "CUDA_ERROR_PROFILER_ALREADY_STARTED" => "5.0",
    "CUDA_ERROR_CONTEXT_ALREADY_CURRENT" => "3.2",
    "CUDA_ARRAY3D_2DARRAY" => "5.0",
    "CUBLAS_TENSOR_OP_MATH" => "11.0"
);

my %removed_funcs = (
    "cusparseZhybsv_solve" => "11.0",
    "cusparseZhybsv_analysis" => "11.0",
    "cusparseZhybmv" => "11.0",
    "cusparseZhyb2dense" => "11.0",
    "cusparseZhyb2csr" => "11.0",
    "cusparseZhyb2csc" => "11.0",
    "cusparseZgtsv_nopivot" => "11.0",
    "cusparseZgtsvStridedBatch" => "11.0",
    "cusparseZgtsv" => "11.0",
    "cusparseZdoti" => "11.0",
    "cusparseZdotci" => "11.0",
    "cusparseZdense2hyb" => "11.0",
    "cusparseZcsrsv_solve" => "11.0",
    "cusparseZcsrsv_analysis" => "11.0",
    "cusparseZcsrsm_solve" => "11.0",
    "cusparseZcsrsm_analysis" => "11.0",
    "cusparseZcsrmv_mp" => "11.0",
    "cusparseZcsrmv" => "11.0",
    "cusparseZcsrmm2" => "11.0",
    "cusparseZcsrmm" => "11.0",
    "cusparseZcsrilu0" => "11.0",
    "cusparseZcsric0" => "11.0",
    "cusparseZcsrgemm" => "11.0",
    "cusparseZcsrgeam" => "11.0",
    "cusparseZcsr2hyb" => "11.0",
    "cusparseZcsr2csc" => "11.0",
    "cusparseZcsc2hyb" => "11.0",
    "cusparseXcsrgemmNnz" => "11.0",
    "cusparseXcsrgeamNnz" => "11.0",
    "cusparseSolveAnalysisInfo_t" => "11.0",
    "cusparseSolveAnalysisInfo" => "11.0",
    "cusparseSideMode_t" => "11.5",
    "cusparseShybsv_solve" => "11.0",
    "cusparseShybsv_analysis" => "11.0",
    "cusparseShybmv" => "11.0",
    "cusparseShyb2dense" => "11.0",
    "cusparseShyb2csr" => "11.0",
    "cusparseShyb2csc" => "11.0",
    "cusparseSgtsv_nopivot" => "11.0",
    "cusparseSgtsvStridedBatch" => "11.0",
    "cusparseSgtsv" => "11.0",
    "cusparseSdoti" => "11.0",
    "cusparseSdense2hyb" => "11.0",
    "cusparseScsrsv_solve" => "11.0",
    "cusparseScsrsv_analysis" => "11.0",
    "cusparseScsrsm_solve" => "11.0",
    "cusparseScsrsm_analysis" => "11.0",
    "cusparseScsrmv_mp" => "11.0",
    "cusparseScsrmv" => "11.0",
    "cusparseScsrmm2" => "11.0",
    "cusparseScsrmm" => "11.0",
    "cusparseScsrilu0" => "11.0",
    "cusparseScsric0" => "11.0",
    "cusparseScsrgemm" => "11.0",
    "cusparseScsrgeam" => "11.0",
    "cusparseScsr2hyb" => "11.0",
    "cusparseScsr2csc" => "11.0",
    "cusparseScsc2hyb" => "11.0",
    "cusparseHybPartition_t" => "11.0",
    "cusparseHybMat_t" => "11.0",
    "cusparseHybMat" => "11.0",
    "cusparseGetLevelInfo" => "11.0",
    "cusparseDhybsv_solve" => "11.0",
    "cusparseDhybsv_analysis" => "11.0",
    "cusparseDhybmv" => "11.0",
    "cusparseDhyb2dense" => "11.0",
    "cusparseDhyb2csr" => "11.0",
    "cusparseDhyb2csc" => "11.0",
    "cusparseDgtsv_nopivot" => "11.0",
    "cusparseDgtsvStridedBatch" => "11.0",
    "cusparseDgtsv" => "11.0",
    "cusparseDestroySolveAnalysisInfo" => "11.0",
    "cusparseDestroyHybMat" => "11.0",
    "cusparseDdoti" => "11.0",
    "cusparseDdense2hyb" => "11.0",
    "cusparseDcsrsv_solve" => "11.0",
    "cusparseDcsrsv_analysis" => "11.0",
    "cusparseDcsrsm_solve" => "11.0",
    "cusparseDcsrsm_analysis" => "11.0",
    "cusparseDcsrmv_mp" => "11.0",
    "cusparseDcsrmv" => "11.0",
    "cusparseDcsrmm2" => "11.0",
    "cusparseDcsrmm" => "11.0",
    "cusparseDcsrilu0" => "11.0",
    "cusparseDcsric0" => "11.0",
    "cusparseDcsrgemm" => "11.0",
    "cusparseDcsrgeam" => "11.0",
    "cusparseDcsr2hyb" => "11.0",
    "cusparseDcsr2csc" => "11.0",
    "cusparseDcsc2hyb" => "11.0",
    "cusparseCsrsv_solveEx" => "11.0",
    "cusparseCsrsv_analysisEx" => "11.0",
    "cusparseCsrilu0Ex" => "11.0",
    "cusparseCsr2cscEx" => "11.0",
    "cusparseCreateSolveAnalysisInfo" => "11.0",
    "cusparseCreateHybMat" => "11.0",
    "cusparseChybsv_solve" => "11.0",
    "cusparseChybsv_analysis" => "11.0",
    "cusparseChybmv" => "11.0",
    "cusparseChyb2dense" => "11.0",
    "cusparseChyb2csr" => "11.0",
    "cusparseChyb2csc" => "11.0",
    "cusparseCgtsv_nopivot" => "11.0",
    "cusparseCgtsvStridedBatch" => "11.0",
    "cusparseCgtsv" => "11.0",
    "cusparseCdoti" => "11.0",
    "cusparseCdotci" => "11.0",
    "cusparseCdense2hyb" => "11.0",
    "cusparseCcsrsv_solve" => "11.0",
    "cusparseCcsrsv_analysis" => "11.0",
    "cusparseCcsrsm_solve" => "11.0",
    "cusparseCcsrsm_analysis" => "11.0",
    "cusparseCcsrmv_mp" => "11.0",
    "cusparseCcsrmv" => "11.0",
    "cusparseCcsrmm2" => "11.0",
    "cusparseCcsrmm" => "11.0",
    "cusparseCcsrilu0" => "11.0",
    "cusparseCcsric0" => "11.0",
    "cusparseCcsrgemm" => "11.0",
    "cusparseCcsrgeam" => "11.0",
    "cusparseCcsr2hyb" => "11.0",
    "cusparseCcsr2csc" => "11.0",
    "cusparseCcsc2hyb" => "11.0",
    "cudnnSetRNNDescriptor_v5" => "8.0.1",
    "cudnnSetRNNDescriptor" => "8.0.1",
    "cudnnGetRNNDescriptor" => "8.0.1",
    "cudnnGetConvolutionForwardAlgorithm" => "8.0.1",
    "cudnnGetConvolutionBackwardFilterAlgorithm" => "8.0.1",
    "cudnnGetConvolutionBackwardDataAlgorithm" => "8.0.1",
    "cudnnConvolutionFwdPreference_t" => "8.0.1",
    "cudnnConvolutionBwdFilterPreference_t" => "8.0.1",
    "cudnnConvolutionBwdDataPreference_t" => "8.0.1",
    "cudaSetupArgument" => "10.1",
    "cudaLaunch" => "10.1",
    "cudaConfigureCall" => "10.1",
    "CU_TARGET_COMPUTE_73" => "10.0",
    "CU_TARGET_COMPUTE_13" => "9.0",
    "CU_TARGET_COMPUTE_12" => "9.0",
    "CU_TARGET_COMPUTE_11" => "9.0",
    "CU_TARGET_COMPUTE_10" => "9.0",
    "CU_GRAPH_NODE_TYPE_COUNT" => "11.0",
    "CU_DEVICE_P2P_ATTRIBUTE_ARRAY_ACCESS_ACCESS_SUPPORTED" => "10.1",
    "CU_COMPUTEMODE_EXCLUSIVE" => "8.0",
    "CUSPARSE_SPMMA_PREPROCESS" => "11.2",
    "CUSPARSE_SPMMA_ALG4" => "11.2",
    "CUSPARSE_SPMMA_ALG3" => "11.2",
    "CUSPARSE_SPMMA_ALG2" => "11.2",
    "CUSPARSE_SPMMA_ALG1" => "11.2",
    "CUSPARSE_SIDE_RIGHT" => "11.5",
    "CUSPARSE_SIDE_LEFT" => "11.5",
    "CUSPARSE_HYB_PARTITION_USER" => "11.0",
    "CUSPARSE_HYB_PARTITION_MAX" => "11.0",
    "CUSPARSE_HYB_PARTITION_AUTO" => "11.0",
    "CUSPARSE_ALG_NAIVE" => "11.0",
    "CUSPARSE_ALG1" => "11.0",
    "CUSPARSE_ALG0" => "11.0",
    "CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT" => "8.0.1",
    "CUDNN_CONVOLUTION_FWD_PREFER_FASTEST" => "8.0.1",
    "CUDNN_CONVOLUTION_FWD_NO_WORKSPACE" => "8.0.1",
    "CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT" => "8.0.1",
    "CUDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST" => "8.0.1",
    "CUDNN_CONVOLUTION_BWD_FILTER_NO_WORKSPACE" => "8.0.1",
    "CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT" => "8.0.1",
    "CUDNN_CONVOLUTION_BWD_DATA_PREFER_FASTEST" => "8.0.1",
    "CUDNN_CONVOLUTION_BWD_DATA_NO_WORKSPACE" => "8.0.1"
);

my %experimental_funcs = (
    "cudaGraphicsSubResourceGetMappedArray" => "5.1.0",
    "cuGraphicsSubResourceGetMappedArray" => "5.1.0",
    "cuGraphicsGLRegisterImage" => "5.1.0",
    "GLuint" => "5.1.0",
    "GLenum" => "5.1.0"
);

$print_stats = 1 if $examine;
$no_output = 1 if $examine;

# Whitelist of cuda[A-Z] identifiers, which are commonly used in CUDA sources but don't map to any CUDA API:
@whitelist = (
      "cudaCloverField"
    , "cudaColorSpinorField"
    , "cudaCpsGauge"
    , "cudaDevice"
    , "cudaDeviceId"
    , "cudaDevice_t"
    , "cudaDevices"
    , "cudaDimBlock"
    , "cudaDimGrid"
    , "cudaEigValueSet"
    , "cudaEigVecSet"
    , "cudaFatLink"
    , "cudaForce"
    , "cudaForce_ex"
    , "cudaGauge"
    , "cudaGaugeField"
    , "cudaGaugeTemp"
    , "cudaGauge_ex"
    , "cudaGradInput"
    , "cudaGradOutput"
    , "cudaGridDim"
    , "cudaIDs"
    , "cudaInForce"
    , "cudaInGauge"
    , "cudaInGaugeEx"
    , "cudaInLink"
    , "cudaInLinkEx"
    , "cudaIndices"
    , "cudaInput"
    , "cudaLongLink"
    , "cudaLongLinkOprod"
    , "cudaLongLinkOprod_ex"
    , "cudaMemcpys"
    , "cudaMom"
    , "cudaOprod"
    , "cudaOprod_ex"
    , "cudaOutForce"
    , "cudaOutGauge"
    , "cudaOutput"
    , "cudaParam"
    , "cudaQdpGauge"
    , "cudaQuark"
    , "cudaResult"
    , "cudaRitzVectors"
    , "cudaSiteLink"
    , "cudaSpinor"
    , "cudaSpinorOut"
    , "cudaStaple"
    , "cudaULink"
    , "cudaUnitarizedLink"
);

push(@whitelist, split(',', $whitelist));
push(@exclude_dirlist, split(',', $exclude_dirs));
push(@exclude_filelist, split(',', $exclude_files));

# Turn exclude dirlist and exclude_filelist into hash maps
%exclude_dirhash = map { $_ => 1 } @exclude_dirlist;
%exclude_filehash = map { $_ => 1 } @exclude_filelist;

@statNames = ("error", "init", "version", "device", "context", "module", "memory", "virtual_memory", "stream_ordered_memory", "addressing", "stream", "event", "external_resource_interop", "stream_memory", "execution", "graph", "occupancy", "texture", "surface", "peer", "graphics", "interactions", "profiler", "openGL", "D3D9", "D3D10", "D3D11", "VDPAU", "EGL", "thread", "complex", "library", "device_library", "device_function", "include", "include_cuda_main_header", "type", "literal", "numeric_literal", "define", "extern_shared", "kernel_launch");

sub totalStats {
    my %count = %{shift()};
    my $total = 0;
    foreach $key (keys %count) {
        $total += $count{$key};
    }
    return $total;
};

sub printStats {
    my $label     = shift();
    my @statNames = @{shift()};
    my %counts    = %{shift()};
    my $warnings  = shift();
    my $loc       = shift();
    my $total     = totalStats(\%counts);
    printf STDERR "%s %d CUDA->HIP refs ( ", $label, $total;
    foreach $stat (@statNames) {
        printf STDERR "%s:%d ", $stat, $counts{$stat};
    }
    printf STDERR ")\n  warning:%d LOC:%d", $warnings, $loc;
}

sub addStats {
    my $dest_ref  = shift();
    my %adder     = %{shift()};
    foreach $key (keys %adder) {
        $dest_ref->{$key} += $adder{$key};
    }
}

sub clearStats {
    my $dest_ref  = shift();
    my @statNames = @{shift()};
    foreach $stat(@statNames) {
        $dest_ref->{$stat} = 0;
    }
}

sub experimentalSubstitutions {
    $ft{'graphics'} += s/\bcuGraphicsSubResourceGetMappedArray\b/hipGraphicsSubResourceGetMappedArray/g;
    $ft{'graphics'} += s/\bcudaGraphicsSubResourceGetMappedArray\b/hipGraphicsSubResourceGetMappedArray/g;
    $ft{'openGL'} += s/\bcuGraphicsGLRegisterImage\b/hipGraphicsGLRegisterImage/g;
    $ft{'type'} += s/\bGLenum\b/GLenum/g;
    $ft{'type'} += s/\bGLuint\b/GLuint/g;
}

sub rocSubstitutions {
    $ft{'library'} += s/\bcublasAxpyEx\b/rocblas_axpy_ex/g;
    $ft{'library'} += s/\bcublasCaxpy\b/rocblas_caxpy/g;
    $ft{'library'} += s/\bcublasCaxpy_v2\b/rocblas_caxpy/g;
    $ft{'library'} += s/\bcublasCcopy\b/rocblas_ccopy/g;
    $ft{'library'} += s/\bcublasCcopy_v2\b/rocblas_ccopy/g;
    $ft{'library'} += s/\bcublasCdgmm\b/rocblas_cdgmm/g;
    $ft{'library'} += s/\bcublasCdotc\b/rocblas_cdotc/g;
    $ft{'library'} += s/\bcublasCdotc_v2\b/rocblas_cdotc/g;
    $ft{'library'} += s/\bcublasCdotu\b/rocblas_cdotu/g;
    $ft{'library'} += s/\bcublasCdotu_v2\b/rocblas_cdotu/g;
    $ft{'library'} += s/\bcublasCgbmv\b/rocblas_cgbmv/g;
    $ft{'library'} += s/\bcublasCgbmv_v2\b/rocblas_cgbmv/g;
    $ft{'library'} += s/\bcublasCgeam\b/rocblas_cgeam/g;
    $ft{'library'} += s/\bcublasCgemm\b/rocblas_cgemm/g;
    $ft{'library'} += s/\bcublasCgemmBatched\b/rocblas_cgemm_batched/g;
    $ft{'library'} += s/\bcublasCgemmStridedBatched\b/rocblas_cgemm_strided_batched/g;
    $ft{'library'} += s/\bcublasCgemm_v2\b/rocblas_cgemm/g;
    $ft{'library'} += s/\bcublasCgemv\b/rocblas_cgemv/g;
    $ft{'library'} += s/\bcublasCgemv_v2\b/rocblas_cgemv/g;
    $ft{'library'} += s/\bcublasCgerc\b/rocblas_cgerc/g;
    $ft{'library'} += s/\bcublasCgerc_v2\b/rocblas_cgerc/g;
    $ft{'library'} += s/\bcublasCgeru\b/rocblas_cgeru/g;
    $ft{'library'} += s/\bcublasCgeru_v2\b/rocblas_cgeru/g;
    $ft{'library'} += s/\bcublasChbmv\b/rocblas_chbmv/g;
    $ft{'library'} += s/\bcublasChbmv_v2\b/rocblas_chbmv/g;
    $ft{'library'} += s/\bcublasChemm\b/rocblas_chemm/g;
    $ft{'library'} += s/\bcublasChemm_v2\b/rocblas_chemm/g;
    $ft{'library'} += s/\bcublasChemv\b/rocblas_chemv/g;
    $ft{'library'} += s/\bcublasChemv_v2\b/rocblas_chemv/g;
    $ft{'library'} += s/\bcublasCher\b/rocblas_cher/g;
    $ft{'library'} += s/\bcublasCher2\b/rocblas_cher2/g;
    $ft{'library'} += s/\bcublasCher2_v2\b/rocblas_cher2/g;
    $ft{'library'} += s/\bcublasCher2k\b/rocblas_cher2k/g;
    $ft{'library'} += s/\bcublasCher2k_v2\b/rocblas_cher2k/g;
    $ft{'library'} += s/\bcublasCher_v2\b/rocblas_cher/g;
    $ft{'library'} += s/\bcublasCherk\b/rocblas_cherk/g;
    $ft{'library'} += s/\bcublasCherk_v2\b/rocblas_cherkx/g;
    $ft{'library'} += s/\bcublasCherkx\b/rocblas_cherkx/g;
    $ft{'library'} += s/\bcublasChpmv\b/rocblas_chpmv/g;
    $ft{'library'} += s/\bcublasChpmv_v2\b/rocblas_chpmv/g;
    $ft{'library'} += s/\bcublasChpr\b/rocblas_chpr/g;
    $ft{'library'} += s/\bcublasChpr2\b/rocblas_chpr2/g;
    $ft{'library'} += s/\bcublasChpr2_v2\b/rocblas_chpr2/g;
    $ft{'library'} += s/\bcublasChpr_v2\b/rocblas_chpr/g;
    $ft{'library'} += s/\bcublasCreate\b/rocblas_create_handle/g;
    $ft{'library'} += s/\bcublasCreate_v2\b/rocblas_create_handle/g;
    $ft{'library'} += s/\bcublasCrot\b/rocblas_crot/g;
    $ft{'library'} += s/\bcublasCrot_v2\b/rocblas_crot/g;
    $ft{'library'} += s/\bcublasCrotg\b/rocblas_crotg/g;
    $ft{'library'} += s/\bcublasCrotg_v2\b/rocblas_crotg/g;
    $ft{'library'} += s/\bcublasCscal\b/rocblas_cscal/g;
    $ft{'library'} += s/\bcublasCscal_v2\b/rocblas_cscal/g;
    $ft{'library'} += s/\bcublasCsrot\b/rocblas_csrot/g;
    $ft{'library'} += s/\bcublasCsrot_v2\b/rocblas_csrot/g;
    $ft{'library'} += s/\bcublasCsscal\b/rocblas_csscal/g;
    $ft{'library'} += s/\bcublasCsscal_v2\b/rocblas_csscal/g;
    $ft{'library'} += s/\bcublasCswap\b/rocblas_cswap/g;
    $ft{'library'} += s/\bcublasCswap_v2\b/rocblas_cswap/g;
    $ft{'library'} += s/\bcublasCsymm\b/rocblas_csymm/g;
    $ft{'library'} += s/\bcublasCsymm_v2\b/rocblas_csymm/g;
    $ft{'library'} += s/\bcublasCsymv\b/rocblas_csymv/g;
    $ft{'library'} += s/\bcublasCsymv_v2\b/rocblas_csymv/g;
    $ft{'library'} += s/\bcublasCsyr\b/rocblas_csyr/g;
    $ft{'library'} += s/\bcublasCsyr2\b/rocblas_csyr2/g;
    $ft{'library'} += s/\bcublasCsyr2_v2\b/rocblas_csyr2/g;
    $ft{'library'} += s/\bcublasCsyr2k\b/rocblas_csyr2k/g;
    $ft{'library'} += s/\bcublasCsyr2k_v2\b/rocblas_csyr2k/g;
    $ft{'library'} += s/\bcublasCsyr_v2\b/rocblas_csyr/g;
    $ft{'library'} += s/\bcublasCsyrk\b/rocblas_csyrk/g;
    $ft{'library'} += s/\bcublasCsyrk_v2\b/rocblas_csyrk/g;
    $ft{'library'} += s/\bcublasCsyrkx\b/rocblas_csyrkx/g;
    $ft{'library'} += s/\bcublasCtbmv\b/rocblas_ctbmv/g;
    $ft{'library'} += s/\bcublasCtbmv_v2\b/rocblas_ctbmv/g;
    $ft{'library'} += s/\bcublasCtbsv\b/rocblas_ctbsv/g;
    $ft{'library'} += s/\bcublasCtbsv_v2\b/rocblas_ctbsv/g;
    $ft{'library'} += s/\bcublasCtpmv\b/rocblas_ctpmv/g;
    $ft{'library'} += s/\bcublasCtpmv_v2\b/rocblas_ctpmv/g;
    $ft{'library'} += s/\bcublasCtpsv\b/rocblas_ctpsv/g;
    $ft{'library'} += s/\bcublasCtpsv_v2\b/rocblas_ctpsv/g;
    $ft{'library'} += s/\bcublasCtrmm\b/rocblas_ctrmm/g;
    $ft{'library'} += s/\bcublasCtrmm_v2\b/rocblas_ctrmm/g;
    $ft{'library'} += s/\bcublasCtrmv\b/rocblas_ctrmv/g;
    $ft{'library'} += s/\bcublasCtrmv_v2\b/rocblas_ctrmv/g;
    $ft{'library'} += s/\bcublasCtrsm\b/rocblas_ctrsm/g;
    $ft{'library'} += s/\bcublasCtrsmBatched\b/rocblas_ctrsm_batched/g;
    $ft{'library'} += s/\bcublasCtrsm_v2\b/rocblas_ctrsm/g;
    $ft{'library'} += s/\bcublasCtrsv\b/rocblas_ctrsv/g;
    $ft{'library'} += s/\bcublasCtrsv_v2\b/rocblas_ctrsv/g;
    $ft{'library'} += s/\bcublasDasum\b/rocblas_dasum/g;
    $ft{'library'} += s/\bcublasDasum_v2\b/rocblas_dasum/g;
    $ft{'library'} += s/\bcublasDaxpy\b/rocblas_daxpy/g;
    $ft{'library'} += s/\bcublasDaxpy_v2\b/rocblas_daxpy/g;
    $ft{'library'} += s/\bcublasDcopy\b/rocblas_dcopy/g;
    $ft{'library'} += s/\bcublasDcopy_v2\b/rocblas_dcopy/g;
    $ft{'library'} += s/\bcublasDdgmm\b/rocblas_ddgmm/g;
    $ft{'library'} += s/\bcublasDdot\b/rocblas_ddot/g;
    $ft{'library'} += s/\bcublasDdot_v2\b/rocblas_ddot/g;
    $ft{'library'} += s/\bcublasDestroy\b/rocblas_destroy_handle/g;
    $ft{'library'} += s/\bcublasDestroy_v2\b/rocblas_destroy_handle/g;
    $ft{'library'} += s/\bcublasDgbmv\b/rocblas_dgbmv/g;
    $ft{'library'} += s/\bcublasDgbmv_v2\b/rocblas_dgbmv/g;
    $ft{'library'} += s/\bcublasDgeam\b/rocblas_dgeam/g;
    $ft{'library'} += s/\bcublasDgemm\b/rocblas_dgemm/g;
    $ft{'library'} += s/\bcublasDgemmBatched\b/rocblas_dgemm_batched/g;
    $ft{'library'} += s/\bcublasDgemmStridedBatched\b/rocblas_dgemm_strided_batched/g;
    $ft{'library'} += s/\bcublasDgemm_v2\b/rocblas_dgemm/g;
    $ft{'library'} += s/\bcublasDgemv\b/rocblas_dgemv/g;
    $ft{'library'} += s/\bcublasDgemv_v2\b/rocblas_dgemv/g;
    $ft{'library'} += s/\bcublasDger\b/rocblas_dger/g;
    $ft{'library'} += s/\bcublasDger_v2\b/rocblas_dger/g;
    $ft{'library'} += s/\bcublasDnrm2\b/rocblas_dnrm2/g;
    $ft{'library'} += s/\bcublasDnrm2_v2\b/rocblas_dnrm2/g;
    $ft{'library'} += s/\bcublasDotEx\b/rocblas_dot_ex/g;
    $ft{'library'} += s/\bcublasDotcEx\b/rocblas_dotc_ex/g;
    $ft{'library'} += s/\bcublasDrot\b/rocblas_drot/g;
    $ft{'library'} += s/\bcublasDrot_v2\b/rocblas_drot/g;
    $ft{'library'} += s/\bcublasDrotg\b/rocblas_drotg/g;
    $ft{'library'} += s/\bcublasDrotg_v2\b/rocblas_drotg/g;
    $ft{'library'} += s/\bcublasDrotm\b/rocblas_drotm/g;
    $ft{'library'} += s/\bcublasDrotm_v2\b/rocblas_drotm/g;
    $ft{'library'} += s/\bcublasDrotmg\b/rocblas_drotmg/g;
    $ft{'library'} += s/\bcublasDrotmg_v2\b/rocblas_drotmg/g;
    $ft{'library'} += s/\bcublasDsbmv\b/rocblas_dsbmv/g;
    $ft{'library'} += s/\bcublasDsbmv_v2\b/rocblas_dsbmv/g;
    $ft{'library'} += s/\bcublasDscal\b/rocblas_dscal/g;
    $ft{'library'} += s/\bcublasDscal_v2\b/rocblas_dscal/g;
    $ft{'library'} += s/\bcublasDspmv\b/rocblas_dspmv/g;
    $ft{'library'} += s/\bcublasDspmv_v2\b/rocblas_dspmv/g;
    $ft{'library'} += s/\bcublasDspr\b/rocblas_dspr/g;
    $ft{'library'} += s/\bcublasDspr2\b/rocblas_dspr2/g;
    $ft{'library'} += s/\bcublasDspr2_v2\b/rocblas_dspr2/g;
    $ft{'library'} += s/\bcublasDspr_v2\b/rocblas_dspr/g;
    $ft{'library'} += s/\bcublasDswap\b/rocblas_dswap/g;
    $ft{'library'} += s/\bcublasDswap_v2\b/rocblas_dswap/g;
    $ft{'library'} += s/\bcublasDsymm\b/rocblas_dsymm/g;
    $ft{'library'} += s/\bcublasDsymm_v2\b/rocblas_dsymm/g;
    $ft{'library'} += s/\bcublasDsymv\b/rocblas_dsymv/g;
    $ft{'library'} += s/\bcublasDsymv_v2\b/rocblas_dsymv/g;
    $ft{'library'} += s/\bcublasDsyr\b/rocblas_dsyr/g;
    $ft{'library'} += s/\bcublasDsyr2\b/rocblas_dsyr2/g;
    $ft{'library'} += s/\bcublasDsyr2_v2\b/rocblas_dsyr2/g;
    $ft{'library'} += s/\bcublasDsyr2k\b/rocblas_dsyr2k/g;
    $ft{'library'} += s/\bcublasDsyr2k_v2\b/rocblas_dsyr2k/g;
    $ft{'library'} += s/\bcublasDsyr_v2\b/rocblas_dsyr/g;
    $ft{'library'} += s/\bcublasDsyrk\b/rocblas_dsyrk/g;
    $ft{'library'} += s/\bcublasDsyrk_v2\b/rocblas_dsyrk/g;
    $ft{'library'} += s/\bcublasDsyrkx\b/rocblas_dsyrkx/g;
    $ft{'library'} += s/\bcublasDtbmv\b/rocblas_dtbmv/g;
    $ft{'library'} += s/\bcublasDtbmv_v2\b/rocblas_dtbmv/g;
    $ft{'library'} += s/\bcublasDtbsv\b/rocblas_dtbsv/g;
    $ft{'library'} += s/\bcublasDtbsv_v2\b/rocblas_dtbsv/g;
    $ft{'library'} += s/\bcublasDtpmv\b/rocblas_dtpmv/g;
    $ft{'library'} += s/\bcublasDtpmv_v2\b/rocblas_dtpmv/g;
    $ft{'library'} += s/\bcublasDtpsv\b/rocblas_dtpsv/g;
    $ft{'library'} += s/\bcublasDtpsv_v2\b/rocblas_dtpsv/g;
    $ft{'library'} += s/\bcublasDtrmm\b/rocblas_dtrmm/g;
    $ft{'library'} += s/\bcublasDtrmm_v2\b/rocblas_dtrmm/g;
    $ft{'library'} += s/\bcublasDtrmv\b/rocblas_dtrmv/g;
    $ft{'library'} += s/\bcublasDtrmv_v2\b/rocblas_dtrmv/g;
    $ft{'library'} += s/\bcublasDtrsm\b/rocblas_dtrsm/g;
    $ft{'library'} += s/\bcublasDtrsmBatched\b/rocblas_dtrsm_batched/g;
    $ft{'library'} += s/\bcublasDtrsm_v2\b/rocblas_dtrsm/g;
    $ft{'library'} += s/\bcublasDtrsv\b/rocblas_dtrsv/g;
    $ft{'library'} += s/\bcublasDtrsv_v2\b/rocblas_dtrsv/g;
    $ft{'library'} += s/\bcublasDzasum\b/rocblas_dzasum/g;
    $ft{'library'} += s/\bcublasDzasum_v2\b/rocblas_dzasum/g;
    $ft{'library'} += s/\bcublasDznrm2\b/rocblas_dznrm2/g;
    $ft{'library'} += s/\bcublasDznrm2_v2\b/rocblas_dznrm2/g;
    $ft{'library'} += s/\bcublasGemmBatchedEx\b/rocblas_gemm_batched_ex/g;
    $ft{'library'} += s/\bcublasGemmEx\b/rocblas_gemm_ex/g;
    $ft{'library'} += s/\bcublasGemmStridedBatchedEx\b/rocblas_gemm_strided_batched_ex/g;
    $ft{'library'} += s/\bcublasGetMatrix\b/rocblas_get_matrix/g;
    $ft{'library'} += s/\bcublasGetMatrixAsync\b/rocblas_get_matrix_async/g;
    $ft{'library'} += s/\bcublasGetPointerMode\b/rocblas_get_pointer_mode/g;
    $ft{'library'} += s/\bcublasGetPointerMode_v2\b/rocblas_set_pointer_mode/g;
    $ft{'library'} += s/\bcublasGetStream\b/rocblas_get_stream/g;
    $ft{'library'} += s/\bcublasGetStream_v2\b/rocblas_get_stream/g;
    $ft{'library'} += s/\bcublasGetVector\b/rocblas_get_vector/g;
    $ft{'library'} += s/\bcublasGetVectorAsync\b/rocblas_get_vector_async/g;
    $ft{'library'} += s/\bcublasHgemm\b/rocblas_hgemm/g;
    $ft{'library'} += s/\bcublasHgemmBatched\b/rocblas_hgemm_batched/g;
    $ft{'library'} += s/\bcublasHgemmStridedBatched\b/rocblas_hgemm_strided_batched/g;
    $ft{'library'} += s/\bcublasIcamax\b/rocblas_icamax/g;
    $ft{'library'} += s/\bcublasIcamax_v2\b/rocblas_icamax/g;
    $ft{'library'} += s/\bcublasIcamin\b/rocblas_icamin/g;
    $ft{'library'} += s/\bcublasIcamin_v2\b/rocblas_icamin/g;
    $ft{'library'} += s/\bcublasIdamax\b/rocblas_idamax/g;
    $ft{'library'} += s/\bcublasIdamax_v2\b/rocblas_idamax/g;
    $ft{'library'} += s/\bcublasIdamin\b/rocblas_idamin/g;
    $ft{'library'} += s/\bcublasIdamin_v2\b/rocblas_idamin/g;
    $ft{'library'} += s/\bcublasIsamax\b/rocblas_isamax/g;
    $ft{'library'} += s/\bcublasIsamax_v2\b/rocblas_isamax/g;
    $ft{'library'} += s/\bcublasIsamin\b/rocblas_isamin/g;
    $ft{'library'} += s/\bcublasIsamin_v2\b/rocblas_isamin/g;
    $ft{'library'} += s/\bcublasIzamax\b/rocblas_izamax/g;
    $ft{'library'} += s/\bcublasIzamax_v2\b/rocblas_izamax/g;
    $ft{'library'} += s/\bcublasIzamin\b/rocblas_izamin/g;
    $ft{'library'} += s/\bcublasIzamin_v2\b/rocblas_izamin/g;
    $ft{'library'} += s/\bcublasNrm2Ex\b/rocblas_nrm2_ex/g;
    $ft{'library'} += s/\bcublasRotEx\b/rocblas_rot_ex/g;
    $ft{'library'} += s/\bcublasSasum\b/rocblas_sasum/g;
    $ft{'library'} += s/\bcublasSasum_v2\b/rocblas_sasum/g;
    $ft{'library'} += s/\bcublasSaxpy\b/rocblas_saxpy/g;
    $ft{'library'} += s/\bcublasSaxpy_v2\b/rocblas_saxpy/g;
    $ft{'library'} += s/\bcublasScalEx\b/rocblas_scal_ex/g;
    $ft{'library'} += s/\bcublasScasum\b/rocblas_scasum/g;
    $ft{'library'} += s/\bcublasScasum_v2\b/rocblas_scasum/g;
    $ft{'library'} += s/\bcublasScnrm2\b/rocblas_scnrm2/g;
    $ft{'library'} += s/\bcublasScnrm2_v2\b/rocblas_scnrm2/g;
    $ft{'library'} += s/\bcublasScopy\b/rocblas_scopy/g;
    $ft{'library'} += s/\bcublasScopy_v2\b/rocblas_scopy/g;
    $ft{'library'} += s/\bcublasSdgmm\b/rocblas_sdgmm/g;
    $ft{'library'} += s/\bcublasSdot\b/rocblas_sdot/g;
    $ft{'library'} += s/\bcublasSdot_v2\b/rocblas_sdot/g;
    $ft{'library'} += s/\bcublasSetMatrix\b/rocblas_set_matrix/g;
    $ft{'library'} += s/\bcublasSetMatrixAsync\b/rocblas_set_matrix_async/g;
    $ft{'library'} += s/\bcublasSetPointerMode\b/rocblas_set_pointer_mode/g;
    $ft{'library'} += s/\bcublasSetPointerMode_v2\b/rocblas_get_pointer_mode/g;
    $ft{'library'} += s/\bcublasSetStream\b/rocblas_set_stream/g;
    $ft{'library'} += s/\bcublasSetStream_v2\b/rocblas_set_stream/g;
    $ft{'library'} += s/\bcublasSetVector\b/rocblas_set_vector/g;
    $ft{'library'} += s/\bcublasSetVectorAsync\b/rocblas_set_vector_async/g;
    $ft{'library'} += s/\bcublasSgbmv\b/rocblas_sgbmv/g;
    $ft{'library'} += s/\bcublasSgbmv_v2\b/rocblas_sgbmv/g;
    $ft{'library'} += s/\bcublasSgeam\b/rocblas_sgeam/g;
    $ft{'library'} += s/\bcublasSgemm\b/rocblas_sgemm/g;
    $ft{'library'} += s/\bcublasSgemmBatched\b/rocblas_sgemm_batched/g;
    $ft{'library'} += s/\bcublasSgemmStridedBatched\b/rocblas_sgemm_strided_batched/g;
    $ft{'library'} += s/\bcublasSgemm_v2\b/rocblas_sgemm/g;
    $ft{'library'} += s/\bcublasSgemv\b/rocblas_sgemv/g;
    $ft{'library'} += s/\bcublasSgemv_v2\b/rocblas_sgemv/g;
    $ft{'library'} += s/\bcublasSger\b/rocblas_sger/g;
    $ft{'library'} += s/\bcublasSger_v2\b/rocblas_sger/g;
    $ft{'library'} += s/\bcublasSnrm2\b/rocblas_snrm2/g;
    $ft{'library'} += s/\bcublasSnrm2_v2\b/rocblas_snrm2/g;
    $ft{'library'} += s/\bcublasSrot\b/rocblas_srot/g;
    $ft{'library'} += s/\bcublasSrot_v2\b/rocblas_srot/g;
    $ft{'library'} += s/\bcublasSrotg\b/rocblas_srotg/g;
    $ft{'library'} += s/\bcublasSrotg_v2\b/rocblas_srotg/g;
    $ft{'library'} += s/\bcublasSrotm\b/rocblas_srotm/g;
    $ft{'library'} += s/\bcublasSrotm_v2\b/rocblas_srotm/g;
    $ft{'library'} += s/\bcublasSrotmg\b/rocblas_srotmg/g;
    $ft{'library'} += s/\bcublasSrotmg_v2\b/rocblas_srotmg/g;
    $ft{'library'} += s/\bcublasSsbmv\b/rocblas_ssbmv/g;
    $ft{'library'} += s/\bcublasSsbmv_v2\b/rocblas_ssbmv/g;
    $ft{'library'} += s/\bcublasSscal\b/rocblas_sscal/g;
    $ft{'library'} += s/\bcublasSscal_v2\b/rocblas_sscal/g;
    $ft{'library'} += s/\bcublasSspmv\b/rocblas_sspmv/g;
    $ft{'library'} += s/\bcublasSspmv_v2\b/rocblas_sspmv/g;
    $ft{'library'} += s/\bcublasSspr\b/rocblas_sspr/g;
    $ft{'library'} += s/\bcublasSspr2\b/rocblas_sspr2/g;
    $ft{'library'} += s/\bcublasSspr2_v2\b/rocblas_sspr2/g;
    $ft{'library'} += s/\bcublasSspr_v2\b/rocblas_sspr/g;
    $ft{'library'} += s/\bcublasSswap\b/rocblas_sswap/g;
    $ft{'library'} += s/\bcublasSswap_v2\b/rocblas_sswap/g;
    $ft{'library'} += s/\bcublasSsymm\b/rocblas_ssymm/g;
    $ft{'library'} += s/\bcublasSsymm_v2\b/rocblas_ssymm/g;
    $ft{'library'} += s/\bcublasSsymv\b/rocblas_ssymv/g;
    $ft{'library'} += s/\bcublasSsymv_v2\b/rocblas_ssymv/g;
    $ft{'library'} += s/\bcublasSsyr\b/rocblas_ssyr/g;
    $ft{'library'} += s/\bcublasSsyr2\b/rocblas_ssyr2/g;
    $ft{'library'} += s/\bcublasSsyr2_v2\b/rocblas_ssyr2/g;
    $ft{'library'} += s/\bcublasSsyr2k\b/rocblas_ssyr2k/g;
    $ft{'library'} += s/\bcublasSsyr2k_v2\b/rocblas_ssyr2k/g;
    $ft{'library'} += s/\bcublasSsyr_v2\b/rocblas_ssyr/g;
    $ft{'library'} += s/\bcublasSsyrk\b/rocblas_ssyrk/g;
    $ft{'library'} += s/\bcublasSsyrk_v2\b/rocblas_ssyrk/g;
    $ft{'library'} += s/\bcublasSsyrkx\b/rocblas_ssyrkx/g;
    $ft{'library'} += s/\bcublasStbmv\b/rocblas_stbmv/g;
    $ft{'library'} += s/\bcublasStbmv_v2\b/rocblas_stbmv/g;
    $ft{'library'} += s/\bcublasStbsv\b/rocblas_stbsv/g;
    $ft{'library'} += s/\bcublasStbsv_v2\b/rocblas_stbsv/g;
    $ft{'library'} += s/\bcublasStpmv\b/rocblas_stpmv/g;
    $ft{'library'} += s/\bcublasStpmv_v2\b/rocblas_stpmv/g;
    $ft{'library'} += s/\bcublasStpsv\b/rocblas_stpsv/g;
    $ft{'library'} += s/\bcublasStpsv_v2\b/rocblas_stpsv/g;
    $ft{'library'} += s/\bcublasStrmm\b/rocblas_strmm/g;
    $ft{'library'} += s/\bcublasStrmm_v2\b/rocblas_strmm/g;
    $ft{'library'} += s/\bcublasStrmv\b/rocblas_strmv/g;
    $ft{'library'} += s/\bcublasStrmv_v2\b/rocblas_strmv/g;
    $ft{'library'} += s/\bcublasStrsm\b/rocblas_strsm/g;
    $ft{'library'} += s/\bcublasStrsmBatched\b/rocblas_strsm_batched/g;
    $ft{'library'} += s/\bcublasStrsm_v2\b/rocblas_strsm/g;
    $ft{'library'} += s/\bcublasStrsv\b/rocblas_strsv/g;
    $ft{'library'} += s/\bcublasStrsv_v2\b/rocblas_strsv/g;
    $ft{'library'} += s/\bcublasZaxpy\b/rocblas_zaxpy/g;
    $ft{'library'} += s/\bcublasZaxpy_v2\b/rocblas_zaxpy/g;
    $ft{'library'} += s/\bcublasZcopy\b/rocblas_zcopy/g;
    $ft{'library'} += s/\bcublasZcopy_v2\b/rocblas_zcopy/g;
    $ft{'library'} += s/\bcublasZdgmm\b/rocblas_zdgmm/g;
    $ft{'library'} += s/\bcublasZdotc\b/rocblas_zdotc/g;
    $ft{'library'} += s/\bcublasZdotc_v2\b/rocblas_zdotc/g;
    $ft{'library'} += s/\bcublasZdotu\b/rocblas_zdotu/g;
    $ft{'library'} += s/\bcublasZdotu_v2\b/rocblas_zdotu/g;
    $ft{'library'} += s/\bcublasZdrot\b/rocblas_zdrot/g;
    $ft{'library'} += s/\bcublasZdrot_v2\b/rocblas_zdrot/g;
    $ft{'library'} += s/\bcublasZdscal\b/rocblas_zdscal/g;
    $ft{'library'} += s/\bcublasZdscal_v2\b/rocblas_zdscal/g;
    $ft{'library'} += s/\bcublasZgbmv\b/rocblas_zgbmv/g;
    $ft{'library'} += s/\bcublasZgbmv_v2\b/rocblas_zgbmv/g;
    $ft{'library'} += s/\bcublasZgeam\b/rocblas_zgeam/g;
    $ft{'library'} += s/\bcublasZgemm\b/rocblas_zgemm/g;
    $ft{'library'} += s/\bcublasZgemmBatched\b/rocblas_zgemm_batched/g;
    $ft{'library'} += s/\bcublasZgemmStridedBatched\b/rocblas_zgemm_strided_batched/g;
    $ft{'library'} += s/\bcublasZgemm_v2\b/rocblas_zgemm/g;
    $ft{'library'} += s/\bcublasZgemv\b/rocblas_zgemv/g;
    $ft{'library'} += s/\bcublasZgemv_v2\b/rocblas_zgemv/g;
    $ft{'library'} += s/\bcublasZgerc\b/rocblas_zgerc/g;
    $ft{'library'} += s/\bcublasZgerc_v2\b/rocblas_zgerc/g;
    $ft{'library'} += s/\bcublasZgeru\b/rocblas_zgeru/g;
    $ft{'library'} += s/\bcublasZgeru_v2\b/rocblas_zgeru/g;
    $ft{'library'} += s/\bcublasZhbmv\b/rocblas_zhbmv/g;
    $ft{'library'} += s/\bcublasZhbmv_v2\b/rocblas_zhbmv/g;
    $ft{'library'} += s/\bcublasZhemm\b/rocblas_zhemm/g;
    $ft{'library'} += s/\bcublasZhemm_v2\b/rocblas_zhemm/g;
    $ft{'library'} += s/\bcublasZhemv\b/rocblas_zhemv/g;
    $ft{'library'} += s/\bcublasZhemv_v2\b/rocblas_zhemv/g;
    $ft{'library'} += s/\bcublasZher\b/rocblas_zher/g;
    $ft{'library'} += s/\bcublasZher2\b/rocblas_zher2/g;
    $ft{'library'} += s/\bcublasZher2_v2\b/rocblas_zher2/g;
    $ft{'library'} += s/\bcublasZher2k\b/rocblas_zher2k/g;
    $ft{'library'} += s/\bcublasZher2k_v2\b/rocblas_zher2k/g;
    $ft{'library'} += s/\bcublasZher_v2\b/rocblas_zher/g;
    $ft{'library'} += s/\bcublasZherk\b/rocblas_zherk/g;
    $ft{'library'} += s/\bcublasZherk_v2\b/rocblas_zherk/g;
    $ft{'library'} += s/\bcublasZherkx\b/rocblas_zherkx/g;
    $ft{'library'} += s/\bcublasZhpmv\b/rocblas_zhpmv/g;
    $ft{'library'} += s/\bcublasZhpmv_v2\b/rocblas_zhpmv/g;
    $ft{'library'} += s/\bcublasZhpr\b/rocblas_zhpr/g;
    $ft{'library'} += s/\bcublasZhpr2\b/rocblas_zhpr2/g;
    $ft{'library'} += s/\bcublasZhpr2_v2\b/rocblas_zhpr2/g;
    $ft{'library'} += s/\bcublasZhpr_v2\b/rocblas_zhpr/g;
    $ft{'library'} += s/\bcublasZrot\b/rocblas_zrot/g;
    $ft{'library'} += s/\bcublasZrot_v2\b/rocblas_zrot/g;
    $ft{'library'} += s/\bcublasZrotg\b/rocblas_zrotg/g;
    $ft{'library'} += s/\bcublasZrotg_v2\b/rocblas_zrotg/g;
    $ft{'library'} += s/\bcublasZscal\b/rocblas_zscal/g;
    $ft{'library'} += s/\bcublasZscal_v2\b/rocblas_zscal/g;
    $ft{'library'} += s/\bcublasZswap\b/rocblas_zswap/g;
    $ft{'library'} += s/\bcublasZswap_v2\b/rocblas_zswap/g;
    $ft{'library'} += s/\bcublasZsymm\b/rocblas_zsymm/g;
    $ft{'library'} += s/\bcublasZsymm_v2\b/rocblas_zsymm/g;
    $ft{'library'} += s/\bcublasZsymv\b/rocblas_zsymv/g;
    $ft{'library'} += s/\bcublasZsymv_v2\b/rocblas_zsymv/g;
    $ft{'library'} += s/\bcublasZsyr\b/rocblas_zsyr/g;
    $ft{'library'} += s/\bcublasZsyr2\b/rocblas_zsyr2/g;
    $ft{'library'} += s/\bcublasZsyr2_v2\b/rocblas_zsyr2/g;
    $ft{'library'} += s/\bcublasZsyr2k\b/rocblas_zsyr2k/g;
    $ft{'library'} += s/\bcublasZsyr2k_v2\b/rocblas_zsyr2k/g;
    $ft{'library'} += s/\bcublasZsyr_v2\b/rocblas_zsyr/g;
    $ft{'library'} += s/\bcublasZsyrk\b/rocblas_zsyrk/g;
    $ft{'library'} += s/\bcublasZsyrk_v2\b/rocblas_zsyrk/g;
    $ft{'library'} += s/\bcublasZsyrkx\b/rocblas_zsyrkx/g;
    $ft{'library'} += s/\bcublasZtbmv\b/rocblas_ztbmv/g;
    $ft{'library'} += s/\bcublasZtbmv_v2\b/rocblas_ztbmv/g;
    $ft{'library'} += s/\bcublasZtbsv\b/rocblas_ztbsv/g;
    $ft{'library'} += s/\bcublasZtbsv_v2\b/rocblas_ztbsv/g;
    $ft{'library'} += s/\bcublasZtpmv\b/rocblas_ztpmv/g;
    $ft{'library'} += s/\bcublasZtpmv_v2\b/rocblas_ztpmv/g;
    $ft{'library'} += s/\bcublasZtpsv\b/rocblas_ztpsv/g;
    $ft{'library'} += s/\bcublasZtpsv_v2\b/rocblas_ztpsv/g;
    $ft{'library'} += s/\bcublasZtrmm\b/rocblas_ztrmm/g;
    $ft{'library'} += s/\bcublasZtrmm_v2\b/rocblas_ztrmm/g;
    $ft{'library'} += s/\bcublasZtrmv\b/rocblas_ztrmv/g;
    $ft{'library'} += s/\bcublasZtrmv_v2\b/rocblas_ztrmv/g;
    $ft{'library'} += s/\bcublasZtrsm\b/rocblas_ztrsm/g;
    $ft{'library'} += s/\bcublasZtrsmBatched\b/rocblas_ztrsm_batched/g;
    $ft{'library'} += s/\bcublasZtrsm_v2\b/rocblas_ztrsm/g;
    $ft{'library'} += s/\bcublasZtrsv\b/rocblas_ztrsv/g;
    $ft{'library'} += s/\bcublasZtrsv_v2\b/rocblas_ztrsv/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcublas.h\b/rocblas.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcublas_v2.h\b/rocblas.h/g;
    $ft{'type'} += s/\bcublasAtomicsMode_t\b/rocblas_atomics_mode/g;
    $ft{'type'} += s/\bcublasContext\b/_rocblas_handle/g;
    $ft{'type'} += s/\bcublasDataType_t\b/rocblas_datatype/g;
    $ft{'type'} += s/\bcublasDiagType_t\b/rocblas_diagonal/g;
    $ft{'type'} += s/\bcublasFillMode_t\b/rocblas_fill/g;
    $ft{'type'} += s/\bcublasGemmAlgo_t\b/rocblas_gemm_algo/g;
    $ft{'type'} += s/\bcublasHandle_t\b/rocblas_handle/g;
    $ft{'type'} += s/\bcublasOperation_t\b/rocblas_operation/g;
    $ft{'type'} += s/\bcublasPointerMode_t\b/rocblas_pointer_mode/g;
    $ft{'type'} += s/\bcublasSideMode_t\b/rocblas_side/g;
    $ft{'type'} += s/\bcublasStatus\b/rocblas_status/g;
    $ft{'type'} += s/\bcublasStatus_t\b/rocblas_status/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_ATOMICS_ALLOWED\b/rocblas_atomics_allowed/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_ATOMICS_NOT_ALLOWED\b/rocblas_atomics_not_allowed/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_DIAG_NON_UNIT\b/rocblas_diagonal_non_unit/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_DIAG_UNIT\b/rocblas_diagonal_unit/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_FILL_MODE_FULL\b/rocblas_fill_full/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_FILL_MODE_LOWER\b/rocblas_fill_lower/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_FILL_MODE_UPPER\b/rocblas_fill_upper/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_GEMM_DEFAULT\b/rocblas_gemm_algo_standard/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_GEMM_DFALT\b/rocblas_gemm_algo_standard/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_OP_C\b/rocblas_operation_conjugate_transpose/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_OP_HERMITAN\b/rocblas_operation_conjugate_transpose/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_OP_N\b/rocblas_operation_none/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_OP_T\b/rocblas_operation_transpose/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_POINTER_MODE_DEVICE\b/rocblas_pointer_mode_device/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_POINTER_MODE_HOST\b/rocblas_pointer_mode_host/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_SIDE_LEFT\b/rocblas_side_left/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_SIDE_RIGHT\b/rocblas_side_right/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_ALLOC_FAILED\b/rocblas_status_not_implemented/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_ARCH_MISMATCH\b/rocblas_status_size_query_mismatch/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_EXECUTION_FAILED\b/rocblas_status_memory_error/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_INTERNAL_ERROR\b/rocblas_status_internal_error/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_INVALID_VALUE\b/rocblas_status_invalid_pointer/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_MAPPING_ERROR\b/rocblas_status_invalid_size/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_NOT_INITIALIZED\b/rocblas_status_invalid_handle/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_NOT_SUPPORTED\b/rocblas_status_perf_degraded/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_SUCCESS\b/rocblas_status_success/g;
}

sub simpleSubstitutions {
    $ft{'error'} += s/\bcudaGetErrorName\b/hipGetErrorName/g;
    $ft{'error'} += s/\bcudaGetErrorString\b/hipGetErrorString/g;
    $ft{'error'} += s/\bcudaGetLastError\b/hipGetLastError/g;
    $ft{'error'} += s/\bcudaPeekAtLastError\b/hipPeekAtLastError/g;
    $ft{'init'} += s/\bcuInit\b/hipInit/g;
    $ft{'version'} += s/\bcuDriverGetVersion\b/hipDriverGetVersion/g;
    $ft{'version'} += s/\bcudaDriverGetVersion\b/hipDriverGetVersion/g;
    $ft{'version'} += s/\bcudaRuntimeGetVersion\b/hipRuntimeGetVersion/g;
    $ft{'device'} += s/\bcuDeviceComputeCapability\b/hipDeviceComputeCapability/g;
    $ft{'device'} += s/\bcuDeviceGet\b/hipDeviceGet/g;
    $ft{'device'} += s/\bcuDeviceGetAttribute\b/hipDeviceGetAttribute/g;
    $ft{'device'} += s/\bcuDeviceGetCount\b/hipGetDeviceCount/g;
    $ft{'device'} += s/\bcuDeviceGetName\b/hipDeviceGetName/g;
    $ft{'device'} += s/\bcuDeviceTotalMem\b/hipDeviceTotalMem/g;
    $ft{'device'} += s/\bcuDeviceTotalMem_v2\b/hipDeviceTotalMem/g;
    $ft{'device'} += s/\bcudaChooseDevice\b/hipChooseDevice/g;
    $ft{'device'} += s/\bcudaDeviceGetAttribute\b/hipDeviceGetAttribute/g;
    $ft{'device'} += s/\bcudaDeviceGetByPCIBusId\b/hipDeviceGetByPCIBusId/g;
    $ft{'device'} += s/\bcudaDeviceGetCacheConfig\b/hipDeviceGetCacheConfig/g;
    $ft{'device'} += s/\bcudaDeviceGetLimit\b/hipDeviceGetLimit/g;
    $ft{'device'} += s/\bcudaDeviceGetP2PAttribute\b/hipDeviceGetP2PAttribute/g;
    $ft{'device'} += s/\bcudaDeviceGetPCIBusId\b/hipDeviceGetPCIBusId/g;
    $ft{'device'} += s/\bcudaDeviceGetSharedMemConfig\b/hipDeviceGetSharedMemConfig/g;
    $ft{'device'} += s/\bcudaDeviceGetStreamPriorityRange\b/hipDeviceGetStreamPriorityRange/g;
    $ft{'device'} += s/\bcudaDeviceReset\b/hipDeviceReset/g;
    $ft{'device'} += s/\bcudaDeviceSetCacheConfig\b/hipDeviceSetCacheConfig/g;
    $ft{'device'} += s/\bcudaDeviceSetSharedMemConfig\b/hipDeviceSetSharedMemConfig/g;
    $ft{'device'} += s/\bcudaDeviceSynchronize\b/hipDeviceSynchronize/g;
    $ft{'device'} += s/\bcudaFuncSetCacheConfig\b/hipFuncSetCacheConfig/g;
    $ft{'device'} += s/\bcudaGetDevice\b/hipGetDevice/g;
    $ft{'device'} += s/\bcudaGetDeviceCount\b/hipGetDeviceCount/g;
    $ft{'device'} += s/\bcudaGetDeviceFlags\b/hipGetDeviceFlags/g;
    $ft{'device'} += s/\bcudaGetDeviceProperties\b/hipGetDeviceProperties/g;
    $ft{'device'} += s/\bcudaIpcCloseMemHandle\b/hipIpcCloseMemHandle/g;
    $ft{'device'} += s/\bcudaIpcGetEventHandle\b/hipIpcGetEventHandle/g;
    $ft{'device'} += s/\bcudaIpcGetMemHandle\b/hipIpcGetMemHandle/g;
    $ft{'device'} += s/\bcudaIpcOpenEventHandle\b/hipIpcOpenEventHandle/g;
    $ft{'device'} += s/\bcudaIpcOpenMemHandle\b/hipIpcOpenMemHandle/g;
    $ft{'device'} += s/\bcudaSetDevice\b/hipSetDevice/g;
    $ft{'device'} += s/\bcudaSetDeviceFlags\b/hipSetDeviceFlags/g;
    $ft{'context'} += s/\bcuCtxCreate\b/hipCtxCreate/g;
    $ft{'context'} += s/\bcuCtxCreate_v2\b/hipCtxCreate/g;
    $ft{'context'} += s/\bcuCtxDestroy\b/hipCtxDestroy/g;
    $ft{'context'} += s/\bcuCtxDestroy_v2\b/hipCtxDestroy/g;
    $ft{'context'} += s/\bcuCtxGetApiVersion\b/hipCtxGetApiVersion/g;
    $ft{'context'} += s/\bcuCtxGetCacheConfig\b/hipCtxGetCacheConfig/g;
    $ft{'context'} += s/\bcuCtxGetCurrent\b/hipCtxGetCurrent/g;
    $ft{'context'} += s/\bcuCtxGetDevice\b/hipCtxGetDevice/g;
    $ft{'context'} += s/\bcuCtxGetFlags\b/hipCtxGetFlags/g;
    $ft{'context'} += s/\bcuCtxGetLimit\b/hipDeviceGetLimit/g;
    $ft{'context'} += s/\bcuCtxGetSharedMemConfig\b/hipCtxGetSharedMemConfig/g;
    $ft{'context'} += s/\bcuCtxGetStreamPriorityRange\b/hipDeviceGetStreamPriorityRange/g;
    $ft{'context'} += s/\bcuCtxPopCurrent\b/hipCtxPopCurrent/g;
    $ft{'context'} += s/\bcuCtxPopCurrent_v2\b/hipCtxPopCurrent/g;
    $ft{'context'} += s/\bcuCtxPushCurrent\b/hipCtxPushCurrent/g;
    $ft{'context'} += s/\bcuCtxPushCurrent_v2\b/hipCtxPushCurrent/g;
    $ft{'context'} += s/\bcuCtxSetCacheConfig\b/hipCtxSetCacheConfig/g;
    $ft{'context'} += s/\bcuCtxSetCurrent\b/hipCtxSetCurrent/g;
    $ft{'context'} += s/\bcuCtxSetSharedMemConfig\b/hipCtxSetSharedMemConfig/g;
    $ft{'context'} += s/\bcuCtxSynchronize\b/hipCtxSynchronize/g;
    $ft{'context'} += s/\bcuDevicePrimaryCtxGetState\b/hipDevicePrimaryCtxGetState/g;
    $ft{'context'} += s/\bcuDevicePrimaryCtxRelease\b/hipDevicePrimaryCtxRelease/g;
    $ft{'context'} += s/\bcuDevicePrimaryCtxRelease_v2\b/hipDevicePrimaryCtxRelease/g;
    $ft{'context'} += s/\bcuDevicePrimaryCtxReset\b/hipDevicePrimaryCtxReset/g;
    $ft{'context'} += s/\bcuDevicePrimaryCtxReset_v2\b/hipDevicePrimaryCtxReset/g;
    $ft{'context'} += s/\bcuDevicePrimaryCtxRetain\b/hipDevicePrimaryCtxRetain/g;
    $ft{'context'} += s/\bcuDevicePrimaryCtxSetFlags\b/hipDevicePrimaryCtxSetFlags/g;
    $ft{'context'} += s/\bcuDevicePrimaryCtxSetFlags_v2\b/hipDevicePrimaryCtxSetFlags/g;
    $ft{'module'} += s/\bcuModuleGetFunction\b/hipModuleGetFunction/g;
    $ft{'module'} += s/\bcuModuleGetGlobal\b/hipModuleGetGlobal/g;
    $ft{'module'} += s/\bcuModuleGetGlobal_v2\b/hipModuleGetGlobal/g;
    $ft{'module'} += s/\bcuModuleGetTexRef\b/hipModuleGetTexRef/g;
    $ft{'module'} += s/\bcuModuleLoad\b/hipModuleLoad/g;
    $ft{'module'} += s/\bcuModuleLoadData\b/hipModuleLoadData/g;
    $ft{'module'} += s/\bcuModuleLoadDataEx\b/hipModuleLoadDataEx/g;
    $ft{'module'} += s/\bcuModuleUnload\b/hipModuleUnload/g;
    $ft{'memory'} += s/\bcuArray3DCreate\b/hipArray3DCreate/g;
    $ft{'memory'} += s/\bcuArray3DCreate_v2\b/hipArray3DCreate/g;
    $ft{'memory'} += s/\bcuArrayCreate\b/hipArrayCreate/g;
    $ft{'memory'} += s/\bcuArrayCreate_v2\b/hipArrayCreate/g;
    $ft{'memory'} += s/\bcuArrayDestroy\b/hipArrayDestroy/g;
    $ft{'memory'} += s/\bcuDeviceGetByPCIBusId\b/hipDeviceGetByPCIBusId/g;
    $ft{'memory'} += s/\bcuDeviceGetPCIBusId\b/hipDeviceGetPCIBusId/g;
    $ft{'memory'} += s/\bcuIpcCloseMemHandle\b/hipIpcCloseMemHandle/g;
    $ft{'memory'} += s/\bcuIpcGetEventHandle\b/hipIpcGetEventHandle/g;
    $ft{'memory'} += s/\bcuIpcGetMemHandle\b/hipIpcGetMemHandle/g;
    $ft{'memory'} += s/\bcuIpcOpenEventHandle\b/hipIpcOpenEventHandle/g;
    $ft{'memory'} += s/\bcuIpcOpenMemHandle\b/hipIpcOpenMemHandle/g;
    $ft{'memory'} += s/\bcuMemAlloc\b/hipMalloc/g;
    $ft{'memory'} += s/\bcuMemAllocHost\b/hipMemAllocHost/g;
    $ft{'memory'} += s/\bcuMemAllocHost_v2\b/hipMemAllocHost/g;
    $ft{'memory'} += s/\bcuMemAllocManaged\b/hipMallocManaged/g;
    $ft{'memory'} += s/\bcuMemAllocPitch\b/hipMemAllocPitch/g;
    $ft{'memory'} += s/\bcuMemAllocPitch_v2\b/hipMemAllocPitch/g;
    $ft{'memory'} += s/\bcuMemAlloc_v2\b/hipMalloc/g;
    $ft{'memory'} += s/\bcuMemFree\b/hipFree/g;
    $ft{'memory'} += s/\bcuMemFreeHost\b/hipHostFree/g;
    $ft{'memory'} += s/\bcuMemFree_v2\b/hipFree/g;
    $ft{'memory'} += s/\bcuMemGetAddressRange\b/hipMemGetAddressRange/g;
    $ft{'memory'} += s/\bcuMemGetAddressRange_v2\b/hipMemGetAddressRange/g;
    $ft{'memory'} += s/\bcuMemGetInfo\b/hipMemGetInfo/g;
    $ft{'memory'} += s/\bcuMemGetInfo_v2\b/hipMemGetInfo/g;
    $ft{'memory'} += s/\bcuMemHostAlloc\b/hipHostAlloc/g;
    $ft{'memory'} += s/\bcuMemHostGetDevicePointer\b/hipHostGetDevicePointer/g;
    $ft{'memory'} += s/\bcuMemHostGetDevicePointer_v2\b/hipHostGetDevicePointer/g;
    $ft{'memory'} += s/\bcuMemHostGetFlags\b/hipHostGetFlags/g;
    $ft{'memory'} += s/\bcuMemHostRegister\b/hipHostRegister/g;
    $ft{'memory'} += s/\bcuMemHostRegister_v2\b/hipHostRegister/g;
    $ft{'memory'} += s/\bcuMemHostUnregister\b/hipHostUnregister/g;
    $ft{'memory'} += s/\bcuMemcpy2D\b/hipMemcpyParam2D/g;
    $ft{'memory'} += s/\bcuMemcpy2DAsync\b/hipMemcpyParam2DAsync/g;
    $ft{'memory'} += s/\bcuMemcpy2DAsync_v2\b/hipMemcpyParam2DAsync/g;
    $ft{'memory'} += s/\bcuMemcpy2DUnaligned\b/hipDrvMemcpy2DUnaligned/g;
    $ft{'memory'} += s/\bcuMemcpy2DUnaligned_v2\b/hipDrvMemcpy2DUnaligned/g;
    $ft{'memory'} += s/\bcuMemcpy2D_v2\b/hipMemcpyParam2D/g;
    $ft{'memory'} += s/\bcuMemcpy3D\b/hipDrvMemcpy3D/g;
    $ft{'memory'} += s/\bcuMemcpy3DAsync\b/hipDrvMemcpy3DAsync/g;
    $ft{'memory'} += s/\bcuMemcpy3DAsync_v2\b/hipDrvMemcpy3DAsync/g;
    $ft{'memory'} += s/\bcuMemcpy3D_v2\b/hipDrvMemcpy3D/g;
    $ft{'memory'} += s/\bcuMemcpyAtoH\b/hipMemcpyAtoH/g;
    $ft{'memory'} += s/\bcuMemcpyAtoH_v2\b/hipMemcpyAtoH/g;
    $ft{'memory'} += s/\bcuMemcpyDtoD\b/hipMemcpyDtoD/g;
    $ft{'memory'} += s/\bcuMemcpyDtoDAsync\b/hipMemcpyDtoDAsync/g;
    $ft{'memory'} += s/\bcuMemcpyDtoDAsync_v2\b/hipMemcpyDtoDAsync/g;
    $ft{'memory'} += s/\bcuMemcpyDtoD_v2\b/hipMemcpyDtoD/g;
    $ft{'memory'} += s/\bcuMemcpyDtoH\b/hipMemcpyDtoH/g;
    $ft{'memory'} += s/\bcuMemcpyDtoHAsync\b/hipMemcpyDtoHAsync/g;
    $ft{'memory'} += s/\bcuMemcpyDtoHAsync_v2\b/hipMemcpyDtoHAsync/g;
    $ft{'memory'} += s/\bcuMemcpyDtoH_v2\b/hipMemcpyDtoH/g;
    $ft{'memory'} += s/\bcuMemcpyHtoA\b/hipMemcpyHtoA/g;
    $ft{'memory'} += s/\bcuMemcpyHtoA_v2\b/hipMemcpyHtoA/g;
    $ft{'memory'} += s/\bcuMemcpyHtoD\b/hipMemcpyHtoD/g;
    $ft{'memory'} += s/\bcuMemcpyHtoDAsync\b/hipMemcpyHtoDAsync/g;
    $ft{'memory'} += s/\bcuMemcpyHtoDAsync_v2\b/hipMemcpyHtoDAsync/g;
    $ft{'memory'} += s/\bcuMemcpyHtoD_v2\b/hipMemcpyHtoD/g;
    $ft{'memory'} += s/\bcuMemsetD16\b/hipMemsetD16/g;
    $ft{'memory'} += s/\bcuMemsetD16Async\b/hipMemsetD16Async/g;
    $ft{'memory'} += s/\bcuMemsetD16_v2\b/hipMemsetD16/g;
    $ft{'memory'} += s/\bcuMemsetD32\b/hipMemsetD32/g;
    $ft{'memory'} += s/\bcuMemsetD32Async\b/hipMemsetD32Async/g;
    $ft{'memory'} += s/\bcuMemsetD32_v2\b/hipMemsetD32/g;
    $ft{'memory'} += s/\bcuMemsetD8\b/hipMemsetD8/g;
    $ft{'memory'} += s/\bcuMemsetD8Async\b/hipMemsetD8Async/g;
    $ft{'memory'} += s/\bcuMemsetD8_v2\b/hipMemsetD8/g;
    $ft{'memory'} += s/\bcuMipmappedArrayCreate\b/hipMipmappedArrayCreate/g;
    $ft{'memory'} += s/\bcuMipmappedArrayDestroy\b/hipMipmappedArrayDestroy/g;
    $ft{'memory'} += s/\bcuMipmappedArrayGetLevel\b/hipMipmappedArrayGetLevel/g;
    $ft{'memory'} += s/\bcudaFree\b/hipFree/g;
    $ft{'memory'} += s/\bcudaFreeArray\b/hipFreeArray/g;
    $ft{'memory'} += s/\bcudaFreeHost\b/hipHostFree/g;
    $ft{'memory'} += s/\bcudaFreeMipmappedArray\b/hipFreeMipmappedArray/g;
    $ft{'memory'} += s/\bcudaGetMipmappedArrayLevel\b/hipGetMipmappedArrayLevel/g;
    $ft{'memory'} += s/\bcudaGetSymbolAddress\b/hipGetSymbolAddress/g;
    $ft{'memory'} += s/\bcudaGetSymbolSize\b/hipGetSymbolSize/g;
    $ft{'memory'} += s/\bcudaHostAlloc\b/hipHostAlloc/g;
    $ft{'memory'} += s/\bcudaHostGetDevicePointer\b/hipHostGetDevicePointer/g;
    $ft{'memory'} += s/\bcudaHostGetFlags\b/hipHostGetFlags/g;
    $ft{'memory'} += s/\bcudaHostRegister\b/hipHostRegister/g;
    $ft{'memory'} += s/\bcudaHostUnregister\b/hipHostUnregister/g;
    $ft{'memory'} += s/\bcudaMalloc\b/hipMalloc/g;
    $ft{'memory'} += s/\bcudaMalloc3D\b/hipMalloc3D/g;
    $ft{'memory'} += s/\bcudaMalloc3DArray\b/hipMalloc3DArray/g;
    $ft{'memory'} += s/\bcudaMallocArray\b/hipMallocArray/g;
    $ft{'memory'} += s/\bcudaMallocHost\b/hipHostMalloc/g;
    $ft{'memory'} += s/\bcudaMallocManaged\b/hipMallocManaged/g;
    $ft{'memory'} += s/\bcudaMallocMipmappedArray\b/hipMallocMipmappedArray/g;
    $ft{'memory'} += s/\bcudaMallocPitch\b/hipMallocPitch/g;
    $ft{'memory'} += s/\bcudaMemAdvise\b/hipMemAdvise/g;
    $ft{'memory'} += s/\bcudaMemGetInfo\b/hipMemGetInfo/g;
    $ft{'memory'} += s/\bcudaMemPrefetchAsync\b/hipMemPrefetchAsync/g;
    $ft{'memory'} += s/\bcudaMemRangeGetAttribute\b/hipMemRangeGetAttribute/g;
    $ft{'memory'} += s/\bcudaMemRangeGetAttributes\b/hipMemRangeGetAttributes/g;
    $ft{'memory'} += s/\bcudaMemcpy\b/hipMemcpy/g;
    $ft{'memory'} += s/\bcudaMemcpy2D\b/hipMemcpy2D/g;
    $ft{'memory'} += s/\bcudaMemcpy2DAsync\b/hipMemcpy2DAsync/g;
    $ft{'memory'} += s/\bcudaMemcpy2DFromArray\b/hipMemcpy2DFromArray/g;
    $ft{'memory'} += s/\bcudaMemcpy2DFromArrayAsync\b/hipMemcpy2DFromArrayAsync/g;
    $ft{'memory'} += s/\bcudaMemcpy2DToArray\b/hipMemcpy2DToArray/g;
    $ft{'memory'} += s/\bcudaMemcpy2DToArrayAsync\b/hipMemcpy2DToArrayAsync/g;
    $ft{'memory'} += s/\bcudaMemcpy3D\b/hipMemcpy3D/g;
    $ft{'memory'} += s/\bcudaMemcpy3DAsync\b/hipMemcpy3DAsync/g;
    $ft{'memory'} += s/\bcudaMemcpyAsync\b/hipMemcpyAsync/g;
    $ft{'memory'} += s/\bcudaMemcpyFromArray\b/hipMemcpyFromArray/g;
    $ft{'memory'} += s/\bcudaMemcpyFromSymbol\b/hipMemcpyFromSymbol/g;
    $ft{'memory'} += s/\bcudaMemcpyFromSymbolAsync\b/hipMemcpyFromSymbolAsync/g;
    $ft{'memory'} += s/\bcudaMemcpyPeer\b/hipMemcpyPeer/g;
    $ft{'memory'} += s/\bcudaMemcpyPeerAsync\b/hipMemcpyPeerAsync/g;
    $ft{'memory'} += s/\bcudaMemcpyToArray\b/hipMemcpyToArray/g;
    $ft{'memory'} += s/\bcudaMemcpyToSymbol\b/hipMemcpyToSymbol/g;
    $ft{'memory'} += s/\bcudaMemcpyToSymbolAsync\b/hipMemcpyToSymbolAsync/g;
    $ft{'memory'} += s/\bcudaMemset\b/hipMemset/g;
    $ft{'memory'} += s/\bcudaMemset2D\b/hipMemset2D/g;
    $ft{'memory'} += s/\bcudaMemset2DAsync\b/hipMemset2DAsync/g;
    $ft{'memory'} += s/\bcudaMemset3D\b/hipMemset3D/g;
    $ft{'memory'} += s/\bcudaMemset3DAsync\b/hipMemset3DAsync/g;
    $ft{'memory'} += s/\bcudaMemsetAsync\b/hipMemsetAsync/g;
    $ft{'memory'} += s/\bmake_cudaExtent\b/make_hipExtent/g;
    $ft{'memory'} += s/\bmake_cudaPitchedPtr\b/make_hipPitchedPtr/g;
    $ft{'memory'} += s/\bmake_cudaPos\b/make_hipPos/g;
    $ft{'addressing'} += s/\bcuMemAdvise\b/hipMemAdvise/g;
    $ft{'addressing'} += s/\bcuMemPrefetchAsync\b/hipMemPrefetchAsync/g;
    $ft{'addressing'} += s/\bcuMemRangeGetAttribute\b/hipMemRangeGetAttribute/g;
    $ft{'addressing'} += s/\bcuMemRangeGetAttributes\b/hipMemRangeGetAttributes/g;
    $ft{'addressing'} += s/\bcuPointerGetAttribute\b/hipPointerGetAttribute/g;
    $ft{'addressing'} += s/\bcuPointerGetAttributes\b/hipDrvPointerGetAttributes/g;
    $ft{'addressing'} += s/\bcudaPointerGetAttributes\b/hipPointerGetAttributes/g;
    $ft{'stream'} += s/\bcuStreamAddCallback\b/hipStreamAddCallback/g;
    $ft{'stream'} += s/\bcuStreamAttachMemAsync\b/hipStreamAttachMemAsync/g;
    $ft{'stream'} += s/\bcuStreamBeginCapture\b/hipStreamBeginCapture/g;
    $ft{'stream'} += s/\bcuStreamBeginCapture_v2\b/hipStreamBeginCapture/g;
    $ft{'stream'} += s/\bcuStreamCreate\b/hipStreamCreateWithFlags/g;
    $ft{'stream'} += s/\bcuStreamCreateWithPriority\b/hipStreamCreateWithPriority/g;
    $ft{'stream'} += s/\bcuStreamDestroy\b/hipStreamDestroy/g;
    $ft{'stream'} += s/\bcuStreamDestroy_v2\b/hipStreamDestroy/g;
    $ft{'stream'} += s/\bcuStreamEndCapture\b/hipStreamEndCapture/g;
    $ft{'stream'} += s/\bcuStreamGetCaptureInfo\b/hipStreamGetCaptureInfo/g;
    $ft{'stream'} += s/\bcuStreamGetCaptureInfo_v2\b/hipStreamGetCaptureInfo_v2/g;
    $ft{'stream'} += s/\bcuStreamGetFlags\b/hipStreamGetFlags/g;
    $ft{'stream'} += s/\bcuStreamGetPriority\b/hipStreamGetPriority/g;
    $ft{'stream'} += s/\bcuStreamIsCapturing\b/hipStreamIsCapturing/g;
    $ft{'stream'} += s/\bcuStreamQuery\b/hipStreamQuery/g;
    $ft{'stream'} += s/\bcuStreamSynchronize\b/hipStreamSynchronize/g;
    $ft{'stream'} += s/\bcuStreamUpdateCaptureDependencies\b/hipStreamUpdateCaptureDependencies/g;
    $ft{'stream'} += s/\bcuStreamWaitEvent\b/hipStreamWaitEvent/g;
    $ft{'stream'} += s/\bcudaStreamAddCallback\b/hipStreamAddCallback/g;
    $ft{'stream'} += s/\bcudaStreamAttachMemAsync\b/hipStreamAttachMemAsync/g;
    $ft{'stream'} += s/\bcudaStreamBeginCapture\b/hipStreamBeginCapture/g;
    $ft{'stream'} += s/\bcudaStreamCreate\b/hipStreamCreate/g;
    $ft{'stream'} += s/\bcudaStreamCreateWithFlags\b/hipStreamCreateWithFlags/g;
    $ft{'stream'} += s/\bcudaStreamCreateWithPriority\b/hipStreamCreateWithPriority/g;
    $ft{'stream'} += s/\bcudaStreamDestroy\b/hipStreamDestroy/g;
    $ft{'stream'} += s/\bcudaStreamEndCapture\b/hipStreamEndCapture/g;
    $ft{'stream'} += s/\bcudaStreamGetCaptureInfo\b/hipStreamGetCaptureInfo/g;
    $ft{'stream'} += s/\bcudaStreamGetFlags\b/hipStreamGetFlags/g;
    $ft{'stream'} += s/\bcudaStreamGetPriority\b/hipStreamGetPriority/g;
    $ft{'stream'} += s/\bcudaStreamIsCapturing\b/hipStreamIsCapturing/g;
    $ft{'stream'} += s/\bcudaStreamQuery\b/hipStreamQuery/g;
    $ft{'stream'} += s/\bcudaStreamSynchronize\b/hipStreamSynchronize/g;
    $ft{'stream'} += s/\bcudaStreamWaitEvent\b/hipStreamWaitEvent/g;
    $ft{'event'} += s/\bcuEventCreate\b/hipEventCreateWithFlags/g;
    $ft{'event'} += s/\bcuEventDestroy\b/hipEventDestroy/g;
    $ft{'event'} += s/\bcuEventDestroy_v2\b/hipEventDestroy/g;
    $ft{'event'} += s/\bcuEventElapsedTime\b/hipEventElapsedTime/g;
    $ft{'event'} += s/\bcuEventQuery\b/hipEventQuery/g;
    $ft{'event'} += s/\bcuEventRecord\b/hipEventRecord/g;
    $ft{'event'} += s/\bcuEventSynchronize\b/hipEventSynchronize/g;
    $ft{'event'} += s/\bcudaEventCreate\b/hipEventCreate/g;
    $ft{'event'} += s/\bcudaEventCreateWithFlags\b/hipEventCreateWithFlags/g;
    $ft{'event'} += s/\bcudaEventDestroy\b/hipEventDestroy/g;
    $ft{'event'} += s/\bcudaEventElapsedTime\b/hipEventElapsedTime/g;
    $ft{'event'} += s/\bcudaEventQuery\b/hipEventQuery/g;
    $ft{'event'} += s/\bcudaEventRecord\b/hipEventRecord/g;
    $ft{'event'} += s/\bcudaEventSynchronize\b/hipEventSynchronize/g;
    $ft{'external_resource_interop'} += s/\bcuDestroyExternalMemory\b/hipDestroyExternalMemory/g;
    $ft{'external_resource_interop'} += s/\bcuDestroyExternalSemaphore\b/hipDestroyExternalSemaphore/g;
    $ft{'external_resource_interop'} += s/\bcuExternalMemoryGetMappedBuffer\b/hipExternalMemoryGetMappedBuffer/g;
    $ft{'external_resource_interop'} += s/\bcuImportExternalMemory\b/hipImportExternalMemory/g;
    $ft{'external_resource_interop'} += s/\bcuImportExternalSemaphore\b/hipImportExternalSemaphore/g;
    $ft{'external_resource_interop'} += s/\bcuSignalExternalSemaphoresAsync\b/hipSignalExternalSemaphoresAsync/g;
    $ft{'external_resource_interop'} += s/\bcuWaitExternalSemaphoresAsync\b/hipWaitExternalSemaphoresAsync/g;
    $ft{'external_resource_interop'} += s/\bcudaDestroyExternalMemory\b/hipDestroyExternalMemory/g;
    $ft{'external_resource_interop'} += s/\bcudaDestroyExternalSemaphore\b/hipDestroyExternalSemaphore/g;
    $ft{'external_resource_interop'} += s/\bcudaExternalMemoryGetMappedBuffer\b/hipExternalMemoryGetMappedBuffer/g;
    $ft{'external_resource_interop'} += s/\bcudaImportExternalMemory\b/hipImportExternalMemory/g;
    $ft{'external_resource_interop'} += s/\bcudaImportExternalSemaphore\b/hipImportExternalSemaphore/g;
    $ft{'external_resource_interop'} += s/\bcudaSignalExternalSemaphoresAsync\b/hipSignalExternalSemaphoresAsync/g;
    $ft{'external_resource_interop'} += s/\bcudaWaitExternalSemaphoresAsync\b/hipWaitExternalSemaphoresAsync/g;
    $ft{'stream_memory'} += s/\bcuStreamWaitValue32\b/hipStreamWaitValue32/g;
    $ft{'stream_memory'} += s/\bcuStreamWaitValue64\b/hipStreamWaitValue64/g;
    $ft{'stream_memory'} += s/\bcuStreamWriteValue32\b/hipStreamWriteValue32/g;
    $ft{'stream_memory'} += s/\bcuStreamWriteValue64\b/hipStreamWriteValue64/g;
    $ft{'execution'} += s/\bcuFuncGetAttribute\b/hipFuncGetAttribute/g;
    $ft{'execution'} += s/\bcuLaunchKernel\b/hipModuleLaunchKernel/g;
    $ft{'execution'} += s/\bcudaConfigureCall\b/hipConfigureCall/g;
    $ft{'execution'} += s/\bcudaFuncGetAttributes\b/hipFuncGetAttributes/g;
    $ft{'execution'} += s/\bcudaFuncSetAttribute\b/hipFuncSetAttribute/g;
    $ft{'execution'} += s/\bcudaFuncSetSharedMemConfig\b/hipFuncSetSharedMemConfig/g;
    $ft{'execution'} += s/\bcudaLaunch\b/hipLaunchByPtr/g;
    $ft{'execution'} += s/\bcudaLaunchCooperativeKernel\b/hipLaunchCooperativeKernel/g;
    $ft{'execution'} += s/\bcudaLaunchCooperativeKernelMultiDevice\b/hipLaunchCooperativeKernelMultiDevice/g;
    $ft{'execution'} += s/\bcudaLaunchKernel\b/hipLaunchKernel/g;
    $ft{'execution'} += s/\bcudaSetupArgument\b/hipSetupArgument/g;
    $ft{'graph'} += s/\bcuGraphAddChildGraphNode\b/hipGraphAddChildGraphNode/g;
    $ft{'graph'} += s/\bcuGraphAddDependencies\b/hipGraphAddDependencies/g;
    $ft{'graph'} += s/\bcuGraphAddEmptyNode\b/hipGraphAddEmptyNode/g;
    $ft{'graph'} += s/\bcuGraphAddEventRecordNode\b/hipGraphAddEventRecordNode/g;
    $ft{'graph'} += s/\bcuGraphAddEventWaitNode\b/hipGraphAddEventWaitNode/g;
    $ft{'graph'} += s/\bcuGraphAddHostNode\b/hipGraphAddHostNode/g;
    $ft{'graph'} += s/\bcuGraphAddKernelNode\b/hipGraphAddKernelNode/g;
    $ft{'graph'} += s/\bcuGraphChildGraphNodeGetGraph\b/hipGraphChildGraphNodeGetGraph/g;
    $ft{'graph'} += s/\bcuGraphCreate\b/hipGraphCreate/g;
    $ft{'graph'} += s/\bcuGraphDestroy\b/hipGraphDestroy/g;
    $ft{'graph'} += s/\bcuGraphDestroyNode\b/hipGraphDestroyNode/g;
    $ft{'graph'} += s/\bcuGraphEventRecordNodeGetEvent\b/hipGraphEventRecordNodeGetEvent/g;
    $ft{'graph'} += s/\bcuGraphEventRecordNodeSetEvent\b/hipGraphEventRecordNodeSetEvent/g;
    $ft{'graph'} += s/\bcuGraphEventWaitNodeGetEvent\b/hipGraphEventWaitNodeGetEvent/g;
    $ft{'graph'} += s/\bcuGraphEventWaitNodeSetEvent\b/hipGraphEventWaitNodeSetEvent/g;
    $ft{'graph'} += s/\bcuGraphExecChildGraphNodeSetParams\b/hipGraphExecChildGraphNodeSetParams/g;
    $ft{'graph'} += s/\bcuGraphExecDestroy\b/hipGraphExecDestroy/g;
    $ft{'graph'} += s/\bcuGraphExecEventRecordNodeSetEvent\b/hipGraphExecEventRecordNodeSetEvent/g;
    $ft{'graph'} += s/\bcuGraphExecEventWaitNodeSetEvent\b/hipGraphExecEventWaitNodeSetEvent/g;
    $ft{'graph'} += s/\bcuGraphExecHostNodeSetParams\b/hipGraphExecHostNodeSetParams/g;
    $ft{'graph'} += s/\bcuGraphExecKernelNodeSetParams\b/hipGraphExecKernelNodeSetParams/g;
    $ft{'graph'} += s/\bcuGraphExecUpdate\b/hipGraphExecUpdate/g;
    $ft{'graph'} += s/\bcuGraphGetEdges\b/hipGraphGetEdges/g;
    $ft{'graph'} += s/\bcuGraphGetNodes\b/hipGraphGetNodes/g;
    $ft{'graph'} += s/\bcuGraphGetRootNodes\b/hipGraphGetRootNodes/g;
    $ft{'graph'} += s/\bcuGraphHostNodeGetParams\b/hipGraphHostNodeGetParams/g;
    $ft{'graph'} += s/\bcuGraphHostNodeSetParams\b/hipGraphHostNodeSetParams/g;
    $ft{'graph'} += s/\bcuGraphInstantiate\b/hipGraphInstantiate/g;
    $ft{'graph'} += s/\bcuGraphInstantiateWithFlags\b/hipGraphInstantiateWithFlags/g;
    $ft{'graph'} += s/\bcuGraphInstantiate_v2\b/hipGraphInstantiate/g;
    $ft{'graph'} += s/\bcuGraphKernelNodeGetParams\b/hipGraphKernelNodeGetParams/g;
    $ft{'graph'} += s/\bcuGraphKernelNodeSetParams\b/hipGraphKernelNodeSetParams/g;
    $ft{'graph'} += s/\bcuGraphLaunch\b/hipGraphLaunch/g;
    $ft{'graph'} += s/\bcuGraphMemcpyNodeGetParams\b/hipGraphMemcpyNodeGetParams/g;
    $ft{'graph'} += s/\bcuGraphMemcpyNodeSetParams\b/hipGraphMemcpyNodeSetParams/g;
    $ft{'graph'} += s/\bcuGraphMemsetNodeGetParams\b/hipGraphMemsetNodeGetParams/g;
    $ft{'graph'} += s/\bcuGraphMemsetNodeSetParams\b/hipGraphMemsetNodeSetParams/g;
    $ft{'graph'} += s/\bcuGraphNodeFindInClone\b/hipGraphNodeFindInClone/g;
    $ft{'graph'} += s/\bcuGraphNodeGetDependencies\b/hipGraphNodeGetDependencies/g;
    $ft{'graph'} += s/\bcuGraphNodeGetDependentNodes\b/hipGraphNodeGetDependentNodes/g;
    $ft{'graph'} += s/\bcuGraphNodeGetType\b/hipGraphNodeGetType/g;
    $ft{'graph'} += s/\bcuGraphRemoveDependencies\b/hipGraphRemoveDependencies/g;
    $ft{'graph'} += s/\bcudaGraphAddChildGraphNode\b/hipGraphAddChildGraphNode/g;
    $ft{'graph'} += s/\bcudaGraphAddDependencies\b/hipGraphAddDependencies/g;
    $ft{'graph'} += s/\bcudaGraphAddEmptyNode\b/hipGraphAddEmptyNode/g;
    $ft{'graph'} += s/\bcudaGraphAddEventRecordNode\b/hipGraphAddEventRecordNode/g;
    $ft{'graph'} += s/\bcudaGraphAddEventWaitNode\b/hipGraphAddEventWaitNode/g;
    $ft{'graph'} += s/\bcudaGraphAddHostNode\b/hipGraphAddHostNode/g;
    $ft{'graph'} += s/\bcudaGraphAddKernelNode\b/hipGraphAddKernelNode/g;
    $ft{'graph'} += s/\bcudaGraphAddMemcpyNode\b/hipGraphAddMemcpyNode/g;
    $ft{'graph'} += s/\bcudaGraphAddMemcpyNode1D\b/hipGraphAddMemcpyNode1D/g;
    $ft{'graph'} += s/\bcudaGraphAddMemcpyNodeFromSymbol\b/hipGraphAddMemcpyNodeFromSymbol/g;
    $ft{'graph'} += s/\bcudaGraphAddMemcpyNodeToSymbol\b/hipGraphAddMemcpyNodeToSymbol/g;
    $ft{'graph'} += s/\bcudaGraphAddMemsetNode\b/hipGraphAddMemsetNode/g;
    $ft{'graph'} += s/\bcudaGraphChildGraphNodeGetGraph\b/hipGraphChildGraphNodeGetGraph/g;
    $ft{'graph'} += s/\bcudaGraphCreate\b/hipGraphCreate/g;
    $ft{'graph'} += s/\bcudaGraphDestroy\b/hipGraphDestroy/g;
    $ft{'graph'} += s/\bcudaGraphDestroyNode\b/hipGraphDestroyNode/g;
    $ft{'graph'} += s/\bcudaGraphEventRecordNodeGetEvent\b/hipGraphEventRecordNodeGetEvent/g;
    $ft{'graph'} += s/\bcudaGraphEventRecordNodeSetEvent\b/hipGraphEventRecordNodeSetEvent/g;
    $ft{'graph'} += s/\bcudaGraphEventWaitNodeGetEvent\b/hipGraphEventWaitNodeGetEvent/g;
    $ft{'graph'} += s/\bcudaGraphEventWaitNodeSetEvent\b/hipGraphEventWaitNodeSetEvent/g;
    $ft{'graph'} += s/\bcudaGraphExecChildGraphNodeSetParams\b/hipGraphExecChildGraphNodeSetParams/g;
    $ft{'graph'} += s/\bcudaGraphExecDestroy\b/hipGraphExecDestroy/g;
    $ft{'graph'} += s/\bcudaGraphExecEventRecordNodeSetEvent\b/hipGraphExecEventRecordNodeSetEvent/g;
    $ft{'graph'} += s/\bcudaGraphExecEventWaitNodeSetEvent\b/hipGraphExecEventWaitNodeSetEvent/g;
    $ft{'graph'} += s/\bcudaGraphExecHostNodeSetParams\b/hipGraphExecHostNodeSetParams/g;
    $ft{'graph'} += s/\bcudaGraphExecKernelNodeSetParams\b/hipGraphExecKernelNodeSetParams/g;
    $ft{'graph'} += s/\bcudaGraphExecMemcpyNodeSetParams\b/hipGraphExecMemcpyNodeSetParams/g;
    $ft{'graph'} += s/\bcudaGraphExecMemcpyNodeSetParams1D\b/hipGraphExecMemcpyNodeSetParams1D/g;
    $ft{'graph'} += s/\bcudaGraphExecMemcpyNodeSetParamsFromSymbol\b/hipGraphExecMemcpyNodeSetParamsFromSymbol/g;
    $ft{'graph'} += s/\bcudaGraphExecMemcpyNodeSetParamsToSymbol\b/hipGraphExecMemcpyNodeSetParamsToSymbol/g;
    $ft{'graph'} += s/\bcudaGraphExecMemsetNodeSetParams\b/hipGraphExecMemsetNodeSetParams/g;
    $ft{'graph'} += s/\bcudaGraphExecUpdate\b/hipGraphExecUpdate/g;
    $ft{'graph'} += s/\bcudaGraphGetEdges\b/hipGraphGetEdges/g;
    $ft{'graph'} += s/\bcudaGraphGetNodes\b/hipGraphGetNodes/g;
    $ft{'graph'} += s/\bcudaGraphGetRootNodes\b/hipGraphGetRootNodes/g;
    $ft{'graph'} += s/\bcudaGraphHostNodeGetParams\b/hipGraphHostNodeGetParams/g;
    $ft{'graph'} += s/\bcudaGraphHostNodeSetParams\b/hipGraphHostNodeSetParams/g;
    $ft{'graph'} += s/\bcudaGraphInstantiate\b/hipGraphInstantiate/g;
    $ft{'graph'} += s/\bcudaGraphInstantiateWithFlags\b/hipGraphInstantiateWithFlags/g;
    $ft{'graph'} += s/\bcudaGraphKernelNodeGetParams\b/hipGraphKernelNodeGetParams/g;
    $ft{'graph'} += s/\bcudaGraphKernelNodeSetParams\b/hipGraphKernelNodeSetParams/g;
    $ft{'graph'} += s/\bcudaGraphLaunch\b/hipGraphLaunch/g;
    $ft{'graph'} += s/\bcudaGraphMemcpyNodeGetParams\b/hipGraphMemcpyNodeGetParams/g;
    $ft{'graph'} += s/\bcudaGraphMemcpyNodeSetParams\b/hipGraphMemcpyNodeSetParams/g;
    $ft{'graph'} += s/\bcudaGraphMemcpyNodeSetParams1D\b/hipGraphMemcpyNodeSetParams1D/g;
    $ft{'graph'} += s/\bcudaGraphMemcpyNodeSetParamsFromSymbol\b/hipGraphMemcpyNodeSetParamsFromSymbol/g;
    $ft{'graph'} += s/\bcudaGraphMemcpyNodeSetParamsToSymbol\b/hipGraphMemcpyNodeSetParamsToSymbol/g;
    $ft{'graph'} += s/\bcudaGraphMemsetNodeGetParams\b/hipGraphMemsetNodeGetParams/g;
    $ft{'graph'} += s/\bcudaGraphMemsetNodeSetParams\b/hipGraphMemsetNodeSetParams/g;
    $ft{'graph'} += s/\bcudaGraphNodeFindInClone\b/hipGraphNodeFindInClone/g;
    $ft{'graph'} += s/\bcudaGraphNodeGetDependencies\b/hipGraphNodeGetDependencies/g;
    $ft{'graph'} += s/\bcudaGraphNodeGetDependentNodes\b/hipGraphNodeGetDependentNodes/g;
    $ft{'graph'} += s/\bcudaGraphNodeGetType\b/hipGraphNodeGetType/g;
    $ft{'graph'} += s/\bcudaGraphRemoveDependencies\b/hipGraphRemoveDependencies/g;
    $ft{'occupancy'} += s/\bcuOccupancyMaxActiveBlocksPerMultiprocessor\b/hipModuleOccupancyMaxActiveBlocksPerMultiprocessor/g;
    $ft{'occupancy'} += s/\bcuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\b/hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags/g;
    $ft{'occupancy'} += s/\bcuOccupancyMaxPotentialBlockSize\b/hipModuleOccupancyMaxPotentialBlockSize/g;
    $ft{'occupancy'} += s/\bcuOccupancyMaxPotentialBlockSizeWithFlags\b/hipModuleOccupancyMaxPotentialBlockSizeWithFlags/g;
    $ft{'occupancy'} += s/\bcudaOccupancyMaxActiveBlocksPerMultiprocessor\b/hipOccupancyMaxActiveBlocksPerMultiprocessor/g;
    $ft{'occupancy'} += s/\bcudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\b/hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags/g;
    $ft{'occupancy'} += s/\bcudaOccupancyMaxPotentialBlockSize\b/hipOccupancyMaxPotentialBlockSize/g;
    $ft{'occupancy'} += s/\bcudaOccupancyMaxPotentialBlockSizeWithFlags\b/hipOccupancyMaxPotentialBlockSizeWithFlags/g;
    $ft{'texture'} += s/\bcuTexObjectCreate\b/hipTexObjectCreate/g;
    $ft{'texture'} += s/\bcuTexObjectDestroy\b/hipTexObjectDestroy/g;
    $ft{'texture'} += s/\bcuTexObjectGetResourceDesc\b/hipTexObjectGetResourceDesc/g;
    $ft{'texture'} += s/\bcuTexObjectGetResourceViewDesc\b/hipTexObjectGetResourceViewDesc/g;
    $ft{'texture'} += s/\bcuTexObjectGetTextureDesc\b/hipTexObjectGetTextureDesc/g;
    $ft{'texture'} += s/\bcuTexRefGetAddress\b/hipTexRefGetAddress/g;
    $ft{'texture'} += s/\bcuTexRefGetAddressMode\b/hipTexRefGetAddressMode/g;
    $ft{'texture'} += s/\bcuTexRefGetAddress_v2\b/hipTexRefGetAddress/g;
    $ft{'texture'} += s/\bcuTexRefGetArray\b/hipTexRefGetArray/g;
    $ft{'texture'} += s/\bcuTexRefGetFilterMode\b/hipTexRefGetFilterMode/g;
    $ft{'texture'} += s/\bcuTexRefGetFlags\b/hipTexRefGetFlags/g;
    $ft{'texture'} += s/\bcuTexRefGetFormat\b/hipTexRefGetFormat/g;
    $ft{'texture'} += s/\bcuTexRefGetMaxAnisotropy\b/hipTexRefGetMaxAnisotropy/g;
    $ft{'texture'} += s/\bcuTexRefGetMipmapFilterMode\b/hipTexRefGetMipmapFilterMode/g;
    $ft{'texture'} += s/\bcuTexRefGetMipmapLevelBias\b/hipTexRefGetMipmapLevelBias/g;
    $ft{'texture'} += s/\bcuTexRefGetMipmapLevelClamp\b/hipTexRefGetMipmapLevelClamp/g;
    $ft{'texture'} += s/\bcuTexRefGetMipmappedArray\b/hipTexRefGetMipMappedArray/g;
    $ft{'texture'} += s/\bcuTexRefSetAddress\b/hipTexRefSetAddress/g;
    $ft{'texture'} += s/\bcuTexRefSetAddress2D\b/hipTexRefSetAddress2D/g;
    $ft{'texture'} += s/\bcuTexRefSetAddress2D_v2\b/hipTexRefSetAddress2D/g;
    $ft{'texture'} += s/\bcuTexRefSetAddress2D_v3\b/hipTexRefSetAddress2D/g;
    $ft{'texture'} += s/\bcuTexRefSetAddressMode\b/hipTexRefSetAddressMode/g;
    $ft{'texture'} += s/\bcuTexRefSetAddress_v2\b/hipTexRefSetAddress/g;
    $ft{'texture'} += s/\bcuTexRefSetArray\b/hipTexRefSetArray/g;
    $ft{'texture'} += s/\bcuTexRefSetBorderColor\b/hipTexRefSetBorderColor/g;
    $ft{'texture'} += s/\bcuTexRefSetFilterMode\b/hipTexRefSetFilterMode/g;
    $ft{'texture'} += s/\bcuTexRefSetFlags\b/hipTexRefSetFlags/g;
    $ft{'texture'} += s/\bcuTexRefSetFormat\b/hipTexRefSetFormat/g;
    $ft{'texture'} += s/\bcuTexRefSetMaxAnisotropy\b/hipTexRefSetMaxAnisotropy/g;
    $ft{'texture'} += s/\bcuTexRefSetMipmapFilterMode\b/hipTexRefSetMipmapFilterMode/g;
    $ft{'texture'} += s/\bcuTexRefSetMipmapLevelBias\b/hipTexRefSetMipmapLevelBias/g;
    $ft{'texture'} += s/\bcuTexRefSetMipmapLevelClamp\b/hipTexRefSetMipmapLevelClamp/g;
    $ft{'texture'} += s/\bcuTexRefSetMipmappedArray\b/hipTexRefSetMipmappedArray/g;
    $ft{'texture'} += s/\bcudaBindTexture\b/hipBindTexture/g;
    $ft{'texture'} += s/\bcudaBindTexture2D\b/hipBindTexture2D/g;
    $ft{'texture'} += s/\bcudaBindTextureToArray\b/hipBindTextureToArray/g;
    $ft{'texture'} += s/\bcudaBindTextureToMipmappedArray\b/hipBindTextureToMipmappedArray/g;
    $ft{'texture'} += s/\bcudaCreateChannelDesc\b/hipCreateChannelDesc/g;
    $ft{'texture'} += s/\bcudaCreateTextureObject\b/hipCreateTextureObject/g;
    $ft{'texture'} += s/\bcudaDestroyTextureObject\b/hipDestroyTextureObject/g;
    $ft{'texture'} += s/\bcudaGetChannelDesc\b/hipGetChannelDesc/g;
    $ft{'texture'} += s/\bcudaGetTextureAlignmentOffset\b/hipGetTextureAlignmentOffset/g;
    $ft{'texture'} += s/\bcudaGetTextureObjectResourceDesc\b/hipGetTextureObjectResourceDesc/g;
    $ft{'texture'} += s/\bcudaGetTextureObjectResourceViewDesc\b/hipGetTextureObjectResourceViewDesc/g;
    $ft{'texture'} += s/\bcudaGetTextureReference\b/hipGetTextureReference/g;
    $ft{'texture'} += s/\bcudaUnbindTexture\b/hipUnbindTexture/g;
    $ft{'surface'} += s/\bcudaCreateSurfaceObject\b/hipCreateSurfaceObject/g;
    $ft{'surface'} += s/\bcudaDestroySurfaceObject\b/hipDestroySurfaceObject/g;
    $ft{'peer'} += s/\bcuCtxDisablePeerAccess\b/hipCtxDisablePeerAccess/g;
    $ft{'peer'} += s/\bcuCtxEnablePeerAccess\b/hipCtxEnablePeerAccess/g;
    $ft{'peer'} += s/\bcuDeviceCanAccessPeer\b/hipDeviceCanAccessPeer/g;
    $ft{'peer'} += s/\bcuDeviceGetP2PAttribute\b/hipDeviceGetP2PAttribute/g;
    $ft{'peer'} += s/\bcudaDeviceCanAccessPeer\b/hipDeviceCanAccessPeer/g;
    $ft{'peer'} += s/\bcudaDeviceDisablePeerAccess\b/hipDeviceDisablePeerAccess/g;
    $ft{'peer'} += s/\bcudaDeviceEnablePeerAccess\b/hipDeviceEnablePeerAccess/g;
    $ft{'graphics'} += s/\bcuGraphicsMapResources\b/hipGraphicsMapResources/g;
    $ft{'graphics'} += s/\bcuGraphicsResourceGetMappedPointer\b/hipGraphicsResourceGetMappedPointer/g;
    $ft{'graphics'} += s/\bcuGraphicsResourceGetMappedPointer_v2\b/hipGraphicsResourceGetMappedPointer/g;
    $ft{'graphics'} += s/\bcuGraphicsUnmapResources\b/hipGraphicsUnmapResources/g;
    $ft{'graphics'} += s/\bcuGraphicsUnregisterResource\b/hipGraphicsUnregisterResource/g;
    $ft{'graphics'} += s/\bcudaGraphicsMapResources\b/hipGraphicsMapResources/g;
    $ft{'graphics'} += s/\bcudaGraphicsResourceGetMappedPointer\b/hipGraphicsResourceGetMappedPointer/g;
    $ft{'graphics'} += s/\bcudaGraphicsUnmapResources\b/hipGraphicsUnmapResources/g;
    $ft{'graphics'} += s/\bcudaGraphicsUnregisterResource\b/hipGraphicsUnregisterResource/g;
    $ft{'profiler'} += s/\bcuProfilerStart\b/hipProfilerStart/g;
    $ft{'profiler'} += s/\bcuProfilerStop\b/hipProfilerStop/g;
    $ft{'profiler'} += s/\bcudaProfilerStart\b/hipProfilerStart/g;
    $ft{'profiler'} += s/\bcudaProfilerStop\b/hipProfilerStop/g;
    $ft{'openGL'} += s/\bcuGLGetDevices\b/hipGLGetDevices/g;
    $ft{'openGL'} += s/\bcuGraphicsGLRegisterBuffer\b/hipGraphicsGLRegisterBuffer/g;
    $ft{'openGL'} += s/\bcudaGLGetDevices\b/hipGLGetDevices/g;
    $ft{'openGL'} += s/\bcudaGraphicsGLRegisterBuffer\b/hipGraphicsGLRegisterBuffer/g;
    $ft{'openGL'} += s/\bcudaGraphicsGLRegisterImage\b/hipGraphicsGLRegisterImage/g;
    $ft{'thread'} += s/\bcudaThreadExit\b/hipDeviceReset/g;
    $ft{'thread'} += s/\bcudaThreadGetCacheConfig\b/hipDeviceGetCacheConfig/g;
    $ft{'thread'} += s/\bcudaThreadSetCacheConfig\b/hipDeviceSetCacheConfig/g;
    $ft{'thread'} += s/\bcudaThreadSynchronize\b/hipDeviceSynchronize/g;
    $ft{'complex'} += s/\bcuCabs\b/hipCabs/g;
    $ft{'complex'} += s/\bcuCabsf\b/hipCabsf/g;
    $ft{'complex'} += s/\bcuCadd\b/hipCadd/g;
    $ft{'complex'} += s/\bcuCaddf\b/hipCaddf/g;
    $ft{'complex'} += s/\bcuCdiv\b/hipCdiv/g;
    $ft{'complex'} += s/\bcuCdivf\b/hipCdivf/g;
    $ft{'complex'} += s/\bcuCfma\b/hipCfma/g;
    $ft{'complex'} += s/\bcuCfmaf\b/hipCfmaf/g;
    $ft{'complex'} += s/\bcuCimag\b/hipCimag/g;
    $ft{'complex'} += s/\bcuCimagf\b/hipCimagf/g;
    $ft{'complex'} += s/\bcuCmul\b/hipCmul/g;
    $ft{'complex'} += s/\bcuCmulf\b/hipCmulf/g;
    $ft{'complex'} += s/\bcuComplexDoubleToFloat\b/hipComplexDoubleToFloat/g;
    $ft{'complex'} += s/\bcuComplexFloatToDouble\b/hipComplexFloatToDouble/g;
    $ft{'complex'} += s/\bcuConj\b/hipConj/g;
    $ft{'complex'} += s/\bcuConjf\b/hipConjf/g;
    $ft{'complex'} += s/\bcuCreal\b/hipCreal/g;
    $ft{'complex'} += s/\bcuCrealf\b/hipCrealf/g;
    $ft{'complex'} += s/\bcuCsub\b/hipCsub/g;
    $ft{'complex'} += s/\bcuCsubf\b/hipCsubf/g;
    $ft{'complex'} += s/\bmake_cuComplex\b/make_hipComplex/g;
    $ft{'complex'} += s/\bmake_cuDoubleComplex\b/make_hipDoubleComplex/g;
    $ft{'complex'} += s/\bmake_cuFloatComplex\b/make_hipFloatComplex/g;
    $ft{'library'} += s/\bcublasAxpyEx\b/hipblasAxpyEx/g;
    $ft{'library'} += s/\bcublasCaxpy\b/hipblasCaxpy/g;
    $ft{'library'} += s/\bcublasCaxpy_v2\b/hipblasCaxpy/g;
    $ft{'library'} += s/\bcublasCcopy\b/hipblasCcopy/g;
    $ft{'library'} += s/\bcublasCcopy_v2\b/hipblasCcopy/g;
    $ft{'library'} += s/\bcublasCdgmm\b/hipblasCdgmm/g;
    $ft{'library'} += s/\bcublasCdotc\b/hipblasCdotc/g;
    $ft{'library'} += s/\bcublasCdotc_v2\b/hipblasCdotc/g;
    $ft{'library'} += s/\bcublasCdotu\b/hipblasCdotu/g;
    $ft{'library'} += s/\bcublasCdotu_v2\b/hipblasCdotu/g;
    $ft{'library'} += s/\bcublasCgbmv\b/hipblasCgbmv/g;
    $ft{'library'} += s/\bcublasCgbmv_v2\b/hipblasCgbmv/g;
    $ft{'library'} += s/\bcublasCgeam\b/hipblasCgeam/g;
    $ft{'library'} += s/\bcublasCgemm\b/hipblasCgemm/g;
    $ft{'library'} += s/\bcublasCgemmBatched\b/hipblasCgemmBatched/g;
    $ft{'library'} += s/\bcublasCgemmStridedBatched\b/hipblasCgemmStridedBatched/g;
    $ft{'library'} += s/\bcublasCgemm_v2\b/hipblasCgemm/g;
    $ft{'library'} += s/\bcublasCgemv\b/hipblasCgemv/g;
    $ft{'library'} += s/\bcublasCgemv_v2\b/hipblasCgemv/g;
    $ft{'library'} += s/\bcublasCgeqrfBatched\b/hipblasCgeqrfBatched/g;
    $ft{'library'} += s/\bcublasCgerc\b/hipblasCgerc/g;
    $ft{'library'} += s/\bcublasCgerc_v2\b/hipblasCgerc/g;
    $ft{'library'} += s/\bcublasCgeru\b/hipblasCgeru/g;
    $ft{'library'} += s/\bcublasCgeru_v2\b/hipblasCgeru/g;
    $ft{'library'} += s/\bcublasCgetrfBatched\b/hipblasCgetrfBatched/g;
    $ft{'library'} += s/\bcublasCgetriBatched\b/hipblasCgetriBatched/g;
    $ft{'library'} += s/\bcublasCgetrsBatched\b/hipblasCgetrsBatched/g;
    $ft{'library'} += s/\bcublasChbmv\b/hipblasChbmv/g;
    $ft{'library'} += s/\bcublasChbmv_v2\b/hipblasChbmv/g;
    $ft{'library'} += s/\bcublasChemm\b/hipblasChemm/g;
    $ft{'library'} += s/\bcublasChemm_v2\b/hipblasChemm/g;
    $ft{'library'} += s/\bcublasChemv\b/hipblasChemv/g;
    $ft{'library'} += s/\bcublasChemv_v2\b/hipblasChemv/g;
    $ft{'library'} += s/\bcublasCher\b/hipblasCher/g;
    $ft{'library'} += s/\bcublasCher2\b/hipblasCher2/g;
    $ft{'library'} += s/\bcublasCher2_v2\b/hipblasCher2/g;
    $ft{'library'} += s/\bcublasCher2k\b/hipblasCher2k/g;
    $ft{'library'} += s/\bcublasCher2k_v2\b/hipblasCher2k/g;
    $ft{'library'} += s/\bcublasCher_v2\b/hipblasCher/g;
    $ft{'library'} += s/\bcublasCherk\b/hipblasCherk/g;
    $ft{'library'} += s/\bcublasCherk_v2\b/hipblasCherk/g;
    $ft{'library'} += s/\bcublasCherkx\b/hipblasCherkx/g;
    $ft{'library'} += s/\bcublasChpmv\b/hipblasChpmv/g;
    $ft{'library'} += s/\bcublasChpmv_v2\b/hipblasChpmv/g;
    $ft{'library'} += s/\bcublasChpr\b/hipblasChpr/g;
    $ft{'library'} += s/\bcublasChpr2\b/hipblasChpr2/g;
    $ft{'library'} += s/\bcublasChpr2_v2\b/hipblasChpr2/g;
    $ft{'library'} += s/\bcublasChpr_v2\b/hipblasChpr/g;
    $ft{'library'} += s/\bcublasCreate\b/hipblasCreate/g;
    $ft{'library'} += s/\bcublasCreate_v2\b/hipblasCreate/g;
    $ft{'library'} += s/\bcublasCrot\b/hipblasCrot/g;
    $ft{'library'} += s/\bcublasCrot_v2\b/hipblasCrot/g;
    $ft{'library'} += s/\bcublasCrotg\b/hipblasCrotg/g;
    $ft{'library'} += s/\bcublasCrotg_v2\b/hipblasCrotg/g;
    $ft{'library'} += s/\bcublasCscal\b/hipblasCscal/g;
    $ft{'library'} += s/\bcublasCscal_v2\b/hipblasCscal/g;
    $ft{'library'} += s/\bcublasCsrot\b/hipblasCsrot/g;
    $ft{'library'} += s/\bcublasCsrot_v2\b/hipblasCsrot/g;
    $ft{'library'} += s/\bcublasCsscal\b/hipblasCsscal/g;
    $ft{'library'} += s/\bcublasCsscal_v2\b/hipblasCsscal/g;
    $ft{'library'} += s/\bcublasCswap\b/hipblasCswap/g;
    $ft{'library'} += s/\bcublasCswap_v2\b/hipblasCswap/g;
    $ft{'library'} += s/\bcublasCsymm\b/hipblasCsymm/g;
    $ft{'library'} += s/\bcublasCsymm_v2\b/hipblasCsymm/g;
    $ft{'library'} += s/\bcublasCsymv\b/hipblasCsymv/g;
    $ft{'library'} += s/\bcublasCsymv_v2\b/hipblasCsymv/g;
    $ft{'library'} += s/\bcublasCsyr\b/hipblasCsyr/g;
    $ft{'library'} += s/\bcublasCsyr2\b/hipblasCsyr2/g;
    $ft{'library'} += s/\bcublasCsyr2_v2\b/hipblasCsyr2/g;
    $ft{'library'} += s/\bcublasCsyr2k\b/hipblasCsyr2k/g;
    $ft{'library'} += s/\bcublasCsyr2k_v2\b/hipblasCsyr2k/g;
    $ft{'library'} += s/\bcublasCsyr_v2\b/hipblasCsyr/g;
    $ft{'library'} += s/\bcublasCsyrk\b/hipblasCsyrk/g;
    $ft{'library'} += s/\bcublasCsyrk_v2\b/hipblasCsyrk/g;
    $ft{'library'} += s/\bcublasCsyrkx\b/hipblasCsyrkx/g;
    $ft{'library'} += s/\bcublasCtbmv\b/hipblasCtbmv/g;
    $ft{'library'} += s/\bcublasCtbmv_v2\b/hipblasCtbmv/g;
    $ft{'library'} += s/\bcublasCtbsv\b/hipblasCtbsv/g;
    $ft{'library'} += s/\bcublasCtbsv_v2\b/hipblasCtbsv/g;
    $ft{'library'} += s/\bcublasCtpmv\b/hipblasCtpmv/g;
    $ft{'library'} += s/\bcublasCtpmv_v2\b/hipblasCtpmv/g;
    $ft{'library'} += s/\bcublasCtpsv\b/hipblasCtpsv/g;
    $ft{'library'} += s/\bcublasCtpsv_v2\b/hipblasCtpsv/g;
    $ft{'library'} += s/\bcublasCtrmm\b/hipblasCtrmm/g;
    $ft{'library'} += s/\bcublasCtrmm_v2\b/hipblasCtrmm/g;
    $ft{'library'} += s/\bcublasCtrmv\b/hipblasCtrmv/g;
    $ft{'library'} += s/\bcublasCtrmv_v2\b/hipblasCtrmv/g;
    $ft{'library'} += s/\bcublasCtrsm\b/hipblasCtrsm/g;
    $ft{'library'} += s/\bcublasCtrsmBatched\b/hipblasCtrsmBatched/g;
    $ft{'library'} += s/\bcublasCtrsm_v2\b/hipblasCtrsm/g;
    $ft{'library'} += s/\bcublasCtrsv\b/hipblasCtrsv/g;
    $ft{'library'} += s/\bcublasCtrsv_v2\b/hipblasCtrsv/g;
    $ft{'library'} += s/\bcublasDasum\b/hipblasDasum/g;
    $ft{'library'} += s/\bcublasDasum_v2\b/hipblasDasum/g;
    $ft{'library'} += s/\bcublasDaxpy\b/hipblasDaxpy/g;
    $ft{'library'} += s/\bcublasDaxpy_v2\b/hipblasDaxpy/g;
    $ft{'library'} += s/\bcublasDcopy\b/hipblasDcopy/g;
    $ft{'library'} += s/\bcublasDcopy_v2\b/hipblasDcopy/g;
    $ft{'library'} += s/\bcublasDdgmm\b/hipblasDdgmm/g;
    $ft{'library'} += s/\bcublasDdot\b/hipblasDdot/g;
    $ft{'library'} += s/\bcublasDdot_v2\b/hipblasDdot/g;
    $ft{'library'} += s/\bcublasDestroy\b/hipblasDestroy/g;
    $ft{'library'} += s/\bcublasDestroy_v2\b/hipblasDestroy/g;
    $ft{'library'} += s/\bcublasDgbmv\b/hipblasDgbmv/g;
    $ft{'library'} += s/\bcublasDgbmv_v2\b/hipblasDgbmv/g;
    $ft{'library'} += s/\bcublasDgeam\b/hipblasDgeam/g;
    $ft{'library'} += s/\bcublasDgemm\b/hipblasDgemm/g;
    $ft{'library'} += s/\bcublasDgemmBatched\b/hipblasDgemmBatched/g;
    $ft{'library'} += s/\bcublasDgemmStridedBatched\b/hipblasDgemmStridedBatched/g;
    $ft{'library'} += s/\bcublasDgemm_v2\b/hipblasDgemm/g;
    $ft{'library'} += s/\bcublasDgemv\b/hipblasDgemv/g;
    $ft{'library'} += s/\bcublasDgemv_v2\b/hipblasDgemv/g;
    $ft{'library'} += s/\bcublasDgeqrfBatched\b/hipblasDgeqrfBatched/g;
    $ft{'library'} += s/\bcublasDger\b/hipblasDger/g;
    $ft{'library'} += s/\bcublasDger_v2\b/hipblasDger/g;
    $ft{'library'} += s/\bcublasDgetrfBatched\b/hipblasDgetrfBatched/g;
    $ft{'library'} += s/\bcublasDgetriBatched\b/hipblasDgetriBatched/g;
    $ft{'library'} += s/\bcublasDgetrsBatched\b/hipblasDgetrsBatched/g;
    $ft{'library'} += s/\bcublasDnrm2\b/hipblasDnrm2/g;
    $ft{'library'} += s/\bcublasDnrm2_v2\b/hipblasDnrm2/g;
    $ft{'library'} += s/\bcublasDotEx\b/hipblasDotEx/g;
    $ft{'library'} += s/\bcublasDotcEx\b/hipblasDotcEx/g;
    $ft{'library'} += s/\bcublasDrot\b/hipblasDrot/g;
    $ft{'library'} += s/\bcublasDrot_v2\b/hipblasDrot/g;
    $ft{'library'} += s/\bcublasDrotg\b/hipblasDrotg/g;
    $ft{'library'} += s/\bcublasDrotg_v2\b/hipblasDrotg/g;
    $ft{'library'} += s/\bcublasDrotm\b/hipblasDrotm/g;
    $ft{'library'} += s/\bcublasDrotm_v2\b/hipblasDrotm/g;
    $ft{'library'} += s/\bcublasDrotmg\b/hipblasDrotmg/g;
    $ft{'library'} += s/\bcublasDrotmg_v2\b/hipblasDrotmg/g;
    $ft{'library'} += s/\bcublasDsbmv\b/hipblasDsbmv/g;
    $ft{'library'} += s/\bcublasDsbmv_v2\b/hipblasDsbmv/g;
    $ft{'library'} += s/\bcublasDscal\b/hipblasDscal/g;
    $ft{'library'} += s/\bcublasDscal_v2\b/hipblasDscal/g;
    $ft{'library'} += s/\bcublasDspmv\b/hipblasDspmv/g;
    $ft{'library'} += s/\bcublasDspmv_v2\b/hipblasDspmv/g;
    $ft{'library'} += s/\bcublasDspr\b/hipblasDspr/g;
    $ft{'library'} += s/\bcublasDspr2\b/hipblasDspr2/g;
    $ft{'library'} += s/\bcublasDspr2_v2\b/hipblasDspr2/g;
    $ft{'library'} += s/\bcublasDspr_v2\b/hipblasDspr/g;
    $ft{'library'} += s/\bcublasDswap\b/hipblasDswap/g;
    $ft{'library'} += s/\bcublasDswap_v2\b/hipblasDswap/g;
    $ft{'library'} += s/\bcublasDsymm\b/hipblasDsymm/g;
    $ft{'library'} += s/\bcublasDsymm_v2\b/hipblasDsymm/g;
    $ft{'library'} += s/\bcublasDsymv\b/hipblasDsymv/g;
    $ft{'library'} += s/\bcublasDsymv_v2\b/hipblasDsymv/g;
    $ft{'library'} += s/\bcublasDsyr\b/hipblasDsyr/g;
    $ft{'library'} += s/\bcublasDsyr2\b/hipblasDsyr2/g;
    $ft{'library'} += s/\bcublasDsyr2_v2\b/hipblasDsyr2/g;
    $ft{'library'} += s/\bcublasDsyr2k\b/hipblasDsyr2k/g;
    $ft{'library'} += s/\bcublasDsyr2k_v2\b/hipblasDsyr2k/g;
    $ft{'library'} += s/\bcublasDsyr_v2\b/hipblasDsyr/g;
    $ft{'library'} += s/\bcublasDsyrk\b/hipblasDsyrk/g;
    $ft{'library'} += s/\bcublasDsyrk_v2\b/hipblasDsyrk/g;
    $ft{'library'} += s/\bcublasDsyrkx\b/hipblasDsyrkx/g;
    $ft{'library'} += s/\bcublasDtbmv\b/hipblasDtbmv/g;
    $ft{'library'} += s/\bcublasDtbmv_v2\b/hipblasDtbmv/g;
    $ft{'library'} += s/\bcublasDtbsv\b/hipblasDtbsv/g;
    $ft{'library'} += s/\bcublasDtbsv_v2\b/hipblasDtbsv/g;
    $ft{'library'} += s/\bcublasDtpmv\b/hipblasDtpmv/g;
    $ft{'library'} += s/\bcublasDtpmv_v2\b/hipblasDtpmv/g;
    $ft{'library'} += s/\bcublasDtpsv\b/hipblasDtpsv/g;
    $ft{'library'} += s/\bcublasDtpsv_v2\b/hipblasDtpsv/g;
    $ft{'library'} += s/\bcublasDtrmm\b/hipblasDtrmm/g;
    $ft{'library'} += s/\bcublasDtrmm_v2\b/hipblasDtrmm/g;
    $ft{'library'} += s/\bcublasDtrmv\b/hipblasDtrmv/g;
    $ft{'library'} += s/\bcublasDtrmv_v2\b/hipblasDtrmv/g;
    $ft{'library'} += s/\bcublasDtrsm\b/hipblasDtrsm/g;
    $ft{'library'} += s/\bcublasDtrsmBatched\b/hipblasDtrsmBatched/g;
    $ft{'library'} += s/\bcublasDtrsm_v2\b/hipblasDtrsm/g;
    $ft{'library'} += s/\bcublasDtrsv\b/hipblasDtrsv/g;
    $ft{'library'} += s/\bcublasDtrsv_v2\b/hipblasDtrsv/g;
    $ft{'library'} += s/\bcublasDzasum\b/hipblasDzasum/g;
    $ft{'library'} += s/\bcublasDzasum_v2\b/hipblasDzasum/g;
    $ft{'library'} += s/\bcublasDznrm2\b/hipblasDznrm2/g;
    $ft{'library'} += s/\bcublasDznrm2_v2\b/hipblasDznrm2/g;
    $ft{'library'} += s/\bcublasGemmBatchedEx\b/hipblasGemmBatchedEx/g;
    $ft{'library'} += s/\bcublasGemmEx\b/hipblasGemmEx/g;
    $ft{'library'} += s/\bcublasGemmStridedBatchedEx\b/hipblasGemmStridedBatchedEx/g;
    $ft{'library'} += s/\bcublasGetAtomicsMode\b/hipblasGetAtomicsMode/g;
    $ft{'library'} += s/\bcublasGetMatrix\b/hipblasGetMatrix/g;
    $ft{'library'} += s/\bcublasGetMatrixAsync\b/hipblasGetMatrixAsync/g;
    $ft{'library'} += s/\bcublasGetPointerMode\b/hipblasGetPointerMode/g;
    $ft{'library'} += s/\bcublasGetPointerMode_v2\b/hipblasGetPointerMode/g;
    $ft{'library'} += s/\bcublasGetStream\b/hipblasGetStream/g;
    $ft{'library'} += s/\bcublasGetStream_v2\b/hipblasGetStream/g;
    $ft{'library'} += s/\bcublasGetVector\b/hipblasGetVector/g;
    $ft{'library'} += s/\bcublasGetVectorAsync\b/hipblasGetVectorAsync/g;
    $ft{'library'} += s/\bcublasHgemm\b/hipblasHgemm/g;
    $ft{'library'} += s/\bcublasHgemmBatched\b/hipblasHgemmBatched/g;
    $ft{'library'} += s/\bcublasHgemmStridedBatched\b/hipblasHgemmStridedBatched/g;
    $ft{'library'} += s/\bcublasIcamax\b/hipblasIcamax/g;
    $ft{'library'} += s/\bcublasIcamax_v2\b/hipblasIcamax/g;
    $ft{'library'} += s/\bcublasIcamin\b/hipblasIcamin/g;
    $ft{'library'} += s/\bcublasIcamin_v2\b/hipblasIcamin/g;
    $ft{'library'} += s/\bcublasIdamax\b/hipblasIdamax/g;
    $ft{'library'} += s/\bcublasIdamax_v2\b/hipblasIdamax/g;
    $ft{'library'} += s/\bcublasIdamin\b/hipblasIdamin/g;
    $ft{'library'} += s/\bcublasIdamin_v2\b/hipblasIdamin/g;
    $ft{'library'} += s/\bcublasIsamax\b/hipblasIsamax/g;
    $ft{'library'} += s/\bcublasIsamax_v2\b/hipblasIsamax/g;
    $ft{'library'} += s/\bcublasIsamin\b/hipblasIsamin/g;
    $ft{'library'} += s/\bcublasIsamin_v2\b/hipblasIsamin/g;
    $ft{'library'} += s/\bcublasIzamax\b/hipblasIzamax/g;
    $ft{'library'} += s/\bcublasIzamax_v2\b/hipblasIzamax/g;
    $ft{'library'} += s/\bcublasIzamin\b/hipblasIzamin/g;
    $ft{'library'} += s/\bcublasIzamin_v2\b/hipblasIzamin/g;
    $ft{'library'} += s/\bcublasNrm2Ex\b/hipblasNrm2Ex/g;
    $ft{'library'} += s/\bcublasRotEx\b/hipblasRotEx/g;
    $ft{'library'} += s/\bcublasSasum\b/hipblasSasum/g;
    $ft{'library'} += s/\bcublasSasum_v2\b/hipblasSasum/g;
    $ft{'library'} += s/\bcublasSaxpy\b/hipblasSaxpy/g;
    $ft{'library'} += s/\bcublasSaxpy_v2\b/hipblasSaxpy/g;
    $ft{'library'} += s/\bcublasScalEx\b/hipblasScalEx/g;
    $ft{'library'} += s/\bcublasScasum\b/hipblasScasum/g;
    $ft{'library'} += s/\bcublasScasum_v2\b/hipblasScasum/g;
    $ft{'library'} += s/\bcublasScnrm2\b/hipblasScnrm2/g;
    $ft{'library'} += s/\bcublasScnrm2_v2\b/hipblasScnrm2/g;
    $ft{'library'} += s/\bcublasScopy\b/hipblasScopy/g;
    $ft{'library'} += s/\bcublasScopy_v2\b/hipblasScopy/g;
    $ft{'library'} += s/\bcublasSdgmm\b/hipblasSdgmm/g;
    $ft{'library'} += s/\bcublasSdot\b/hipblasSdot/g;
    $ft{'library'} += s/\bcublasSdot_v2\b/hipblasSdot/g;
    $ft{'library'} += s/\bcublasSetAtomicsMode\b/hipblasSetAtomicsMode/g;
    $ft{'library'} += s/\bcublasSetMatrix\b/hipblasSetMatrix/g;
    $ft{'library'} += s/\bcublasSetMatrixAsync\b/hipblasSetMatrixAsync/g;
    $ft{'library'} += s/\bcublasSetPointerMode\b/hipblasSetPointerMode/g;
    $ft{'library'} += s/\bcublasSetPointerMode_v2\b/hipblasSetPointerMode/g;
    $ft{'library'} += s/\bcublasSetStream\b/hipblasSetStream/g;
    $ft{'library'} += s/\bcublasSetStream_v2\b/hipblasSetStream/g;
    $ft{'library'} += s/\bcublasSetVector\b/hipblasSetVector/g;
    $ft{'library'} += s/\bcublasSetVectorAsync\b/hipblasSetVectorAsync/g;
    $ft{'library'} += s/\bcublasSgbmv\b/hipblasSgbmv/g;
    $ft{'library'} += s/\bcublasSgbmv_v2\b/hipblasSgbmv/g;
    $ft{'library'} += s/\bcublasSgeam\b/hipblasSgeam/g;
    $ft{'library'} += s/\bcublasSgemm\b/hipblasSgemm/g;
    $ft{'library'} += s/\bcublasSgemmBatched\b/hipblasSgemmBatched/g;
    $ft{'library'} += s/\bcublasSgemmStridedBatched\b/hipblasSgemmStridedBatched/g;
    $ft{'library'} += s/\bcublasSgemm_v2\b/hipblasSgemm/g;
    $ft{'library'} += s/\bcublasSgemv\b/hipblasSgemv/g;
    $ft{'library'} += s/\bcublasSgemv_v2\b/hipblasSgemv/g;
    $ft{'library'} += s/\bcublasSgeqrfBatched\b/hipblasSgeqrfBatched/g;
    $ft{'library'} += s/\bcublasSger\b/hipblasSger/g;
    $ft{'library'} += s/\bcublasSger_v2\b/hipblasSger/g;
    $ft{'library'} += s/\bcublasSgetrfBatched\b/hipblasSgetrfBatched/g;
    $ft{'library'} += s/\bcublasSgetriBatched\b/hipblasSgetriBatched/g;
    $ft{'library'} += s/\bcublasSgetrsBatched\b/hipblasSgetrsBatched/g;
    $ft{'library'} += s/\bcublasSnrm2\b/hipblasSnrm2/g;
    $ft{'library'} += s/\bcublasSnrm2_v2\b/hipblasSnrm2/g;
    $ft{'library'} += s/\bcublasSrot\b/hipblasSrot/g;
    $ft{'library'} += s/\bcublasSrot_v2\b/hipblasSrot/g;
    $ft{'library'} += s/\bcublasSrotg\b/hipblasSrotg/g;
    $ft{'library'} += s/\bcublasSrotg_v2\b/hipblasSrotg/g;
    $ft{'library'} += s/\bcublasSrotm\b/hipblasSrotm/g;
    $ft{'library'} += s/\bcublasSrotm_v2\b/hipblasSrotm/g;
    $ft{'library'} += s/\bcublasSrotmg\b/hipblasSrotmg/g;
    $ft{'library'} += s/\bcublasSrotmg_v2\b/hipblasSrotmg/g;
    $ft{'library'} += s/\bcublasSsbmv\b/hipblasSsbmv/g;
    $ft{'library'} += s/\bcublasSsbmv_v2\b/hipblasSsbmv/g;
    $ft{'library'} += s/\bcublasSscal\b/hipblasSscal/g;
    $ft{'library'} += s/\bcublasSscal_v2\b/hipblasSscal/g;
    $ft{'library'} += s/\bcublasSspmv\b/hipblasSspmv/g;
    $ft{'library'} += s/\bcublasSspmv_v2\b/hipblasSspmv/g;
    $ft{'library'} += s/\bcublasSspr\b/hipblasSspr/g;
    $ft{'library'} += s/\bcublasSspr2\b/hipblasSspr2/g;
    $ft{'library'} += s/\bcublasSspr2_v2\b/hipblasSspr2/g;
    $ft{'library'} += s/\bcublasSspr_v2\b/hipblasSspr/g;
    $ft{'library'} += s/\bcublasSswap\b/hipblasSswap/g;
    $ft{'library'} += s/\bcublasSswap_v2\b/hipblasSswap/g;
    $ft{'library'} += s/\bcublasSsymm\b/hipblasSsymm/g;
    $ft{'library'} += s/\bcublasSsymm_v2\b/hipblasSsymm/g;
    $ft{'library'} += s/\bcublasSsymv\b/hipblasSsymv/g;
    $ft{'library'} += s/\bcublasSsymv_v2\b/hipblasSsymv/g;
    $ft{'library'} += s/\bcublasSsyr\b/hipblasSsyr/g;
    $ft{'library'} += s/\bcublasSsyr2\b/hipblasSsyr2/g;
    $ft{'library'} += s/\bcublasSsyr2_v2\b/hipblasSsyr2/g;
    $ft{'library'} += s/\bcublasSsyr2k\b/hipblasSsyr2k/g;
    $ft{'library'} += s/\bcublasSsyr2k_v2\b/hipblasSsyr2k/g;
    $ft{'library'} += s/\bcublasSsyr_v2\b/hipblasSsyr/g;
    $ft{'library'} += s/\bcublasSsyrk\b/hipblasSsyrk/g;
    $ft{'library'} += s/\bcublasSsyrk_v2\b/hipblasSsyrk/g;
    $ft{'library'} += s/\bcublasSsyrkx\b/hipblasSsyrkx/g;
    $ft{'library'} += s/\bcublasStbmv\b/hipblasStbmv/g;
    $ft{'library'} += s/\bcublasStbmv_v2\b/hipblasStbmv/g;
    $ft{'library'} += s/\bcublasStbsv\b/hipblasStbsv/g;
    $ft{'library'} += s/\bcublasStbsv_v2\b/hipblasStbsv/g;
    $ft{'library'} += s/\bcublasStpmv\b/hipblasStpmv/g;
    $ft{'library'} += s/\bcublasStpmv_v2\b/hipblasStpmv/g;
    $ft{'library'} += s/\bcublasStpsv\b/hipblasStpsv/g;
    $ft{'library'} += s/\bcublasStpsv_v2\b/hipblasStpsv/g;
    $ft{'library'} += s/\bcublasStrmm\b/hipblasStrmm/g;
    $ft{'library'} += s/\bcublasStrmm_v2\b/hipblasStrmm/g;
    $ft{'library'} += s/\bcublasStrmv\b/hipblasStrmv/g;
    $ft{'library'} += s/\bcublasStrmv_v2\b/hipblasStrmv/g;
    $ft{'library'} += s/\bcublasStrsm\b/hipblasStrsm/g;
    $ft{'library'} += s/\bcublasStrsmBatched\b/hipblasStrsmBatched/g;
    $ft{'library'} += s/\bcublasStrsm_v2\b/hipblasStrsm/g;
    $ft{'library'} += s/\bcublasStrsv\b/hipblasStrsv/g;
    $ft{'library'} += s/\bcublasStrsv_v2\b/hipblasStrsv/g;
    $ft{'library'} += s/\bcublasZaxpy\b/hipblasZaxpy/g;
    $ft{'library'} += s/\bcublasZaxpy_v2\b/hipblasZaxpy/g;
    $ft{'library'} += s/\bcublasZcopy\b/hipblasZcopy/g;
    $ft{'library'} += s/\bcublasZcopy_v2\b/hipblasZcopy/g;
    $ft{'library'} += s/\bcublasZdgmm\b/hipblasZdgmm/g;
    $ft{'library'} += s/\bcublasZdotc\b/hipblasZdotc/g;
    $ft{'library'} += s/\bcublasZdotc_v2\b/hipblasZdotc/g;
    $ft{'library'} += s/\bcublasZdotu\b/hipblasZdotu/g;
    $ft{'library'} += s/\bcublasZdotu_v2\b/hipblasZdotu/g;
    $ft{'library'} += s/\bcublasZdrot\b/hipblasZdrot/g;
    $ft{'library'} += s/\bcublasZdrot_v2\b/hipblasZdrot/g;
    $ft{'library'} += s/\bcublasZdscal\b/hipblasZdscal/g;
    $ft{'library'} += s/\bcublasZdscal_v2\b/hipblasZdscal/g;
    $ft{'library'} += s/\bcublasZgbmv\b/hipblasZgbmv/g;
    $ft{'library'} += s/\bcublasZgbmv_v2\b/hipblasZgbmv/g;
    $ft{'library'} += s/\bcublasZgeam\b/hipblasZgeam/g;
    $ft{'library'} += s/\bcublasZgemm\b/hipblasZgemm/g;
    $ft{'library'} += s/\bcublasZgemmBatched\b/hipblasZgemmBatched/g;
    $ft{'library'} += s/\bcublasZgemmStridedBatched\b/hipblasZgemmStridedBatched/g;
    $ft{'library'} += s/\bcublasZgemm_v2\b/hipblasZgemm/g;
    $ft{'library'} += s/\bcublasZgemv\b/hipblasZgemv/g;
    $ft{'library'} += s/\bcublasZgemv_v2\b/hipblasZgemv/g;
    $ft{'library'} += s/\bcublasZgeqrfBatched\b/hipblasZgeqrfBatched/g;
    $ft{'library'} += s/\bcublasZgerc\b/hipblasZgerc/g;
    $ft{'library'} += s/\bcublasZgerc_v2\b/hipblasZgerc/g;
    $ft{'library'} += s/\bcublasZgeru\b/hipblasZgeru/g;
    $ft{'library'} += s/\bcublasZgeru_v2\b/hipblasZgeru/g;
    $ft{'library'} += s/\bcublasZgetrfBatched\b/hipblasZgetrfBatched/g;
    $ft{'library'} += s/\bcublasZgetriBatched\b/hipblasZgetriBatched/g;
    $ft{'library'} += s/\bcublasZgetrsBatched\b/hipblasZgetrsBatched/g;
    $ft{'library'} += s/\bcublasZhbmv\b/hipblasZhbmv/g;
    $ft{'library'} += s/\bcublasZhbmv_v2\b/hipblasZhbmv/g;
    $ft{'library'} += s/\bcublasZhemm\b/hipblasZhemm/g;
    $ft{'library'} += s/\bcublasZhemm_v2\b/hipblasZhemm/g;
    $ft{'library'} += s/\bcublasZhemv\b/hipblasZhemv/g;
    $ft{'library'} += s/\bcublasZhemv_v2\b/hipblasZhemv/g;
    $ft{'library'} += s/\bcublasZher\b/hipblasZher/g;
    $ft{'library'} += s/\bcublasZher2\b/hipblasZher2/g;
    $ft{'library'} += s/\bcublasZher2_v2\b/hipblasZher2/g;
    $ft{'library'} += s/\bcublasZher2k\b/hipblasZher2k/g;
    $ft{'library'} += s/\bcublasZher2k_v2\b/hipblasZher2k/g;
    $ft{'library'} += s/\bcublasZher_v2\b/hipblasZher/g;
    $ft{'library'} += s/\bcublasZherk\b/hipblasZherk/g;
    $ft{'library'} += s/\bcublasZherk_v2\b/hipblasZherk/g;
    $ft{'library'} += s/\bcublasZherkx\b/hipblasZherkx/g;
    $ft{'library'} += s/\bcublasZhpmv\b/hipblasZhpmv/g;
    $ft{'library'} += s/\bcublasZhpmv_v2\b/hipblasZhpmv/g;
    $ft{'library'} += s/\bcublasZhpr\b/hipblasZhpr/g;
    $ft{'library'} += s/\bcublasZhpr2\b/hipblasZhpr2/g;
    $ft{'library'} += s/\bcublasZhpr2_v2\b/hipblasZhpr2/g;
    $ft{'library'} += s/\bcublasZhpr_v2\b/hipblasZhpr/g;
    $ft{'library'} += s/\bcublasZrot\b/hipblasZrot/g;
    $ft{'library'} += s/\bcublasZrot_v2\b/hipblasZrot/g;
    $ft{'library'} += s/\bcublasZrotg\b/hipblasZrotg/g;
    $ft{'library'} += s/\bcublasZrotg_v2\b/hipblasZrotg/g;
    $ft{'library'} += s/\bcublasZscal\b/hipblasZscal/g;
    $ft{'library'} += s/\bcublasZscal_v2\b/hipblasZscal/g;
    $ft{'library'} += s/\bcublasZswap\b/hipblasZswap/g;
    $ft{'library'} += s/\bcublasZswap_v2\b/hipblasZswap/g;
    $ft{'library'} += s/\bcublasZsymm\b/hipblasZsymm/g;
    $ft{'library'} += s/\bcublasZsymm_v2\b/hipblasZsymm/g;
    $ft{'library'} += s/\bcublasZsymv\b/hipblasZsymv/g;
    $ft{'library'} += s/\bcublasZsymv_v2\b/hipblasZsymv/g;
    $ft{'library'} += s/\bcublasZsyr\b/hipblasZsyr/g;
    $ft{'library'} += s/\bcublasZsyr2\b/hipblasZsyr2/g;
    $ft{'library'} += s/\bcublasZsyr2_v2\b/hipblasZsyr2/g;
    $ft{'library'} += s/\bcublasZsyr2k\b/hipblasZsyr2k/g;
    $ft{'library'} += s/\bcublasZsyr2k_v2\b/hipblasZsyr2k/g;
    $ft{'library'} += s/\bcublasZsyr_v2\b/hipblasZsyr/g;
    $ft{'library'} += s/\bcublasZsyrk\b/hipblasZsyrk/g;
    $ft{'library'} += s/\bcublasZsyrk_v2\b/hipblasZsyrk/g;
    $ft{'library'} += s/\bcublasZsyrkx\b/hipblasZsyrkx/g;
    $ft{'library'} += s/\bcublasZtbmv\b/hipblasZtbmv/g;
    $ft{'library'} += s/\bcublasZtbmv_v2\b/hipblasZtbmv/g;
    $ft{'library'} += s/\bcublasZtbsv\b/hipblasZtbsv/g;
    $ft{'library'} += s/\bcublasZtbsv_v2\b/hipblasZtbsv/g;
    $ft{'library'} += s/\bcublasZtpmv\b/hipblasZtpmv/g;
    $ft{'library'} += s/\bcublasZtpmv_v2\b/hipblasZtpmv/g;
    $ft{'library'} += s/\bcublasZtpsv\b/hipblasZtpsv/g;
    $ft{'library'} += s/\bcublasZtpsv_v2\b/hipblasZtpsv/g;
    $ft{'library'} += s/\bcublasZtrmm\b/hipblasZtrmm/g;
    $ft{'library'} += s/\bcublasZtrmm_v2\b/hipblasZtrmm/g;
    $ft{'library'} += s/\bcublasZtrmv\b/hipblasZtrmv/g;
    $ft{'library'} += s/\bcublasZtrmv_v2\b/hipblasZtrmv/g;
    $ft{'library'} += s/\bcublasZtrsm\b/hipblasZtrsm/g;
    $ft{'library'} += s/\bcublasZtrsmBatched\b/hipblasZtrsmBatched/g;
    $ft{'library'} += s/\bcublasZtrsm_v2\b/hipblasZtrsm/g;
    $ft{'library'} += s/\bcublasZtrsv\b/hipblasZtrsv/g;
    $ft{'library'} += s/\bcublasZtrsv_v2\b/hipblasZtrsv/g;
    $ft{'library'} += s/\bcuda_stream\b/hip_stream/g;
    $ft{'library'} += s/\bcudnnActivationBackward\b/hipdnnActivationBackward/g;
    $ft{'library'} += s/\bcudnnActivationForward\b/hipdnnActivationForward/g;
    $ft{'library'} += s/\bcudnnAddTensor\b/hipdnnAddTensor/g;
    $ft{'library'} += s/\bcudnnBatchNormalizationBackward\b/hipdnnBatchNormalizationBackward/g;
    $ft{'library'} += s/\bcudnnBatchNormalizationForwardInference\b/hipdnnBatchNormalizationForwardInference/g;
    $ft{'library'} += s/\bcudnnBatchNormalizationForwardTraining\b/hipdnnBatchNormalizationForwardTraining/g;
    $ft{'library'} += s/\bcudnnConvolutionBackwardBias\b/hipdnnConvolutionBackwardBias/g;
    $ft{'library'} += s/\bcudnnConvolutionBackwardData\b/hipdnnConvolutionBackwardData/g;
    $ft{'library'} += s/\bcudnnConvolutionBackwardFilter\b/hipdnnConvolutionBackwardFilter/g;
    $ft{'library'} += s/\bcudnnConvolutionForward\b/hipdnnConvolutionForward/g;
    $ft{'library'} += s/\bcudnnCreate\b/hipdnnCreate/g;
    $ft{'library'} += s/\bcudnnCreateActivationDescriptor\b/hipdnnCreateActivationDescriptor/g;
    $ft{'library'} += s/\bcudnnCreateConvolutionDescriptor\b/hipdnnCreateConvolutionDescriptor/g;
    $ft{'library'} += s/\bcudnnCreateDropoutDescriptor\b/hipdnnCreateDropoutDescriptor/g;
    $ft{'library'} += s/\bcudnnCreateFilterDescriptor\b/hipdnnCreateFilterDescriptor/g;
    $ft{'library'} += s/\bcudnnCreateLRNDescriptor\b/hipdnnCreateLRNDescriptor/g;
    $ft{'library'} += s/\bcudnnCreateOpTensorDescriptor\b/hipdnnCreateOpTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnCreatePersistentRNNPlan\b/hipdnnCreatePersistentRNNPlan/g;
    $ft{'library'} += s/\bcudnnCreatePoolingDescriptor\b/hipdnnCreatePoolingDescriptor/g;
    $ft{'library'} += s/\bcudnnCreateRNNDescriptor\b/hipdnnCreateRNNDescriptor/g;
    $ft{'library'} += s/\bcudnnCreateReduceTensorDescriptor\b/hipdnnCreateReduceTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnCreateTensorDescriptor\b/hipdnnCreateTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnDeriveBNTensorDescriptor\b/hipdnnDeriveBNTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroy\b/hipdnnDestroy/g;
    $ft{'library'} += s/\bcudnnDestroyActivationDescriptor\b/hipdnnDestroyActivationDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroyConvolutionDescriptor\b/hipdnnDestroyConvolutionDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroyDropoutDescriptor\b/hipdnnDestroyDropoutDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroyFilterDescriptor\b/hipdnnDestroyFilterDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroyLRNDescriptor\b/hipdnnDestroyLRNDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroyOpTensorDescriptor\b/hipdnnDestroyOpTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroyPersistentRNNPlan\b/hipdnnDestroyPersistentRNNPlan/g;
    $ft{'library'} += s/\bcudnnDestroyPoolingDescriptor\b/hipdnnDestroyPoolingDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroyRNNDescriptor\b/hipdnnDestroyRNNDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroyReduceTensorDescriptor\b/hipdnnDestroyReduceTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnDestroyTensorDescriptor\b/hipdnnDestroyTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnDropoutGetStatesSize\b/hipdnnDropoutGetStatesSize/g;
    $ft{'library'} += s/\bcudnnFindConvolutionBackwardDataAlgorithm\b/hipdnnFindConvolutionBackwardDataAlgorithm/g;
    $ft{'library'} += s/\bcudnnFindConvolutionBackwardDataAlgorithmEx\b/hipdnnFindConvolutionBackwardDataAlgorithmEx/g;
    $ft{'library'} += s/\bcudnnFindConvolutionBackwardFilterAlgorithm\b/hipdnnFindConvolutionBackwardFilterAlgorithm/g;
    $ft{'library'} += s/\bcudnnFindConvolutionBackwardFilterAlgorithmEx\b/hipdnnFindConvolutionBackwardFilterAlgorithmEx/g;
    $ft{'library'} += s/\bcudnnFindConvolutionForwardAlgorithm\b/hipdnnFindConvolutionForwardAlgorithm/g;
    $ft{'library'} += s/\bcudnnFindConvolutionForwardAlgorithmEx\b/hipdnnFindConvolutionForwardAlgorithmEx/g;
    $ft{'library'} += s/\bcudnnGetActivationDescriptor\b/hipdnnGetActivationDescriptor/g;
    $ft{'library'} += s/\bcudnnGetConvolution2dDescriptor\b/hipdnnGetConvolution2dDescriptor/g;
    $ft{'library'} += s/\bcudnnGetConvolution2dForwardOutputDim\b/hipdnnGetConvolution2dForwardOutputDim/g;
    $ft{'library'} += s/\bcudnnGetConvolutionBackwardDataAlgorithm\b/hipdnnGetConvolutionBackwardDataAlgorithm/g;
    $ft{'library'} += s/\bcudnnGetConvolutionBackwardDataWorkspaceSize\b/hipdnnGetConvolutionBackwardDataWorkspaceSize/g;
    $ft{'library'} += s/\bcudnnGetConvolutionBackwardFilterAlgorithm\b/hipdnnGetConvolutionBackwardFilterAlgorithm/g;
    $ft{'library'} += s/\bcudnnGetConvolutionBackwardFilterWorkspaceSize\b/hipdnnGetConvolutionBackwardFilterWorkspaceSize/g;
    $ft{'library'} += s/\bcudnnGetConvolutionForwardAlgorithm\b/hipdnnGetConvolutionForwardAlgorithm/g;
    $ft{'library'} += s/\bcudnnGetConvolutionForwardWorkspaceSize\b/hipdnnGetConvolutionForwardWorkspaceSize/g;
    $ft{'library'} += s/\bcudnnGetErrorString\b/hipdnnGetErrorString/g;
    $ft{'library'} += s/\bcudnnGetFilter4dDescriptor\b/hipdnnGetFilter4dDescriptor/g;
    $ft{'library'} += s/\bcudnnGetFilterNdDescriptor\b/hipdnnGetFilterNdDescriptor/g;
    $ft{'library'} += s/\bcudnnGetLRNDescriptor\b/hipdnnGetLRNDescriptor/g;
    $ft{'library'} += s/\bcudnnGetOpTensorDescriptor\b/hipdnnGetOpTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnGetPooling2dDescriptor\b/hipdnnGetPooling2dDescriptor/g;
    $ft{'library'} += s/\bcudnnGetPooling2dForwardOutputDim\b/hipdnnGetPooling2dForwardOutputDim/g;
    $ft{'library'} += s/\bcudnnGetRNNDescriptor\b/hipdnnGetRNNDescriptor/g;
    $ft{'library'} += s/\bcudnnGetRNNLinLayerBiasParams\b/hipdnnGetRNNLinLayerBiasParams/g;
    $ft{'library'} += s/\bcudnnGetRNNLinLayerMatrixParams\b/hipdnnGetRNNLinLayerMatrixParams/g;
    $ft{'library'} += s/\bcudnnGetRNNParamsSize\b/hipdnnGetRNNParamsSize/g;
    $ft{'library'} += s/\bcudnnGetRNNTrainingReserveSize\b/hipdnnGetRNNTrainingReserveSize/g;
    $ft{'library'} += s/\bcudnnGetRNNWorkspaceSize\b/hipdnnGetRNNWorkspaceSize/g;
    $ft{'library'} += s/\bcudnnGetReduceTensorDescriptor\b/hipdnnGetReduceTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnGetReductionWorkspaceSize\b/hipdnnGetReductionWorkspaceSize/g;
    $ft{'library'} += s/\bcudnnGetStream\b/hipdnnGetStream/g;
    $ft{'library'} += s/\bcudnnGetTensor4dDescriptor\b/hipdnnGetTensor4dDescriptor/g;
    $ft{'library'} += s/\bcudnnGetTensorNdDescriptor\b/hipdnnGetTensorNdDescriptor/g;
    $ft{'library'} += s/\bcudnnGetVersion\b/hipdnnGetVersion/g;
    $ft{'library'} += s/\bcudnnLRNCrossChannelBackward\b/hipdnnLRNCrossChannelBackward/g;
    $ft{'library'} += s/\bcudnnLRNCrossChannelForward\b/hipdnnLRNCrossChannelForward/g;
    $ft{'library'} += s/\bcudnnOpTensor\b/hipdnnOpTensor/g;
    $ft{'library'} += s/\bcudnnPoolingBackward\b/hipdnnPoolingBackward/g;
    $ft{'library'} += s/\bcudnnPoolingForward\b/hipdnnPoolingForward/g;
    $ft{'library'} += s/\bcudnnRNNBackwardData\b/hipdnnRNNBackwardData/g;
    $ft{'library'} += s/\bcudnnRNNBackwardWeights\b/hipdnnRNNBackwardWeights/g;
    $ft{'library'} += s/\bcudnnRNNForwardInference\b/hipdnnRNNForwardInference/g;
    $ft{'library'} += s/\bcudnnRNNForwardTraining\b/hipdnnRNNForwardTraining/g;
    $ft{'library'} += s/\bcudnnReduceTensor\b/hipdnnReduceTensor/g;
    $ft{'library'} += s/\bcudnnScaleTensor\b/hipdnnScaleTensor/g;
    $ft{'library'} += s/\bcudnnSetActivationDescriptor\b/hipdnnSetActivationDescriptor/g;
    $ft{'library'} += s/\bcudnnSetConvolution2dDescriptor\b/hipdnnSetConvolution2dDescriptor/g;
    $ft{'library'} += s/\bcudnnSetConvolutionGroupCount\b/hipdnnSetConvolutionGroupCount/g;
    $ft{'library'} += s/\bcudnnSetConvolutionMathType\b/hipdnnSetConvolutionMathType/g;
    $ft{'library'} += s/\bcudnnSetConvolutionNdDescriptor\b/hipdnnSetConvolutionNdDescriptor/g;
    $ft{'library'} += s/\bcudnnSetDropoutDescriptor\b/hipdnnSetDropoutDescriptor/g;
    $ft{'library'} += s/\bcudnnSetFilter4dDescriptor\b/hipdnnSetFilter4dDescriptor/g;
    $ft{'library'} += s/\bcudnnSetFilterNdDescriptor\b/hipdnnSetFilterNdDescriptor/g;
    $ft{'library'} += s/\bcudnnSetLRNDescriptor\b/hipdnnSetLRNDescriptor/g;
    $ft{'library'} += s/\bcudnnSetOpTensorDescriptor\b/hipdnnSetOpTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnSetPersistentRNNPlan\b/hipdnnSetPersistentRNNPlan/g;
    $ft{'library'} += s/\bcudnnSetPooling2dDescriptor\b/hipdnnSetPooling2dDescriptor/g;
    $ft{'library'} += s/\bcudnnSetPoolingNdDescriptor\b/hipdnnSetPoolingNdDescriptor/g;
    $ft{'library'} += s/\bcudnnSetRNNDescriptor\b/hipdnnSetRNNDescriptor/g;
    $ft{'library'} += s/\bcudnnSetRNNDescriptor_v5\b/hipdnnSetRNNDescriptor_v5/g;
    $ft{'library'} += s/\bcudnnSetRNNDescriptor_v6\b/hipdnnSetRNNDescriptor_v6/g;
    $ft{'library'} += s/\bcudnnSetReduceTensorDescriptor\b/hipdnnSetReduceTensorDescriptor/g;
    $ft{'library'} += s/\bcudnnSetStream\b/hipdnnSetStream/g;
    $ft{'library'} += s/\bcudnnSetTensor\b/hipdnnSetTensor/g;
    $ft{'library'} += s/\bcudnnSetTensor4dDescriptor\b/hipdnnSetTensor4dDescriptor/g;
    $ft{'library'} += s/\bcudnnSetTensor4dDescriptorEx\b/hipdnnSetTensor4dDescriptorEx/g;
    $ft{'library'} += s/\bcudnnSetTensorNdDescriptor\b/hipdnnSetTensorNdDescriptor/g;
    $ft{'library'} += s/\bcudnnSoftmaxBackward\b/hipdnnSoftmaxBackward/g;
    $ft{'library'} += s/\bcudnnSoftmaxForward\b/hipdnnSoftmaxForward/g;
    $ft{'library'} += s/\bcufftCallbackLoadC\b/hipfftCallbackLoadC/g;
    $ft{'library'} += s/\bcufftCallbackLoadD\b/hipfftCallbackLoadD/g;
    $ft{'library'} += s/\bcufftCallbackLoadR\b/hipfftCallbackLoadR/g;
    $ft{'library'} += s/\bcufftCallbackLoadZ\b/hipfftCallbackLoadZ/g;
    $ft{'library'} += s/\bcufftCallbackStoreC\b/hipfftCallbackStoreC/g;
    $ft{'library'} += s/\bcufftCallbackStoreD\b/hipfftCallbackStoreD/g;
    $ft{'library'} += s/\bcufftCallbackStoreR\b/hipfftCallbackStoreR/g;
    $ft{'library'} += s/\bcufftCallbackStoreZ\b/hipfftCallbackStoreZ/g;
    $ft{'library'} += s/\bcufftCreate\b/hipfftCreate/g;
    $ft{'library'} += s/\bcufftDestroy\b/hipfftDestroy/g;
    $ft{'library'} += s/\bcufftEstimate1d\b/hipfftEstimate1d/g;
    $ft{'library'} += s/\bcufftEstimate2d\b/hipfftEstimate2d/g;
    $ft{'library'} += s/\bcufftEstimate3d\b/hipfftEstimate3d/g;
    $ft{'library'} += s/\bcufftEstimateMany\b/hipfftEstimateMany/g;
    $ft{'library'} += s/\bcufftExecC2C\b/hipfftExecC2C/g;
    $ft{'library'} += s/\bcufftExecC2R\b/hipfftExecC2R/g;
    $ft{'library'} += s/\bcufftExecD2Z\b/hipfftExecD2Z/g;
    $ft{'library'} += s/\bcufftExecR2C\b/hipfftExecR2C/g;
    $ft{'library'} += s/\bcufftExecZ2D\b/hipfftExecZ2D/g;
    $ft{'library'} += s/\bcufftExecZ2Z\b/hipfftExecZ2Z/g;
    $ft{'library'} += s/\bcufftGetProperty\b/hipfftGetProperty/g;
    $ft{'library'} += s/\bcufftGetSize\b/hipfftGetSize/g;
    $ft{'library'} += s/\bcufftGetSize1d\b/hipfftGetSize1d/g;
    $ft{'library'} += s/\bcufftGetSize2d\b/hipfftGetSize2d/g;
    $ft{'library'} += s/\bcufftGetSize3d\b/hipfftGetSize3d/g;
    $ft{'library'} += s/\bcufftGetSizeMany\b/hipfftGetSizeMany/g;
    $ft{'library'} += s/\bcufftGetSizeMany64\b/hipfftGetSizeMany64/g;
    $ft{'library'} += s/\bcufftGetVersion\b/hipfftGetVersion/g;
    $ft{'library'} += s/\bcufftMakePlan1d\b/hipfftMakePlan1d/g;
    $ft{'library'} += s/\bcufftMakePlan2d\b/hipfftMakePlan2d/g;
    $ft{'library'} += s/\bcufftMakePlan3d\b/hipfftMakePlan3d/g;
    $ft{'library'} += s/\bcufftMakePlanMany\b/hipfftMakePlanMany/g;
    $ft{'library'} += s/\bcufftMakePlanMany64\b/hipfftMakePlanMany64/g;
    $ft{'library'} += s/\bcufftPlan1d\b/hipfftPlan1d/g;
    $ft{'library'} += s/\bcufftPlan2d\b/hipfftPlan2d/g;
    $ft{'library'} += s/\bcufftPlan3d\b/hipfftPlan3d/g;
    $ft{'library'} += s/\bcufftPlanMany\b/hipfftPlanMany/g;
    $ft{'library'} += s/\bcufftSetAutoAllocation\b/hipfftSetAutoAllocation/g;
    $ft{'library'} += s/\bcufftSetStream\b/hipfftSetStream/g;
    $ft{'library'} += s/\bcufftSetWorkArea\b/hipfftSetWorkArea/g;
    $ft{'library'} += s/\bcufftXtClearCallback\b/hipfftXtClearCallback/g;
    $ft{'library'} += s/\bcufftXtSetCallback\b/hipfftXtSetCallback/g;
    $ft{'library'} += s/\bcufftXtSetCallbackSharedSize\b/hipfftXtSetCallbackSharedSize/g;
    $ft{'library'} += s/\bcurandCreateGenerator\b/hiprandCreateGenerator/g;
    $ft{'library'} += s/\bcurandCreateGeneratorHost\b/hiprandCreateGeneratorHost/g;
    $ft{'library'} += s/\bcurandCreatePoissonDistribution\b/hiprandCreatePoissonDistribution/g;
    $ft{'library'} += s/\bcurandDestroyDistribution\b/hiprandDestroyDistribution/g;
    $ft{'library'} += s/\bcurandDestroyGenerator\b/hiprandDestroyGenerator/g;
    $ft{'library'} += s/\bcurandGenerate\b/hiprandGenerate/g;
    $ft{'library'} += s/\bcurandGenerateLogNormal\b/hiprandGenerateLogNormal/g;
    $ft{'library'} += s/\bcurandGenerateLogNormalDouble\b/hiprandGenerateLogNormalDouble/g;
    $ft{'library'} += s/\bcurandGenerateNormal\b/hiprandGenerateNormal/g;
    $ft{'library'} += s/\bcurandGenerateNormalDouble\b/hiprandGenerateNormalDouble/g;
    $ft{'library'} += s/\bcurandGeneratePoisson\b/hiprandGeneratePoisson/g;
    $ft{'library'} += s/\bcurandGenerateSeeds\b/hiprandGenerateSeeds/g;
    $ft{'library'} += s/\bcurandGenerateUniform\b/hiprandGenerateUniform/g;
    $ft{'library'} += s/\bcurandGenerateUniformDouble\b/hiprandGenerateUniformDouble/g;
    $ft{'library'} += s/\bcurandGetVersion\b/hiprandGetVersion/g;
    $ft{'library'} += s/\bcurandMakeMTGP32Constants\b/hiprandMakeMTGP32Constants/g;
    $ft{'library'} += s/\bcurandMakeMTGP32KernelState\b/hiprandMakeMTGP32KernelState/g;
    $ft{'library'} += s/\bcurandSetGeneratorOffset\b/hiprandSetGeneratorOffset/g;
    $ft{'library'} += s/\bcurandSetPseudoRandomGeneratorSeed\b/hiprandSetPseudoRandomGeneratorSeed/g;
    $ft{'library'} += s/\bcurandSetQuasiRandomGeneratorDimensions\b/hiprandSetQuasiRandomGeneratorDimensions/g;
    $ft{'library'} += s/\bcurandSetStream\b/hiprandSetStream/g;
    $ft{'library'} += s/\bcusparseAxpby\b/hipsparseAxpby/g;
    $ft{'library'} += s/\bcusparseBlockedEllGet\b/hipsparseBlockedEllGet/g;
    $ft{'library'} += s/\bcusparseCaxpyi\b/hipsparseCaxpyi/g;
    $ft{'library'} += s/\bcusparseCbsr2csr\b/hipsparseCbsr2csr/g;
    $ft{'library'} += s/\bcusparseCbsric02\b/hipsparseCbsric02/g;
    $ft{'library'} += s/\bcusparseCbsric02_analysis\b/hipsparseCbsric02_analysis/g;
    $ft{'library'} += s/\bcusparseCbsric02_bufferSize\b/hipsparseCbsric02_bufferSize/g;
    $ft{'library'} += s/\bcusparseCbsrilu02\b/hipsparseCbsrilu02/g;
    $ft{'library'} += s/\bcusparseCbsrilu02_analysis\b/hipsparseCbsrilu02_analysis/g;
    $ft{'library'} += s/\bcusparseCbsrilu02_bufferSize\b/hipsparseCbsrilu02_bufferSize/g;
    $ft{'library'} += s/\bcusparseCbsrilu02_numericBoost\b/hipsparseCbsrilu02_numericBoost/g;
    $ft{'library'} += s/\bcusparseCbsrmm\b/hipsparseCbsrmm/g;
    $ft{'library'} += s/\bcusparseCbsrmv\b/hipsparseCbsrmv/g;
    $ft{'library'} += s/\bcusparseCbsrsm2_analysis\b/hipsparseCbsrsm2_analysis/g;
    $ft{'library'} += s/\bcusparseCbsrsm2_bufferSize\b/hipsparseCbsrsm2_bufferSize/g;
    $ft{'library'} += s/\bcusparseCbsrsm2_solve\b/hipsparseCbsrsm2_solve/g;
    $ft{'library'} += s/\bcusparseCbsrsv2_analysis\b/hipsparseCbsrsv2_analysis/g;
    $ft{'library'} += s/\bcusparseCbsrsv2_bufferSize\b/hipsparseCbsrsv2_bufferSize/g;
    $ft{'library'} += s/\bcusparseCbsrsv2_bufferSizeExt\b/hipsparseCbsrsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCbsrsv2_solve\b/hipsparseCbsrsv2_solve/g;
    $ft{'library'} += s/\bcusparseCbsrxmv\b/hipsparseCbsrxmv/g;
    $ft{'library'} += s/\bcusparseCcsc2dense\b/hipsparseCcsc2dense/g;
    $ft{'library'} += s/\bcusparseCcsr2bsr\b/hipsparseCcsr2bsr/g;
    $ft{'library'} += s/\bcusparseCcsr2csc\b/hipsparseCcsr2csc/g;
    $ft{'library'} += s/\bcusparseCcsr2csr_compress\b/hipsparseCcsr2csr_compress/g;
    $ft{'library'} += s/\bcusparseCcsr2csru\b/hipsparseCcsr2csru/g;
    $ft{'library'} += s/\bcusparseCcsr2dense\b/hipsparseCcsr2dense/g;
    $ft{'library'} += s/\bcusparseCcsr2gebsr\b/hipsparseCcsr2gebsr/g;
    $ft{'library'} += s/\bcusparseCcsr2gebsr_bufferSize\b/hipsparseCcsr2gebsr_bufferSize/g;
    $ft{'library'} += s/\bcusparseCcsr2hyb\b/hipsparseCcsr2hyb/g;
    $ft{'library'} += s/\bcusparseCcsrcolor\b/hipsparseCcsrcolor/g;
    $ft{'library'} += s/\bcusparseCcsrgeam\b/hipsparseCcsrgeam/g;
    $ft{'library'} += s/\bcusparseCcsrgeam2\b/hipsparseCcsrgeam2/g;
    $ft{'library'} += s/\bcusparseCcsrgeam2_bufferSizeExt\b/hipsparseCcsrgeam2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCcsrgemm\b/hipsparseCcsrgemm/g;
    $ft{'library'} += s/\bcusparseCcsrgemm2\b/hipsparseCcsrgemm2/g;
    $ft{'library'} += s/\bcusparseCcsrgemm2_bufferSizeExt\b/hipsparseCcsrgemm2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCcsric02\b/hipsparseCcsric02/g;
    $ft{'library'} += s/\bcusparseCcsric02_analysis\b/hipsparseCcsric02_analysis/g;
    $ft{'library'} += s/\bcusparseCcsric02_bufferSize\b/hipsparseCcsric02_bufferSize/g;
    $ft{'library'} += s/\bcusparseCcsric02_bufferSizeExt\b/hipsparseCcsric02_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCcsrilu02\b/hipsparseCcsrilu02/g;
    $ft{'library'} += s/\bcusparseCcsrilu02_analysis\b/hipsparseCcsrilu02_analysis/g;
    $ft{'library'} += s/\bcusparseCcsrilu02_bufferSize\b/hipsparseCcsrilu02_bufferSize/g;
    $ft{'library'} += s/\bcusparseCcsrilu02_bufferSizeExt\b/hipsparseCcsrilu02_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCcsrilu02_numericBoost\b/hipsparseCcsrilu02_numericBoost/g;
    $ft{'library'} += s/\bcusparseCcsrmm\b/hipsparseCcsrmm/g;
    $ft{'library'} += s/\bcusparseCcsrmm2\b/hipsparseCcsrmm2/g;
    $ft{'library'} += s/\bcusparseCcsrmv\b/hipsparseCcsrmv/g;
    $ft{'library'} += s/\bcusparseCcsrsm2_analysis\b/hipsparseCcsrsm2_analysis/g;
    $ft{'library'} += s/\bcusparseCcsrsm2_bufferSizeExt\b/hipsparseCcsrsm2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCcsrsm2_solve\b/hipsparseCcsrsm2_solve/g;
    $ft{'library'} += s/\bcusparseCcsrsv2_analysis\b/hipsparseCcsrsv2_analysis/g;
    $ft{'library'} += s/\bcusparseCcsrsv2_bufferSize\b/hipsparseCcsrsv2_bufferSize/g;
    $ft{'library'} += s/\bcusparseCcsrsv2_bufferSizeExt\b/hipsparseCcsrsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCcsrsv2_solve\b/hipsparseCcsrsv2_solve/g;
    $ft{'library'} += s/\bcusparseCcsru2csr\b/hipsparseCcsru2csr/g;
    $ft{'library'} += s/\bcusparseCcsru2csr_bufferSizeExt\b/hipsparseCcsru2csr_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCdense2csc\b/hipsparseCdense2csc/g;
    $ft{'library'} += s/\bcusparseCdense2csr\b/hipsparseCdense2csr/g;
    $ft{'library'} += s/\bcusparseCdotci\b/hipsparseCdotci/g;
    $ft{'library'} += s/\bcusparseCdoti\b/hipsparseCdoti/g;
    $ft{'library'} += s/\bcusparseCgebsr2csr\b/hipsparseCgebsr2csr/g;
    $ft{'library'} += s/\bcusparseCgebsr2gebsc\b/hipsparseCgebsr2gebsc/g;
    $ft{'library'} += s/\bcusparseCgebsr2gebsc_bufferSize\b/hipsparseCgebsr2gebsc_bufferSize/g;
    $ft{'library'} += s/\bcusparseCgebsr2gebsr\b/hipsparseCgebsr2gebsr/g;
    $ft{'library'} += s/\bcusparseCgebsr2gebsr_bufferSize\b/hipsparseCgebsr2gebsr_bufferSize/g;
    $ft{'library'} += s/\bcusparseCgemmi\b/hipsparseCgemmi/g;
    $ft{'library'} += s/\bcusparseCgemvi\b/hipsparseCgemvi/g;
    $ft{'library'} += s/\bcusparseCgemvi_bufferSize\b/hipsparseCgemvi_bufferSize/g;
    $ft{'library'} += s/\bcusparseCgthr\b/hipsparseCgthr/g;
    $ft{'library'} += s/\bcusparseCgthrz\b/hipsparseCgthrz/g;
    $ft{'library'} += s/\bcusparseCgtsv2\b/hipsparseCgtsv2/g;
    $ft{'library'} += s/\bcusparseCgtsv2StridedBatch\b/hipsparseCgtsv2StridedBatch/g;
    $ft{'library'} += s/\bcusparseCgtsv2StridedBatch_bufferSizeExt\b/hipsparseCgtsv2StridedBatch_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCgtsv2_bufferSizeExt\b/hipsparseCgtsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseCgtsv2_nopivot\b/hipsparseCgtsv2_nopivot/g;
    $ft{'library'} += s/\bcusparseCgtsv2_nopivot_bufferSizeExt\b/hipsparseCgtsv2_nopivot_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseChyb2csr\b/hipsparseChyb2csr/g;
    $ft{'library'} += s/\bcusparseChybmv\b/hipsparseChybmv/g;
    $ft{'library'} += s/\bcusparseCnnz\b/hipsparseCnnz/g;
    $ft{'library'} += s/\bcusparseCnnz_compress\b/hipsparseCnnz_compress/g;
    $ft{'library'} += s/\bcusparseCooAoSGet\b/hipsparseCooAoSGet/g;
    $ft{'library'} += s/\bcusparseCooGet\b/hipsparseCooGet/g;
    $ft{'library'} += s/\bcusparseCooSetPointers\b/hipsparseCooSetPointers/g;
    $ft{'library'} += s/\bcusparseCreate\b/hipsparseCreate/g;
    $ft{'library'} += s/\bcusparseCreateBlockedEll\b/hipsparseCreateBlockedEll/g;
    $ft{'library'} += s/\bcusparseCreateBsric02Info\b/hipsparseCreateBsric02Info/g;
    $ft{'library'} += s/\bcusparseCreateBsrilu02Info\b/hipsparseCreateBsrilu02Info/g;
    $ft{'library'} += s/\bcusparseCreateBsrsm2Info\b/hipsparseCreateBsrsm2Info/g;
    $ft{'library'} += s/\bcusparseCreateBsrsv2Info\b/hipsparseCreateBsrsv2Info/g;
    $ft{'library'} += s/\bcusparseCreateColorInfo\b/hipsparseCreateColorInfo/g;
    $ft{'library'} += s/\bcusparseCreateCoo\b/hipsparseCreateCoo/g;
    $ft{'library'} += s/\bcusparseCreateCooAoS\b/hipsparseCreateCooAoS/g;
    $ft{'library'} += s/\bcusparseCreateCsc\b/hipsparseCreateCsc/g;
    $ft{'library'} += s/\bcusparseCreateCsr\b/hipsparseCreateCsr/g;
    $ft{'library'} += s/\bcusparseCreateCsrgemm2Info\b/hipsparseCreateCsrgemm2Info/g;
    $ft{'library'} += s/\bcusparseCreateCsric02Info\b/hipsparseCreateCsric02Info/g;
    $ft{'library'} += s/\bcusparseCreateCsrilu02Info\b/hipsparseCreateCsrilu02Info/g;
    $ft{'library'} += s/\bcusparseCreateCsrsm2Info\b/hipsparseCreateCsrsm2Info/g;
    $ft{'library'} += s/\bcusparseCreateCsrsv2Info\b/hipsparseCreateCsrsv2Info/g;
    $ft{'library'} += s/\bcusparseCreateCsru2csrInfo\b/hipsparseCreateCsru2csrInfo/g;
    $ft{'library'} += s/\bcusparseCreateDnMat\b/hipsparseCreateDnMat/g;
    $ft{'library'} += s/\bcusparseCreateDnVec\b/hipsparseCreateDnVec/g;
    $ft{'library'} += s/\bcusparseCreateHybMat\b/hipsparseCreateHybMat/g;
    $ft{'library'} += s/\bcusparseCreateIdentityPermutation\b/hipsparseCreateIdentityPermutation/g;
    $ft{'library'} += s/\bcusparseCreateMatDescr\b/hipsparseCreateMatDescr/g;
    $ft{'library'} += s/\bcusparseCreatePruneInfo\b/hipsparseCreatePruneInfo/g;
    $ft{'library'} += s/\bcusparseCreateSpVec\b/hipsparseCreateSpVec/g;
    $ft{'library'} += s/\bcusparseCscSetPointers\b/hipsparseCscSetPointers/g;
    $ft{'library'} += s/\bcusparseCsctr\b/hipsparseCsctr/g;
    $ft{'library'} += s/\bcusparseCsrGet\b/hipsparseCsrGet/g;
    $ft{'library'} += s/\bcusparseCsrSetPointers\b/hipsparseCsrSetPointers/g;
    $ft{'library'} += s/\bcusparseDaxpyi\b/hipsparseDaxpyi/g;
    $ft{'library'} += s/\bcusparseDbsr2csr\b/hipsparseDbsr2csr/g;
    $ft{'library'} += s/\bcusparseDbsric02\b/hipsparseDbsric02/g;
    $ft{'library'} += s/\bcusparseDbsric02_analysis\b/hipsparseDbsric02_analysis/g;
    $ft{'library'} += s/\bcusparseDbsric02_bufferSize\b/hipsparseDbsric02_bufferSize/g;
    $ft{'library'} += s/\bcusparseDbsrilu02\b/hipsparseDbsrilu02/g;
    $ft{'library'} += s/\bcusparseDbsrilu02_analysis\b/hipsparseDbsrilu02_analysis/g;
    $ft{'library'} += s/\bcusparseDbsrilu02_bufferSize\b/hipsparseDbsrilu02_bufferSize/g;
    $ft{'library'} += s/\bcusparseDbsrilu02_numericBoost\b/hipsparseDbsrilu02_numericBoost/g;
    $ft{'library'} += s/\bcusparseDbsrmm\b/hipsparseDbsrmm/g;
    $ft{'library'} += s/\bcusparseDbsrmv\b/hipsparseDbsrmv/g;
    $ft{'library'} += s/\bcusparseDbsrsm2_analysis\b/hipsparseDbsrsm2_analysis/g;
    $ft{'library'} += s/\bcusparseDbsrsm2_bufferSize\b/hipsparseDbsrsm2_bufferSize/g;
    $ft{'library'} += s/\bcusparseDbsrsm2_solve\b/hipsparseDbsrsm2_solve/g;
    $ft{'library'} += s/\bcusparseDbsrsv2_analysis\b/hipsparseDbsrsv2_analysis/g;
    $ft{'library'} += s/\bcusparseDbsrsv2_bufferSize\b/hipsparseDbsrsv2_bufferSize/g;
    $ft{'library'} += s/\bcusparseDbsrsv2_bufferSizeExt\b/hipsparseDbsrsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDbsrsv2_solve\b/hipsparseDbsrsv2_solve/g;
    $ft{'library'} += s/\bcusparseDbsrxmv\b/hipsparseDbsrxmv/g;
    $ft{'library'} += s/\bcusparseDcsc2dense\b/hipsparseDcsc2dense/g;
    $ft{'library'} += s/\bcusparseDcsr2bsr\b/hipsparseDcsr2bsr/g;
    $ft{'library'} += s/\bcusparseDcsr2csc\b/hipsparseDcsr2csc/g;
    $ft{'library'} += s/\bcusparseDcsr2csr_compress\b/hipsparseDcsr2csr_compress/g;
    $ft{'library'} += s/\bcusparseDcsr2csru\b/hipsparseDcsr2csru/g;
    $ft{'library'} += s/\bcusparseDcsr2dense\b/hipsparseDcsr2dense/g;
    $ft{'library'} += s/\bcusparseDcsr2gebsr\b/hipsparseDcsr2gebsr/g;
    $ft{'library'} += s/\bcusparseDcsr2gebsr_bufferSize\b/hipsparseDcsr2gebsr_bufferSize/g;
    $ft{'library'} += s/\bcusparseDcsr2hyb\b/hipsparseDcsr2hyb/g;
    $ft{'library'} += s/\bcusparseDcsrcolor\b/hipsparseDcsrcolor/g;
    $ft{'library'} += s/\bcusparseDcsrgeam\b/hipsparseDcsrgeam/g;
    $ft{'library'} += s/\bcusparseDcsrgeam2\b/hipsparseDcsrgeam2/g;
    $ft{'library'} += s/\bcusparseDcsrgeam2_bufferSizeExt\b/hipsparseDcsrgeam2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDcsrgemm\b/hipsparseDcsrgemm/g;
    $ft{'library'} += s/\bcusparseDcsrgemm2\b/hipsparseDcsrgemm2/g;
    $ft{'library'} += s/\bcusparseDcsrgemm2_bufferSizeExt\b/hipsparseDcsrgemm2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDcsric02\b/hipsparseDcsric02/g;
    $ft{'library'} += s/\bcusparseDcsric02_analysis\b/hipsparseDcsric02_analysis/g;
    $ft{'library'} += s/\bcusparseDcsric02_bufferSize\b/hipsparseDcsric02_bufferSize/g;
    $ft{'library'} += s/\bcusparseDcsric02_bufferSizeExt\b/hipsparseDcsric02_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDcsrilu02\b/hipsparseDcsrilu02/g;
    $ft{'library'} += s/\bcusparseDcsrilu02_analysis\b/hipsparseDcsrilu02_analysis/g;
    $ft{'library'} += s/\bcusparseDcsrilu02_bufferSize\b/hipsparseDcsrilu02_bufferSize/g;
    $ft{'library'} += s/\bcusparseDcsrilu02_bufferSizeExt\b/hipsparseDcsrilu02_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDcsrilu02_numericBoost\b/hipsparseDcsrilu02_numericBoost/g;
    $ft{'library'} += s/\bcusparseDcsrmm\b/hipsparseDcsrmm/g;
    $ft{'library'} += s/\bcusparseDcsrmm2\b/hipsparseDcsrmm2/g;
    $ft{'library'} += s/\bcusparseDcsrmv\b/hipsparseDcsrmv/g;
    $ft{'library'} += s/\bcusparseDcsrsm2_analysis\b/hipsparseDcsrsm2_analysis/g;
    $ft{'library'} += s/\bcusparseDcsrsm2_bufferSizeExt\b/hipsparseDcsrsm2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDcsrsm2_solve\b/hipsparseDcsrsm2_solve/g;
    $ft{'library'} += s/\bcusparseDcsrsv2_analysis\b/hipsparseDcsrsv2_analysis/g;
    $ft{'library'} += s/\bcusparseDcsrsv2_bufferSize\b/hipsparseDcsrsv2_bufferSize/g;
    $ft{'library'} += s/\bcusparseDcsrsv2_bufferSizeExt\b/hipsparseDcsrsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDcsrsv2_solve\b/hipsparseDcsrsv2_solve/g;
    $ft{'library'} += s/\bcusparseDcsru2csr\b/hipsparseDcsru2csr/g;
    $ft{'library'} += s/\bcusparseDcsru2csr_bufferSizeExt\b/hipsparseDcsru2csr_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDdense2csc\b/hipsparseDdense2csc/g;
    $ft{'library'} += s/\bcusparseDdense2csr\b/hipsparseDdense2csr/g;
    $ft{'library'} += s/\bcusparseDdoti\b/hipsparseDdoti/g;
    $ft{'library'} += s/\bcusparseDenseToSparse_analysis\b/hipsparseDenseToSparse_analysis/g;
    $ft{'library'} += s/\bcusparseDenseToSparse_bufferSize\b/hipsparseDenseToSparse_bufferSize/g;
    $ft{'library'} += s/\bcusparseDenseToSparse_convert\b/hipsparseDenseToSparse_convert/g;
    $ft{'library'} += s/\bcusparseDestroy\b/hipsparseDestroy/g;
    $ft{'library'} += s/\bcusparseDestroyBsric02Info\b/hipsparseDestroyBsric02Info/g;
    $ft{'library'} += s/\bcusparseDestroyBsrilu02Info\b/hipsparseDestroyBsrilu02Info/g;
    $ft{'library'} += s/\bcusparseDestroyBsrsm2Info\b/hipsparseDestroyBsrsm2Info/g;
    $ft{'library'} += s/\bcusparseDestroyBsrsv2Info\b/hipsparseDestroyBsrsv2Info/g;
    $ft{'library'} += s/\bcusparseDestroyColorInfo\b/hipsparseDestroyColorInfo/g;
    $ft{'library'} += s/\bcusparseDestroyCsrgemm2Info\b/hipsparseDestroyCsrgemm2Info/g;
    $ft{'library'} += s/\bcusparseDestroyCsric02Info\b/hipsparseDestroyCsric02Info/g;
    $ft{'library'} += s/\bcusparseDestroyCsrilu02Info\b/hipsparseDestroyCsrilu02Info/g;
    $ft{'library'} += s/\bcusparseDestroyCsrsm2Info\b/hipsparseDestroyCsrsm2Info/g;
    $ft{'library'} += s/\bcusparseDestroyCsrsv2Info\b/hipsparseDestroyCsrsv2Info/g;
    $ft{'library'} += s/\bcusparseDestroyCsru2csrInfo\b/hipsparseDestroyCsru2csrInfo/g;
    $ft{'library'} += s/\bcusparseDestroyDnMat\b/hipsparseDestroyDnMat/g;
    $ft{'library'} += s/\bcusparseDestroyDnVec\b/hipsparseDestroyDnVec/g;
    $ft{'library'} += s/\bcusparseDestroyHybMat\b/hipsparseDestroyHybMat/g;
    $ft{'library'} += s/\bcusparseDestroyMatDescr\b/hipsparseDestroyMatDescr/g;
    $ft{'library'} += s/\bcusparseDestroyPruneInfo\b/hipsparseDestroyPruneInfo/g;
    $ft{'library'} += s/\bcusparseDestroySpMat\b/hipsparseDestroySpMat/g;
    $ft{'library'} += s/\bcusparseDestroySpVec\b/hipsparseDestroySpVec/g;
    $ft{'library'} += s/\bcusparseDgebsr2csr\b/hipsparseDgebsr2csr/g;
    $ft{'library'} += s/\bcusparseDgebsr2gebsc\b/hipsparseDgebsr2gebsc/g;
    $ft{'library'} += s/\bcusparseDgebsr2gebsc_bufferSize\b/hipsparseDgebsr2gebsc_bufferSize/g;
    $ft{'library'} += s/\bcusparseDgebsr2gebsr\b/hipsparseDgebsr2gebsr/g;
    $ft{'library'} += s/\bcusparseDgebsr2gebsr_bufferSize\b/hipsparseDgebsr2gebsr_bufferSize/g;
    $ft{'library'} += s/\bcusparseDgemmi\b/hipsparseDgemmi/g;
    $ft{'library'} += s/\bcusparseDgemvi\b/hipsparseDgemvi/g;
    $ft{'library'} += s/\bcusparseDgemvi_bufferSize\b/hipsparseDgemvi_bufferSize/g;
    $ft{'library'} += s/\bcusparseDgthr\b/hipsparseDgthr/g;
    $ft{'library'} += s/\bcusparseDgthrz\b/hipsparseDgthrz/g;
    $ft{'library'} += s/\bcusparseDgtsv2\b/hipsparseDgtsv2/g;
    $ft{'library'} += s/\bcusparseDgtsv2StridedBatch\b/hipsparseDgtsv2StridedBatch/g;
    $ft{'library'} += s/\bcusparseDgtsv2StridedBatch_bufferSizeExt\b/hipsparseDgtsv2StridedBatch_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDgtsv2_bufferSizeExt\b/hipsparseDgtsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDgtsv2_nopivot\b/hipsparseDgtsv2_nopivot/g;
    $ft{'library'} += s/\bcusparseDgtsv2_nopivot_bufferSizeExt\b/hipsparseDgtsv2_nopivot_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDhyb2csr\b/hipsparseDhyb2csr/g;
    $ft{'library'} += s/\bcusparseDhybmv\b/hipsparseDhybmv/g;
    $ft{'library'} += s/\bcusparseDnMatGet\b/hipsparseDnMatGet/g;
    $ft{'library'} += s/\bcusparseDnMatGetValues\b/hipsparseDnMatGetValues/g;
    $ft{'library'} += s/\bcusparseDnMatSetValues\b/hipsparseDnMatSetValues/g;
    $ft{'library'} += s/\bcusparseDnVecGet\b/hipsparseDnVecGet/g;
    $ft{'library'} += s/\bcusparseDnVecGetValues\b/hipsparseDnVecGetValues/g;
    $ft{'library'} += s/\bcusparseDnVecSetValues\b/hipsparseDnVecSetValues/g;
    $ft{'library'} += s/\bcusparseDnnz\b/hipsparseDnnz/g;
    $ft{'library'} += s/\bcusparseDnnz_compress\b/hipsparseDnnz_compress/g;
    $ft{'library'} += s/\bcusparseDpruneCsr2csr\b/hipsparseDpruneCsr2csr/g;
    $ft{'library'} += s/\bcusparseDpruneCsr2csrByPercentage\b/hipsparseDpruneCsr2csrByPercentage/g;
    $ft{'library'} += s/\bcusparseDpruneCsr2csrByPercentage_bufferSizeExt\b/hipsparseDpruneCsr2csrByPercentage_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDpruneCsr2csrNnz\b/hipsparseDpruneCsr2csrNnz/g;
    $ft{'library'} += s/\bcusparseDpruneCsr2csrNnzByPercentage\b/hipsparseDpruneCsr2csrNnzByPercentage/g;
    $ft{'library'} += s/\bcusparseDpruneCsr2csr_bufferSizeExt\b/hipsparseDpruneCsr2csr_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDpruneDense2csr\b/hipsparseDpruneDense2csr/g;
    $ft{'library'} += s/\bcusparseDpruneDense2csrByPercentage\b/hipsparseDpruneDense2csrByPercentage/g;
    $ft{'library'} += s/\bcusparseDpruneDense2csrByPercentage_bufferSizeExt\b/hipsparseDpruneDense2csrByPercentage_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDpruneDense2csrNnz\b/hipsparseDpruneDense2csrNnz/g;
    $ft{'library'} += s/\bcusparseDpruneDense2csrNnzByPercentage\b/hipsparseDpruneDense2csrNnzByPercentage/g;
    $ft{'library'} += s/\bcusparseDpruneDense2csr_bufferSizeExt\b/hipsparseDpruneDense2csr_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseDroti\b/hipsparseDroti/g;
    $ft{'library'} += s/\bcusparseDsctr\b/hipsparseDsctr/g;
    $ft{'library'} += s/\bcusparseGather\b/hipsparseGather/g;
    $ft{'library'} += s/\bcusparseGetMatDiagType\b/hipsparseGetMatDiagType/g;
    $ft{'library'} += s/\bcusparseGetMatFillMode\b/hipsparseGetMatFillMode/g;
    $ft{'library'} += s/\bcusparseGetMatIndexBase\b/hipsparseGetMatIndexBase/g;
    $ft{'library'} += s/\bcusparseGetMatType\b/hipsparseGetMatType/g;
    $ft{'library'} += s/\bcusparseGetPointerMode\b/hipsparseGetPointerMode/g;
    $ft{'library'} += s/\bcusparseGetStream\b/hipsparseGetStream/g;
    $ft{'library'} += s/\bcusparseGetVersion\b/hipsparseGetVersion/g;
    $ft{'library'} += s/\bcusparseRot\b/hipsparseRot/g;
    $ft{'library'} += s/\bcusparseSDDMM\b/hipsparseSDDMM/g;
    $ft{'library'} += s/\bcusparseSDDMM_bufferSize\b/hipsparseSDDMM_bufferSize/g;
    $ft{'library'} += s/\bcusparseSDDMM_preprocess\b/hipsparseSDDMM_preprocess/g;
    $ft{'library'} += s/\bcusparseSaxpyi\b/hipsparseSaxpyi/g;
    $ft{'library'} += s/\bcusparseSbsr2csr\b/hipsparseSbsr2csr/g;
    $ft{'library'} += s/\bcusparseSbsric02\b/hipsparseSbsric02/g;
    $ft{'library'} += s/\bcusparseSbsric02_analysis\b/hipsparseSbsric02_analysis/g;
    $ft{'library'} += s/\bcusparseSbsric02_bufferSize\b/hipsparseSbsric02_bufferSize/g;
    $ft{'library'} += s/\bcusparseSbsrilu02\b/hipsparseSbsrilu02/g;
    $ft{'library'} += s/\bcusparseSbsrilu02_analysis\b/hipsparseSbsrilu02_analysis/g;
    $ft{'library'} += s/\bcusparseSbsrilu02_bufferSize\b/hipsparseSbsrilu02_bufferSize/g;
    $ft{'library'} += s/\bcusparseSbsrilu02_numericBoost\b/hipsparseSbsrilu02_numericBoost/g;
    $ft{'library'} += s/\bcusparseSbsrmm\b/hipsparseSbsrmm/g;
    $ft{'library'} += s/\bcusparseSbsrmv\b/hipsparseSbsrmv/g;
    $ft{'library'} += s/\bcusparseSbsrsm2_analysis\b/hipsparseSbsrsm2_analysis/g;
    $ft{'library'} += s/\bcusparseSbsrsm2_bufferSize\b/hipsparseSbsrsm2_bufferSize/g;
    $ft{'library'} += s/\bcusparseSbsrsm2_solve\b/hipsparseSbsrsm2_solve/g;
    $ft{'library'} += s/\bcusparseSbsrsv2_analysis\b/hipsparseSbsrsv2_analysis/g;
    $ft{'library'} += s/\bcusparseSbsrsv2_bufferSize\b/hipsparseSbsrsv2_bufferSize/g;
    $ft{'library'} += s/\bcusparseSbsrsv2_bufferSizeExt\b/hipsparseSbsrsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseSbsrsv2_solve\b/hipsparseSbsrsv2_solve/g;
    $ft{'library'} += s/\bcusparseSbsrxmv\b/hipsparseSbsrxmv/g;
    $ft{'library'} += s/\bcusparseScatter\b/hipsparseScatter/g;
    $ft{'library'} += s/\bcusparseScsc2dense\b/hipsparseScsc2dense/g;
    $ft{'library'} += s/\bcusparseScsr2bsr\b/hipsparseScsr2bsr/g;
    $ft{'library'} += s/\bcusparseScsr2csc\b/hipsparseScsr2csc/g;
    $ft{'library'} += s/\bcusparseScsr2csr_compress\b/hipsparseScsr2csr_compress/g;
    $ft{'library'} += s/\bcusparseScsr2csru\b/hipsparseScsr2csru/g;
    $ft{'library'} += s/\bcusparseScsr2dense\b/hipsparseScsr2dense/g;
    $ft{'library'} += s/\bcusparseScsr2gebsr\b/hipsparseScsr2gebsr/g;
    $ft{'library'} += s/\bcusparseScsr2gebsr_bufferSize\b/hipsparseScsr2gebsr_bufferSize/g;
    $ft{'library'} += s/\bcusparseScsr2hyb\b/hipsparseScsr2hyb/g;
    $ft{'library'} += s/\bcusparseScsrcolor\b/hipsparseScsrcolor/g;
    $ft{'library'} += s/\bcusparseScsrgeam\b/hipsparseScsrgeam/g;
    $ft{'library'} += s/\bcusparseScsrgeam2\b/hipsparseScsrgeam2/g;
    $ft{'library'} += s/\bcusparseScsrgeam2_bufferSizeExt\b/hipsparseScsrgeam2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseScsrgemm\b/hipsparseScsrgemm/g;
    $ft{'library'} += s/\bcusparseScsrgemm2\b/hipsparseScsrgemm2/g;
    $ft{'library'} += s/\bcusparseScsrgemm2_bufferSizeExt\b/hipsparseScsrgemm2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseScsric02\b/hipsparseScsric02/g;
    $ft{'library'} += s/\bcusparseScsric02_analysis\b/hipsparseScsric02_analysis/g;
    $ft{'library'} += s/\bcusparseScsric02_bufferSize\b/hipsparseScsric02_bufferSize/g;
    $ft{'library'} += s/\bcusparseScsric02_bufferSizeExt\b/hipsparseScsric02_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseScsrilu02\b/hipsparseScsrilu02/g;
    $ft{'library'} += s/\bcusparseScsrilu02_analysis\b/hipsparseScsrilu02_analysis/g;
    $ft{'library'} += s/\bcusparseScsrilu02_bufferSize\b/hipsparseScsrilu02_bufferSize/g;
    $ft{'library'} += s/\bcusparseScsrilu02_bufferSizeExt\b/hipsparseScsrilu02_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseScsrilu02_numericBoost\b/hipsparseScsrilu02_numericBoost/g;
    $ft{'library'} += s/\bcusparseScsrmm\b/hipsparseScsrmm/g;
    $ft{'library'} += s/\bcusparseScsrmm2\b/hipsparseScsrmm2/g;
    $ft{'library'} += s/\bcusparseScsrmv\b/hipsparseScsrmv/g;
    $ft{'library'} += s/\bcusparseScsrsm2_analysis\b/hipsparseScsrsm2_analysis/g;
    $ft{'library'} += s/\bcusparseScsrsm2_bufferSizeExt\b/hipsparseScsrsm2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseScsrsm2_solve\b/hipsparseScsrsm2_solve/g;
    $ft{'library'} += s/\bcusparseScsrsv2_analysis\b/hipsparseScsrsv2_analysis/g;
    $ft{'library'} += s/\bcusparseScsrsv2_bufferSize\b/hipsparseScsrsv2_bufferSize/g;
    $ft{'library'} += s/\bcusparseScsrsv2_bufferSizeExt\b/hipsparseScsrsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseScsrsv2_solve\b/hipsparseScsrsv2_solve/g;
    $ft{'library'} += s/\bcusparseScsru2csr\b/hipsparseScsru2csr/g;
    $ft{'library'} += s/\bcusparseScsru2csr_bufferSizeExt\b/hipsparseScsru2csr_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseSdense2csc\b/hipsparseSdense2csc/g;
    $ft{'library'} += s/\bcusparseSdense2csr\b/hipsparseSdense2csr/g;
    $ft{'library'} += s/\bcusparseSdoti\b/hipsparseSdoti/g;
    $ft{'library'} += s/\bcusparseSetMatDiagType\b/hipsparseSetMatDiagType/g;
    $ft{'library'} += s/\bcusparseSetMatFillMode\b/hipsparseSetMatFillMode/g;
    $ft{'library'} += s/\bcusparseSetMatIndexBase\b/hipsparseSetMatIndexBase/g;
    $ft{'library'} += s/\bcusparseSetMatType\b/hipsparseSetMatType/g;
    $ft{'library'} += s/\bcusparseSetPointerMode\b/hipsparseSetPointerMode/g;
    $ft{'library'} += s/\bcusparseSetStream\b/hipsparseSetStream/g;
    $ft{'library'} += s/\bcusparseSgebsr2csr\b/hipsparseSgebsr2csr/g;
    $ft{'library'} += s/\bcusparseSgebsr2gebsc\b/hipsparseSgebsr2gebsc/g;
    $ft{'library'} += s/\bcusparseSgebsr2gebsc_bufferSize\b/hipsparseSgebsr2gebsc_bufferSize/g;
    $ft{'library'} += s/\bcusparseSgebsr2gebsr\b/hipsparseSgebsr2gebsr/g;
    $ft{'library'} += s/\bcusparseSgebsr2gebsr_bufferSize\b/hipsparseSgebsr2gebsr_bufferSize/g;
    $ft{'library'} += s/\bcusparseSgemmi\b/hipsparseSgemmi/g;
    $ft{'library'} += s/\bcusparseSgemvi\b/hipsparseSgemvi/g;
    $ft{'library'} += s/\bcusparseSgemvi_bufferSize\b/hipsparseSgemvi_bufferSize/g;
    $ft{'library'} += s/\bcusparseSgthr\b/hipsparseSgthr/g;
    $ft{'library'} += s/\bcusparseSgthrz\b/hipsparseSgthrz/g;
    $ft{'library'} += s/\bcusparseSgtsv2\b/hipsparseSgtsv2/g;
    $ft{'library'} += s/\bcusparseSgtsv2StridedBatch\b/hipsparseSgtsv2StridedBatch/g;
    $ft{'library'} += s/\bcusparseSgtsv2StridedBatch_bufferSizeExt\b/hipsparseSgtsv2StridedBatch_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseSgtsv2_bufferSizeExt\b/hipsparseSgtsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseSgtsv2_nopivot\b/hipsparseSgtsv2_nopivot/g;
    $ft{'library'} += s/\bcusparseSgtsv2_nopivot_bufferSizeExt\b/hipsparseSgtsv2_nopivot_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseShyb2csr\b/hipsparseShyb2csr/g;
    $ft{'library'} += s/\bcusparseShybmv\b/hipsparseShybmv/g;
    $ft{'library'} += s/\bcusparseSnnz\b/hipsparseSnnz/g;
    $ft{'library'} += s/\bcusparseSnnz_compress\b/hipsparseSnnz_compress/g;
    $ft{'library'} += s/\bcusparseSpGEMM_compute\b/hipsparseSpGEMM_compute/g;
    $ft{'library'} += s/\bcusparseSpGEMM_copy\b/hipsparseSpGEMM_copy/g;
    $ft{'library'} += s/\bcusparseSpGEMM_createDescr\b/hipsparseSpGEMM_createDescr/g;
    $ft{'library'} += s/\bcusparseSpGEMM_destroyDescr\b/hipsparseSpGEMM_destroyDescr/g;
    $ft{'library'} += s/\bcusparseSpGEMM_workEstimation\b/hipsparseSpGEMM_workEstimation/g;
    $ft{'library'} += s/\bcusparseSpMM\b/hipsparseSpMM/g;
    $ft{'library'} += s/\bcusparseSpMM_bufferSize\b/hipsparseSpMM_bufferSize/g;
    $ft{'library'} += s/\bcusparseSpMM_preprocess\b/hipsparseSpMM_preprocess/g;
    $ft{'library'} += s/\bcusparseSpMV\b/hipsparseSpMV/g;
    $ft{'library'} += s/\bcusparseSpMV_bufferSize\b/hipsparseSpMV_bufferSize/g;
    $ft{'library'} += s/\bcusparseSpMatGetAttribute\b/hipsparseSpMatGetAttribute/g;
    $ft{'library'} += s/\bcusparseSpMatGetFormat\b/hipsparseSpMatGetFormat/g;
    $ft{'library'} += s/\bcusparseSpMatGetIndexBase\b/hipsparseSpMatGetIndexBase/g;
    $ft{'library'} += s/\bcusparseSpMatGetSize\b/hipsparseSpMatGetSize/g;
    $ft{'library'} += s/\bcusparseSpMatGetValues\b/hipsparseSpMatGetValues/g;
    $ft{'library'} += s/\bcusparseSpMatSetAttribute\b/hipsparseSpMatSetAttribute/g;
    $ft{'library'} += s/\bcusparseSpMatSetValues\b/hipsparseSpMatSetValues/g;
    $ft{'library'} += s/\bcusparseSpSM_analysis\b/hipsparseSpSM_analysis/g;
    $ft{'library'} += s/\bcusparseSpSM_bufferSize\b/hipsparseSpSM_bufferSize/g;
    $ft{'library'} += s/\bcusparseSpSM_createDescr\b/hipsparseSpSM_createDescr/g;
    $ft{'library'} += s/\bcusparseSpSM_destroyDescr\b/hipsparseSpSM_destroyDescr/g;
    $ft{'library'} += s/\bcusparseSpSM_solve\b/hipsparseSpSM_solve/g;
    $ft{'library'} += s/\bcusparseSpSV_analysis\b/hipsparseSpSV_analysis/g;
    $ft{'library'} += s/\bcusparseSpSV_bufferSize\b/hipsparseSpSV_bufferSize/g;
    $ft{'library'} += s/\bcusparseSpSV_createDescr\b/hipsparseSpSV_createDescr/g;
    $ft{'library'} += s/\bcusparseSpSV_destroyDescr\b/hipsparseSpSV_destroyDescr/g;
    $ft{'library'} += s/\bcusparseSpSV_solve\b/hipsparseSpSV_solve/g;
    $ft{'library'} += s/\bcusparseSpVV\b/hipsparseSpVV/g;
    $ft{'library'} += s/\bcusparseSpVV_bufferSize\b/hipsparseSpVV_bufferSize/g;
    $ft{'library'} += s/\bcusparseSpVecGet\b/hipsparseSpVecGet/g;
    $ft{'library'} += s/\bcusparseSpVecGetIndexBase\b/hipsparseSpVecGetIndexBase/g;
    $ft{'library'} += s/\bcusparseSpVecGetValues\b/hipsparseSpVecGetValues/g;
    $ft{'library'} += s/\bcusparseSpVecSetValues\b/hipsparseSpVecSetValues/g;
    $ft{'library'} += s/\bcusparseSparseToDense\b/hipsparseSparseToDense/g;
    $ft{'library'} += s/\bcusparseSparseToDense_bufferSize\b/hipsparseSparseToDense_bufferSize/g;
    $ft{'library'} += s/\bcusparseSpruneCsr2csr\b/hipsparseSpruneCsr2csr/g;
    $ft{'library'} += s/\bcusparseSpruneCsr2csrByPercentage\b/hipsparseSpruneCsr2csrByPercentage/g;
    $ft{'library'} += s/\bcusparseSpruneCsr2csrByPercentage_bufferSizeExt\b/hipsparseSpruneCsr2csrByPercentage_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseSpruneCsr2csrNnz\b/hipsparseSpruneCsr2csrNnz/g;
    $ft{'library'} += s/\bcusparseSpruneCsr2csrNnzByPercentage\b/hipsparseSpruneCsr2csrNnzByPercentage/g;
    $ft{'library'} += s/\bcusparseSpruneCsr2csr_bufferSizeExt\b/hipsparseSpruneCsr2csr_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseSpruneDense2csr\b/hipsparseSpruneDense2csr/g;
    $ft{'library'} += s/\bcusparseSpruneDense2csrByPercentage\b/hipsparseSpruneDense2csrByPercentage/g;
    $ft{'library'} += s/\bcusparseSpruneDense2csrByPercentage_bufferSizeExt\b/hipsparseSpruneDense2csrByPercentage_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseSpruneDense2csrNnz\b/hipsparseSpruneDense2csrNnz/g;
    $ft{'library'} += s/\bcusparseSpruneDense2csrNnzByPercentage\b/hipsparseSpruneDense2csrNnzByPercentage/g;
    $ft{'library'} += s/\bcusparseSpruneDense2csr_bufferSizeExt\b/hipsparseSpruneDense2csr_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseSroti\b/hipsparseSroti/g;
    $ft{'library'} += s/\bcusparseSsctr\b/hipsparseSsctr/g;
    $ft{'library'} += s/\bcusparseXbsric02_zeroPivot\b/hipsparseXbsric02_zeroPivot/g;
    $ft{'library'} += s/\bcusparseXbsrilu02_zeroPivot\b/hipsparseXbsrilu02_zeroPivot/g;
    $ft{'library'} += s/\bcusparseXbsrsm2_zeroPivot\b/hipsparseXbsrsm2_zeroPivot/g;
    $ft{'library'} += s/\bcusparseXbsrsv2_zeroPivot\b/hipsparseXbsrsv2_zeroPivot/g;
    $ft{'library'} += s/\bcusparseXcoo2csr\b/hipsparseXcoo2csr/g;
    $ft{'library'} += s/\bcusparseXcoosortByColumn\b/hipsparseXcoosortByColumn/g;
    $ft{'library'} += s/\bcusparseXcoosortByRow\b/hipsparseXcoosortByRow/g;
    $ft{'library'} += s/\bcusparseXcoosort_bufferSizeExt\b/hipsparseXcoosort_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseXcscsort\b/hipsparseXcscsort/g;
    $ft{'library'} += s/\bcusparseXcscsort_bufferSizeExt\b/hipsparseXcscsort_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseXcsr2bsrNnz\b/hipsparseXcsr2bsrNnz/g;
    $ft{'library'} += s/\bcusparseXcsr2coo\b/hipsparseXcsr2coo/g;
    $ft{'library'} += s/\bcusparseXcsr2gebsrNnz\b/hipsparseXcsr2gebsrNnz/g;
    $ft{'library'} += s/\bcusparseXcsrgeam2Nnz\b/hipsparseXcsrgeam2Nnz/g;
    $ft{'library'} += s/\bcusparseXcsrgeamNnz\b/hipsparseXcsrgeamNnz/g;
    $ft{'library'} += s/\bcusparseXcsrgemm2Nnz\b/hipsparseXcsrgemm2Nnz/g;
    $ft{'library'} += s/\bcusparseXcsrgemmNnz\b/hipsparseXcsrgemmNnz/g;
    $ft{'library'} += s/\bcusparseXcsric02_zeroPivot\b/hipsparseXcsric02_zeroPivot/g;
    $ft{'library'} += s/\bcusparseXcsrilu02_zeroPivot\b/hipsparseXcsrilu02_zeroPivot/g;
    $ft{'library'} += s/\bcusparseXcsrsm2_zeroPivot\b/hipsparseXcsrsm2_zeroPivot/g;
    $ft{'library'} += s/\bcusparseXcsrsort\b/hipsparseXcsrsort/g;
    $ft{'library'} += s/\bcusparseXcsrsort_bufferSizeExt\b/hipsparseXcsrsort_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseXcsrsv2_zeroPivot\b/hipsparseXcsrsv2_zeroPivot/g;
    $ft{'library'} += s/\bcusparseXgebsr2gebsrNnz\b/hipsparseXgebsr2gebsrNnz/g;
    $ft{'library'} += s/\bcusparseZaxpyi\b/hipsparseZaxpyi/g;
    $ft{'library'} += s/\bcusparseZbsr2csr\b/hipsparseZbsr2csr/g;
    $ft{'library'} += s/\bcusparseZbsric02\b/hipsparseZbsric02/g;
    $ft{'library'} += s/\bcusparseZbsric02_analysis\b/hipsparseZbsric02_analysis/g;
    $ft{'library'} += s/\bcusparseZbsric02_bufferSize\b/hipsparseZbsric02_bufferSize/g;
    $ft{'library'} += s/\bcusparseZbsrilu02\b/hipsparseZbsrilu02/g;
    $ft{'library'} += s/\bcusparseZbsrilu02_analysis\b/hipsparseZbsrilu02_analysis/g;
    $ft{'library'} += s/\bcusparseZbsrilu02_bufferSize\b/hipsparseZbsrilu02_bufferSize/g;
    $ft{'library'} += s/\bcusparseZbsrilu02_numericBoost\b/hipsparseZbsrilu02_numericBoost/g;
    $ft{'library'} += s/\bcusparseZbsrmm\b/hipsparseZbsrmm/g;
    $ft{'library'} += s/\bcusparseZbsrmv\b/hipsparseZbsrmv/g;
    $ft{'library'} += s/\bcusparseZbsrsm2_analysis\b/hipsparseZbsrsm2_analysis/g;
    $ft{'library'} += s/\bcusparseZbsrsm2_bufferSize\b/hipsparseZbsrsm2_bufferSize/g;
    $ft{'library'} += s/\bcusparseZbsrsm2_solve\b/hipsparseZbsrsm2_solve/g;
    $ft{'library'} += s/\bcusparseZbsrsv2_analysis\b/hipsparseZbsrsv2_analysis/g;
    $ft{'library'} += s/\bcusparseZbsrsv2_bufferSize\b/hipsparseZbsrsv2_bufferSize/g;
    $ft{'library'} += s/\bcusparseZbsrsv2_bufferSizeExt\b/hipsparseZbsrsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZbsrsv2_solve\b/hipsparseZbsrsv2_solve/g;
    $ft{'library'} += s/\bcusparseZbsrxmv\b/hipsparseZbsrxmv/g;
    $ft{'library'} += s/\bcusparseZcsc2dense\b/hipsparseZcsc2dense/g;
    $ft{'library'} += s/\bcusparseZcsr2bsr\b/hipsparseZcsr2bsr/g;
    $ft{'library'} += s/\bcusparseZcsr2csc\b/hipsparseZcsr2csc/g;
    $ft{'library'} += s/\bcusparseZcsr2csr_compress\b/hipsparseZcsr2csr_compress/g;
    $ft{'library'} += s/\bcusparseZcsr2csru\b/hipsparseZcsr2csru/g;
    $ft{'library'} += s/\bcusparseZcsr2dense\b/hipsparseZcsr2dense/g;
    $ft{'library'} += s/\bcusparseZcsr2gebsr\b/hipsparseZcsr2gebsr/g;
    $ft{'library'} += s/\bcusparseZcsr2gebsr_bufferSize\b/hipsparseZcsr2gebsr_bufferSize/g;
    $ft{'library'} += s/\bcusparseZcsr2hyb\b/hipsparseZcsr2hyb/g;
    $ft{'library'} += s/\bcusparseZcsrcolor\b/hipsparseZcsrcolor/g;
    $ft{'library'} += s/\bcusparseZcsrgeam\b/hipsparseZcsrgeam/g;
    $ft{'library'} += s/\bcusparseZcsrgeam2\b/hipsparseZcsrgeam2/g;
    $ft{'library'} += s/\bcusparseZcsrgeam2_bufferSizeExt\b/hipsparseZcsrgeam2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZcsrgemm\b/hipsparseZcsrgemm/g;
    $ft{'library'} += s/\bcusparseZcsrgemm2\b/hipsparseZcsrgemm2/g;
    $ft{'library'} += s/\bcusparseZcsrgemm2_bufferSizeExt\b/hipsparseZcsrgemm2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZcsric02\b/hipsparseZcsric02/g;
    $ft{'library'} += s/\bcusparseZcsric02_analysis\b/hipsparseZcsric02_analysis/g;
    $ft{'library'} += s/\bcusparseZcsric02_bufferSize\b/hipsparseZcsric02_bufferSize/g;
    $ft{'library'} += s/\bcusparseZcsric02_bufferSizeExt\b/hipsparseZcsric02_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZcsrilu02\b/hipsparseZcsrilu02/g;
    $ft{'library'} += s/\bcusparseZcsrilu02_analysis\b/hipsparseZcsrilu02_analysis/g;
    $ft{'library'} += s/\bcusparseZcsrilu02_bufferSize\b/hipsparseZcsrilu02_bufferSize/g;
    $ft{'library'} += s/\bcusparseZcsrilu02_bufferSizeExt\b/hipsparseZcsrilu02_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZcsrilu02_numericBoost\b/hipsparseZcsrilu02_numericBoost/g;
    $ft{'library'} += s/\bcusparseZcsrmm\b/hipsparseZcsrmm/g;
    $ft{'library'} += s/\bcusparseZcsrmm2\b/hipsparseZcsrmm2/g;
    $ft{'library'} += s/\bcusparseZcsrmv\b/hipsparseZcsrmv/g;
    $ft{'library'} += s/\bcusparseZcsrsm2_analysis\b/hipsparseZcsrsm2_analysis/g;
    $ft{'library'} += s/\bcusparseZcsrsm2_bufferSizeExt\b/hipsparseZcsrsm2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZcsrsm2_solve\b/hipsparseZcsrsm2_solve/g;
    $ft{'library'} += s/\bcusparseZcsrsv2_analysis\b/hipsparseZcsrsv2_analysis/g;
    $ft{'library'} += s/\bcusparseZcsrsv2_bufferSize\b/hipsparseZcsrsv2_bufferSize/g;
    $ft{'library'} += s/\bcusparseZcsrsv2_bufferSizeExt\b/hipsparseZcsrsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZcsrsv2_solve\b/hipsparseZcsrsv2_solve/g;
    $ft{'library'} += s/\bcusparseZcsru2csr\b/hipsparseZcsru2csr/g;
    $ft{'library'} += s/\bcusparseZcsru2csr_bufferSizeExt\b/hipsparseZcsru2csr_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZdense2csc\b/hipsparseZdense2csc/g;
    $ft{'library'} += s/\bcusparseZdense2csr\b/hipsparseZdense2csr/g;
    $ft{'library'} += s/\bcusparseZdotci\b/hipsparseZdotci/g;
    $ft{'library'} += s/\bcusparseZdoti\b/hipsparseZdoti/g;
    $ft{'library'} += s/\bcusparseZgebsr2csr\b/hipsparseZgebsr2csr/g;
    $ft{'library'} += s/\bcusparseZgebsr2gebsc\b/hipsparseZgebsr2gebsc/g;
    $ft{'library'} += s/\bcusparseZgebsr2gebsc_bufferSize\b/hipsparseZgebsr2gebsc_bufferSize/g;
    $ft{'library'} += s/\bcusparseZgebsr2gebsr\b/hipsparseZgebsr2gebsr/g;
    $ft{'library'} += s/\bcusparseZgebsr2gebsr_bufferSize\b/hipsparseZgebsr2gebsr_bufferSize/g;
    $ft{'library'} += s/\bcusparseZgemmi\b/hipsparseZgemmi/g;
    $ft{'library'} += s/\bcusparseZgemvi\b/hipsparseZgemvi/g;
    $ft{'library'} += s/\bcusparseZgemvi_bufferSize\b/hipsparseZgemvi_bufferSize/g;
    $ft{'library'} += s/\bcusparseZgthr\b/hipsparseZgthr/g;
    $ft{'library'} += s/\bcusparseZgthrz\b/hipsparseZgthrz/g;
    $ft{'library'} += s/\bcusparseZgtsv2\b/hipsparseZgtsv2/g;
    $ft{'library'} += s/\bcusparseZgtsv2StridedBatch\b/hipsparseZgtsv2StridedBatch/g;
    $ft{'library'} += s/\bcusparseZgtsv2StridedBatch_bufferSizeExt\b/hipsparseZgtsv2StridedBatch_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZgtsv2_bufferSizeExt\b/hipsparseZgtsv2_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZgtsv2_nopivot\b/hipsparseZgtsv2_nopivot/g;
    $ft{'library'} += s/\bcusparseZgtsv2_nopivot_bufferSizeExt\b/hipsparseZgtsv2_nopivot_bufferSizeExt/g;
    $ft{'library'} += s/\bcusparseZhyb2csr\b/hipsparseZhyb2csr/g;
    $ft{'library'} += s/\bcusparseZhybmv\b/hipsparseZhybmv/g;
    $ft{'library'} += s/\bcusparseZnnz\b/hipsparseZnnz/g;
    $ft{'library'} += s/\bcusparseZnnz_compress\b/hipsparseZnnz_compress/g;
    $ft{'library'} += s/\bcusparseZsctr\b/hipsparseZsctr/g;
    $ft{'library'} += s/\bnvrtcAddNameExpression\b/hiprtcAddNameExpression/g;
    $ft{'library'} += s/\bnvrtcCompileProgram\b/hiprtcCompileProgram/g;
    $ft{'library'} += s/\bnvrtcCreateProgram\b/hiprtcCreateProgram/g;
    $ft{'library'} += s/\bnvrtcDestroyProgram\b/hiprtcDestroyProgram/g;
    $ft{'library'} += s/\bnvrtcGetErrorString\b/hiprtcGetErrorString/g;
    $ft{'library'} += s/\bnvrtcGetLoweredName\b/hiprtcGetLoweredName/g;
    $ft{'library'} += s/\bnvrtcGetPTX\b/hiprtcGetCode/g;
    $ft{'library'} += s/\bnvrtcGetPTXSize\b/hiprtcGetCodeSize/g;
    $ft{'library'} += s/\bnvrtcGetProgramLog\b/hiprtcGetProgramLog/g;
    $ft{'library'} += s/\bnvrtcGetProgramLogSize\b/hiprtcGetProgramLogSize/g;
    $ft{'library'} += s/\bnvrtcVersion\b/hiprtcVersion/g;
    $ft{'device_library'} += s/\bcurand\b/hiprand/g;
    $ft{'device_library'} += s/\bcurand_discrete\b/hiprand_discrete/g;
    $ft{'device_library'} += s/\bcurand_discrete4\b/hiprand_discrete4/g;
    $ft{'device_library'} += s/\bcurand_init\b/hiprand_init/g;
    $ft{'device_library'} += s/\bcurand_log_normal\b/hiprand_log_normal/g;
    $ft{'device_library'} += s/\bcurand_log_normal2\b/hiprand_log_normal2/g;
    $ft{'device_library'} += s/\bcurand_log_normal2_double\b/hiprand_log_normal2_double/g;
    $ft{'device_library'} += s/\bcurand_log_normal4\b/hiprand_log_normal4/g;
    $ft{'device_library'} += s/\bcurand_log_normal4_double\b/hiprand_log_normal4_double/g;
    $ft{'device_library'} += s/\bcurand_log_normal_double\b/hiprand_log_normal_double/g;
    $ft{'device_library'} += s/\bcurand_normal\b/hiprand_normal/g;
    $ft{'device_library'} += s/\bcurand_normal2\b/hiprand_normal2/g;
    $ft{'device_library'} += s/\bcurand_normal2_double\b/hiprand_normal2_double/g;
    $ft{'device_library'} += s/\bcurand_normal4\b/hiprand_normal4/g;
    $ft{'device_library'} += s/\bcurand_normal4_double\b/hiprand_normal4_double/g;
    $ft{'device_library'} += s/\bcurand_normal_double\b/hiprand_normal_double/g;
    $ft{'device_library'} += s/\bcurand_poisson\b/hiprand_poisson/g;
    $ft{'device_library'} += s/\bcurand_poisson4\b/hiprand_poisson4/g;
    $ft{'device_library'} += s/\bcurand_uniform\b/hiprand_uniform/g;
    $ft{'device_library'} += s/\bcurand_uniform2_double\b/hiprand_uniform2_double/g;
    $ft{'device_library'} += s/\bcurand_uniform4\b/hiprand_uniform4/g;
    $ft{'device_library'} += s/\bcurand_uniform4_double\b/hiprand_uniform4_double/g;
    $ft{'device_library'} += s/\bcurand_uniform_double\b/hiprand_uniform_double/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcaffe2\/core\/common_cudnn.h\b/caffe2\/core\/hip\/common_miopen.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcaffe2\/operators\/spatial_batch_norm_op.h\b/caffe2\/operators\/hip\/spatial_batch_norm_op_miopen.hip/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bchannel_descriptor.h\b/hip\/channel_descriptor.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcooperative_groups.h\b/hip\/hip_cooperative_groups.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcuda_fp16.h\b/hip\/hip_fp16.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcuda_profiler_api.h\b/hip\/hip_profile.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcuda_runtime_api.h\b/hip\/hip_runtime_api.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcuda_texture_types.h\b/hip\/hip_texture_types.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcufftXt.h\b/hipfftXt.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_discrete.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_discrete2.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_globals.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_kernel.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_lognormal.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_mrg32k3a.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_mtgp32.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_mtgp32_host.h\b/hiprand_mtgp32_host.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_mtgp32_kernel.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_mtgp32dc_p_11213.h\b/rocrand_mtgp32_11213.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_normal.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_normal_static.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_philox4x32_x.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_poisson.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_precalc.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand_uniform.h\b/hiprand_kernel.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bdevice_functions.h\b/hip\/device_functions.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bdriver_types.h\b/hip\/driver_types.h/g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\btexture_fetch_functions.h\b//g;
    $ft{'include'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bvector_types.h\b/hip\/hip_vector_types.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcuComplex.h\b/hip\/hip_complex.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcub\/cub.cuh\b/hipcub\/hipcub.hpp/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcublas.h\b/hipblas.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcublas_v2.h\b/hipblas.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcuda.h\b/hip\/hip_runtime.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcuda_runtime.h\b/hip\/hip_runtime.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcudnn.h\b/hipDNN.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcufft.h\b/hipfft.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcurand.h\b/hiprand.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcusparse.h\b/hipsparse.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bcusparse_v2.h\b/hipsparse.h/g;
    $ft{'include_cuda_main_header'} += s/(?<![\!~`@#\$%\^&\*\-+=\[\]\(\)\{\}\.\,\?'\>])\bnvrtc.h\b/hiprtc.h/g;
    $ft{'type'} += s/\bCUDAContext\b/HIPContext/g;
    $ft{'type'} += s/\bCUDA_ARRAY3D_DESCRIPTOR\b/HIP_ARRAY3D_DESCRIPTOR/g;
    $ft{'type'} += s/\bCUDA_ARRAY3D_DESCRIPTOR_st\b/HIP_ARRAY3D_DESCRIPTOR/g;
    $ft{'type'} += s/\bCUDA_ARRAY3D_DESCRIPTOR_v2\b/HIP_ARRAY3D_DESCRIPTOR/g;
    $ft{'type'} += s/\bCUDA_ARRAY_DESCRIPTOR\b/HIP_ARRAY_DESCRIPTOR/g;
    $ft{'type'} += s/\bCUDA_ARRAY_DESCRIPTOR_st\b/HIP_ARRAY_DESCRIPTOR/g;
    $ft{'type'} += s/\bCUDA_ARRAY_DESCRIPTOR_v1\b/HIP_ARRAY_DESCRIPTOR/g;
    $ft{'type'} += s/\bCUDA_ARRAY_DESCRIPTOR_v1_st\b/HIP_ARRAY_DESCRIPTOR/g;
    $ft{'type'} += s/\bCUDA_ARRAY_DESCRIPTOR_v2\b/HIP_ARRAY_DESCRIPTOR/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_MEMORY_BUFFER_DESC\b/hipExternalMemoryBufferDesc/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_MEMORY_BUFFER_DESC_st\b/hipExternalMemoryBufferDesc_st/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1\b/hipExternalMemoryBufferDesc/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_MEMORY_HANDLE_DESC\b/hipExternalMemoryHandleDesc/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_MEMORY_HANDLE_DESC_st\b/hipExternalMemoryHandleDesc_st/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1\b/hipExternalMemoryHandleDesc/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC\b/hipExternalSemaphoreHandleDesc/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st\b/hipExternalSemaphoreHandleDesc_st/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1\b/hipExternalSemaphoreHandleDesc/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\b/hipExternalSemaphoreSignalParams/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st\b/hipExternalSemaphoreSignalParams_st/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1\b/hipExternalSemaphoreSignalParams/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\b/hipExternalSemaphoreWaitParams/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st\b/hipExternalSemaphoreWaitParams_st/g;
    $ft{'type'} += s/\bCUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1\b/hipExternalSemaphoreWaitParams/g;
    $ft{'type'} += s/\bCUDA_HOST_NODE_PARAMS\b/hipHostNodeParams/g;
    $ft{'type'} += s/\bCUDA_HOST_NODE_PARAMS_st\b/hipHostNodeParams/g;
    $ft{'type'} += s/\bCUDA_HOST_NODE_PARAMS_v1\b/hipHostNodeParams/g;
    $ft{'type'} += s/\bCUDA_KERNEL_NODE_PARAMS\b/hipKernelNodeParams/g;
    $ft{'type'} += s/\bCUDA_KERNEL_NODE_PARAMS_st\b/hipKernelNodeParams/g;
    $ft{'type'} += s/\bCUDA_KERNEL_NODE_PARAMS_v1\b/hipKernelNodeParams/g;
    $ft{'type'} += s/\bCUDA_MEMCPY2D\b/hip_Memcpy2D/g;
    $ft{'type'} += s/\bCUDA_MEMCPY2D_st\b/hip_Memcpy2D/g;
    $ft{'type'} += s/\bCUDA_MEMCPY2D_v1\b/hip_Memcpy2D/g;
    $ft{'type'} += s/\bCUDA_MEMCPY2D_v1_st\b/hip_Memcpy2D/g;
    $ft{'type'} += s/\bCUDA_MEMCPY2D_v2\b/hip_Memcpy2D/g;
    $ft{'type'} += s/\bCUDA_MEMCPY3D\b/HIP_MEMCPY3D/g;
    $ft{'type'} += s/\bCUDA_MEMCPY3D_st\b/HIP_MEMCPY3D/g;
    $ft{'type'} += s/\bCUDA_MEMCPY3D_v1\b/HIP_MEMCPY3D/g;
    $ft{'type'} += s/\bCUDA_MEMCPY3D_v1_st\b/HIP_MEMCPY3D/g;
    $ft{'type'} += s/\bCUDA_MEMCPY3D_v2\b/HIP_MEMCPY3D/g;
    $ft{'type'} += s/\bCUDA_MEMSET_NODE_PARAMS\b/hipMemsetParams/g;
    $ft{'type'} += s/\bCUDA_MEMSET_NODE_PARAMS_st\b/hipMemsetParams/g;
    $ft{'type'} += s/\bCUDA_MEMSET_NODE_PARAMS_v1\b/hipMemsetParams/g;
    $ft{'type'} += s/\bCUDA_RESOURCE_DESC\b/HIP_RESOURCE_DESC/g;
    $ft{'type'} += s/\bCUDA_RESOURCE_DESC_st\b/HIP_RESOURCE_DESC_st/g;
    $ft{'type'} += s/\bCUDA_RESOURCE_DESC_v1\b/HIP_RESOURCE_DESC/g;
    $ft{'type'} += s/\bCUDA_RESOURCE_VIEW_DESC\b/HIP_RESOURCE_VIEW_DESC/g;
    $ft{'type'} += s/\bCUDA_RESOURCE_VIEW_DESC_st\b/HIP_RESOURCE_VIEW_DESC_st/g;
    $ft{'type'} += s/\bCUDA_RESOURCE_VIEW_DESC_v1\b/HIP_RESOURCE_VIEW_DESC/g;
    $ft{'type'} += s/\bCUDA_TEXTURE_DESC\b/HIP_TEXTURE_DESC/g;
    $ft{'type'} += s/\bCUDA_TEXTURE_DESC_st\b/HIP_TEXTURE_DESC_st/g;
    $ft{'type'} += s/\bCUDA_TEXTURE_DESC_v1\b/HIP_TEXTURE_DESC/g;
    $ft{'type'} += s/\bCUGLDeviceList\b/hipGLDeviceList/g;
    $ft{'type'} += s/\bCUGLDeviceList_enum\b/hipGLDeviceList/g;
    $ft{'type'} += s/\bCUaddress_mode\b/HIPaddress_mode/g;
    $ft{'type'} += s/\bCUaddress_mode_enum\b/HIPaddress_mode_enum/g;
    $ft{'type'} += s/\bCUarray\b/hipArray_t/g;
    $ft{'type'} += s/\bCUarray_format\b/hipArray_Format/g;
    $ft{'type'} += s/\bCUarray_format_enum\b/hipArray_Format/g;
    $ft{'type'} += s/\bCUarray_st\b/hipArray/g;
    $ft{'type'} += s/\bCUcomputemode\b/hipComputeMode/g;
    $ft{'type'} += s/\bCUcomputemode_enum\b/hipComputeMode/g;
    $ft{'type'} += s/\bCUcontext\b/hipCtx_t/g;
    $ft{'type'} += s/\bCUctx_st\b/ihipCtx_t/g;
    $ft{'type'} += s/\bCUdevice\b/hipDevice_t/g;
    $ft{'type'} += s/\bCUdevice_P2PAttribute\b/hipDeviceP2PAttr/g;
    $ft{'type'} += s/\bCUdevice_P2PAttribute_enum\b/hipDeviceP2PAttr/g;
    $ft{'type'} += s/\bCUdevice_attribute\b/hipDeviceAttribute_t/g;
    $ft{'type'} += s/\bCUdevice_attribute_enum\b/hipDeviceAttribute_t/g;
    $ft{'type'} += s/\bCUdevice_v1\b/hipDevice_t/g;
    $ft{'type'} += s/\bCUdeviceptr\b/hipDeviceptr_t/g;
    $ft{'type'} += s/\bCUdeviceptr_v1\b/hipDeviceptr_t/g;
    $ft{'type'} += s/\bCUdeviceptr_v2\b/hipDeviceptr_t/g;
    $ft{'type'} += s/\bCUevent\b/hipEvent_t/g;
    $ft{'type'} += s/\bCUevent_st\b/ihipEvent_t/g;
    $ft{'type'} += s/\bCUexternalMemory\b/hipExternalMemory_t/g;
    $ft{'type'} += s/\bCUexternalMemoryHandleType\b/hipExternalMemoryHandleType/g;
    $ft{'type'} += s/\bCUexternalMemoryHandleType_enum\b/hipExternalMemoryHandleType_enum/g;
    $ft{'type'} += s/\bCUexternalSemaphore\b/hipExternalSemaphore_t/g;
    $ft{'type'} += s/\bCUexternalSemaphoreHandleType\b/hipExternalSemaphoreHandleType/g;
    $ft{'type'} += s/\bCUexternalSemaphoreHandleType_enum\b/hipExternalSemaphoreHandleType_enum/g;
    $ft{'type'} += s/\bCUfilter_mode\b/HIPfilter_mode/g;
    $ft{'type'} += s/\bCUfilter_mode_enum\b/HIPfilter_mode_enum/g;
    $ft{'type'} += s/\bCUfunc_cache\b/hipFuncCache_t/g;
    $ft{'type'} += s/\bCUfunc_cache_enum\b/hipFuncCache_t/g;
    $ft{'type'} += s/\bCUfunc_st\b/ihipModuleSymbol_t/g;
    $ft{'type'} += s/\bCUfunction\b/hipFunction_t/g;
    $ft{'type'} += s/\bCUfunction_attribute\b/hipFunction_attribute/g;
    $ft{'type'} += s/\bCUfunction_attribute_enum\b/hipFunction_attribute/g;
    $ft{'type'} += s/\bCUgraph\b/hipGraph_t/g;
    $ft{'type'} += s/\bCUgraphExec\b/hipGraphExec_t/g;
    $ft{'type'} += s/\bCUgraphExecUpdateResult\b/hipGraphExecUpdateResult/g;
    $ft{'type'} += s/\bCUgraphExecUpdateResult_enum\b/hipGraphExecUpdateResult/g;
    $ft{'type'} += s/\bCUgraphExec_st\b/hipGraphExec/g;
    $ft{'type'} += s/\bCUgraphNode\b/hipGraphNode_t/g;
    $ft{'type'} += s/\bCUgraphNodeType\b/hipGraphNodeType/g;
    $ft{'type'} += s/\bCUgraphNodeType_enum\b/hipGraphNodeType/g;
    $ft{'type'} += s/\bCUgraphNode_st\b/hipGraphNode/g;
    $ft{'type'} += s/\bCUgraph_st\b/ihipGraph/g;
    $ft{'type'} += s/\bCUgraphicsRegisterFlags\b/hipGraphicsRegisterFlags/g;
    $ft{'type'} += s/\bCUgraphicsRegisterFlags_enum\b/hipGraphicsRegisterFlags/g;
    $ft{'type'} += s/\bCUgraphicsResource\b/hipGraphicsResource_t/g;
    $ft{'type'} += s/\bCUgraphicsResource_st\b/hipGraphicsResource/g;
    $ft{'type'} += s/\bCUhostFn\b/hipHostFn_t/g;
    $ft{'type'} += s/\bCUipcEventHandle\b/hipIpcEventHandle_t/g;
    $ft{'type'} += s/\bCUipcEventHandle_st\b/hipIpcEventHandle_st/g;
    $ft{'type'} += s/\bCUipcEventHandle_v1\b/hipIpcEventHandle_t/g;
    $ft{'type'} += s/\bCUipcMemHandle\b/hipIpcMemHandle_t/g;
    $ft{'type'} += s/\bCUipcMemHandle_st\b/hipIpcMemHandle_st/g;
    $ft{'type'} += s/\bCUipcMemHandle_v1\b/hipIpcMemHandle_t/g;
    $ft{'type'} += s/\bCUjit_option\b/hipJitOption/g;
    $ft{'type'} += s/\bCUjit_option_enum\b/hipJitOption/g;
    $ft{'type'} += s/\bCUlimit\b/hipLimit_t/g;
    $ft{'type'} += s/\bCUlimit_enum\b/hipLimit_t/g;
    $ft{'type'} += s/\bCUmem_advise\b/hipMemoryAdvise/g;
    $ft{'type'} += s/\bCUmem_advise_enum\b/hipMemoryAdvise/g;
    $ft{'type'} += s/\bCUmem_range_attribute\b/hipMemRangeAttribute/g;
    $ft{'type'} += s/\bCUmem_range_attribute_enum\b/hipMemRangeAttribute/g;
    $ft{'type'} += s/\bCUmemorytype\b/hipMemoryType/g;
    $ft{'type'} += s/\bCUmemorytype_enum\b/hipMemoryType/g;
    $ft{'type'} += s/\bCUmipmappedArray\b/hipMipmappedArray_t/g;
    $ft{'type'} += s/\bCUmipmappedArray_st\b/hipMipmappedArray/g;
    $ft{'type'} += s/\bCUmod_st\b/ihipModule_t/g;
    $ft{'type'} += s/\bCUmodule\b/hipModule_t/g;
    $ft{'type'} += s/\bCUoccupancyB2DSize\b/void*/g;
    $ft{'type'} += s/\bCUpointer_attribute\b/hipPointer_attribute/g;
    $ft{'type'} += s/\bCUpointer_attribute_enum\b/hipPointer_attribute/g;
    $ft{'type'} += s/\bCUresourceViewFormat\b/HIPresourceViewFormat/g;
    $ft{'type'} += s/\bCUresourceViewFormat_enum\b/HIPresourceViewFormat_enum/g;
    $ft{'type'} += s/\bCUresourcetype\b/HIPresourcetype/g;
    $ft{'type'} += s/\bCUresourcetype_enum\b/HIPresourcetype_enum/g;
    $ft{'type'} += s/\bCUresult\b/hipError_t/g;
    $ft{'type'} += s/\bCUsharedconfig\b/hipSharedMemConfig/g;
    $ft{'type'} += s/\bCUsharedconfig_enum\b/hipSharedMemConfig/g;
    $ft{'type'} += s/\bCUstream\b/hipStream_t/g;
    $ft{'type'} += s/\bCUstreamCallback\b/hipStreamCallback_t/g;
    $ft{'type'} += s/\bCUstreamCaptureMode\b/hipStreamCaptureMode/g;
    $ft{'type'} += s/\bCUstreamCaptureMode_enum\b/hipStreamCaptureMode/g;
    $ft{'type'} += s/\bCUstreamCaptureStatus\b/hipStreamCaptureStatus/g;
    $ft{'type'} += s/\bCUstreamCaptureStatus_enum\b/hipStreamCaptureStatus/g;
    $ft{'type'} += s/\bCUstreamUpdateCaptureDependencies_flags\b/hipStreamUpdateCaptureDependenciesFlags/g;
    $ft{'type'} += s/\bCUstreamUpdateCaptureDependencies_flags_enum\b/hipStreamUpdateCaptureDependenciesFlags/g;
    $ft{'type'} += s/\bCUstream_st\b/ihipStream_t/g;
    $ft{'type'} += s/\bCUsurfObject\b/hipSurfaceObject_t/g;
    $ft{'type'} += s/\bCUsurfObject_v1\b/hipSurfaceObject_t/g;
    $ft{'type'} += s/\bCUtexObject\b/hipTextureObject_t/g;
    $ft{'type'} += s/\bCUtexObject_v1\b/hipTextureObject_t/g;
    $ft{'type'} += s/\bCUtexref\b/hipTexRef/g;
    $ft{'type'} += s/\bCUtexref_st\b/textureReference/g;
    $ft{'type'} += s/\bbsric02Info_t\b/bsric02Info_t/g;
    $ft{'type'} += s/\bbsrilu02Info_t\b/bsrilu02Info_t/g;
    $ft{'type'} += s/\bbsrsm2Info\b/bsrsm2Info/g;
    $ft{'type'} += s/\bbsrsm2Info_t\b/bsrsm2Info_t/g;
    $ft{'type'} += s/\bbsrsv2Info_t\b/bsrsv2Info_t/g;
    $ft{'type'} += s/\bcsrgemm2Info_t\b/csrgemm2Info_t/g;
    $ft{'type'} += s/\bcsrilu02Info_t\b/csrilu02Info_t/g;
    $ft{'type'} += s/\bcsrsm2Info_t\b/csrsm2Info_t/g;
    $ft{'type'} += s/\bcsrsv2Info_t\b/csrsv2Info_t/g;
    $ft{'type'} += s/\bcsru2csrInfo\b/csru2csrInfo/g;
    $ft{'type'} += s/\bcsru2csrInfo_t\b/csru2csrInfo_t/g;
    $ft{'type'} += s/\bcuComplex\b/hipComplex/g;
    $ft{'type'} += s/\bcuDoubleComplex\b/hipDoubleComplex/g;
    $ft{'type'} += s/\bcuFloatComplex\b/hipFloatComplex/g;
    $ft{'type'} += s/\bcublasAtomicsMode_t\b/hipblasAtomicsMode_t/g;
    $ft{'type'} += s/\bcublasDataType_t\b/hipblasDatatype_t/g;
    $ft{'type'} += s/\bcublasDiagType_t\b/hipblasDiagType_t/g;
    $ft{'type'} += s/\bcublasFillMode_t\b/hipblasFillMode_t/g;
    $ft{'type'} += s/\bcublasGemmAlgo_t\b/hipblasGemmAlgo_t/g;
    $ft{'type'} += s/\bcublasHandle_t\b/hipblasHandle_t/g;
    $ft{'type'} += s/\bcublasOperation_t\b/hipblasOperation_t/g;
    $ft{'type'} += s/\bcublasPointerMode_t\b/hipblasPointerMode_t/g;
    $ft{'type'} += s/\bcublasSideMode_t\b/hipblasSideMode_t/g;
    $ft{'type'} += s/\bcublasStatus\b/hipblasStatus_t/g;
    $ft{'type'} += s/\bcublasStatus_t\b/hipblasStatus_t/g;
    $ft{'type'} += s/\bcudaArray\b/hipArray/g;
    $ft{'type'} += s/\bcudaArray_const_t\b/hipArray_const_t/g;
    $ft{'type'} += s/\bcudaArray_t\b/hipArray_t/g;
    $ft{'type'} += s/\bcudaChannelFormatDesc\b/hipChannelFormatDesc/g;
    $ft{'type'} += s/\bcudaChannelFormatKind\b/hipChannelFormatKind/g;
    $ft{'type'} += s/\bcudaComputeMode\b/hipComputeMode/g;
    $ft{'type'} += s/\bcudaDataType\b/hipblasDatatype_t/g;
    $ft{'type'} += s/\bcudaDataType_t\b/hipblasDatatype_t/g;
    $ft{'type'} += s/\bcudaDeviceAttr\b/hipDeviceAttribute_t/g;
    $ft{'type'} += s/\bcudaDeviceP2PAttr\b/hipDeviceP2PAttr/g;
    $ft{'type'} += s/\bcudaDeviceProp\b/hipDeviceProp_t/g;
    $ft{'type'} += s/\bcudaError\b/hipError_t/g;
    $ft{'type'} += s/\bcudaError_enum\b/hipError_t/g;
    $ft{'type'} += s/\bcudaError_t\b/hipError_t/g;
    $ft{'type'} += s/\bcudaEvent_t\b/hipEvent_t/g;
    $ft{'type'} += s/\bcudaExtent\b/hipExtent/g;
    $ft{'type'} += s/\bcudaExternalMemoryBufferDesc\b/hipExternalMemoryBufferDesc/g;
    $ft{'type'} += s/\bcudaExternalMemoryHandleDesc\b/hipExternalMemoryHandleDesc/g;
    $ft{'type'} += s/\bcudaExternalMemoryHandleType\b/hipExternalMemoryHandleType/g;
    $ft{'type'} += s/\bcudaExternalMemory_t\b/hipExternalMemory_t/g;
    $ft{'type'} += s/\bcudaExternalSemaphoreHandleDesc\b/hipExternalSemaphoreHandleDesc/g;
    $ft{'type'} += s/\bcudaExternalSemaphoreHandleType\b/hipExternalSemaphoreHandleType/g;
    $ft{'type'} += s/\bcudaExternalSemaphoreSignalParams\b/hipExternalSemaphoreSignalParams/g;
    $ft{'type'} += s/\bcudaExternalSemaphoreSignalParams_v1\b/hipExternalSemaphoreSignalParams/g;
    $ft{'type'} += s/\bcudaExternalSemaphoreWaitParams\b/hipExternalSemaphoreWaitParams/g;
    $ft{'type'} += s/\bcudaExternalSemaphoreWaitParams_v1\b/hipExternalSemaphoreWaitParams/g;
    $ft{'type'} += s/\bcudaExternalSemaphore_t\b/hipExternalSemaphore_t/g;
    $ft{'type'} += s/\bcudaFuncAttribute\b/hipFuncAttribute/g;
    $ft{'type'} += s/\bcudaFuncAttributes\b/hipFuncAttributes/g;
    $ft{'type'} += s/\bcudaFuncCache\b/hipFuncCache_t/g;
    $ft{'type'} += s/\bcudaFunction_t\b/hipFunction_t/g;
    $ft{'type'} += s/\bcudaGLDeviceList\b/hipGLDeviceList/g;
    $ft{'type'} += s/\bcudaGraphExecUpdateResult\b/hipGraphExecUpdateResult/g;
    $ft{'type'} += s/\bcudaGraphExec_t\b/hipGraphExec_t/g;
    $ft{'type'} += s/\bcudaGraphNodeType\b/hipGraphNodeType/g;
    $ft{'type'} += s/\bcudaGraphNode_t\b/hipGraphNode_t/g;
    $ft{'type'} += s/\bcudaGraph_t\b/hipGraph_t/g;
    $ft{'type'} += s/\bcudaGraphicsRegisterFlags\b/hipGraphicsRegisterFlags/g;
    $ft{'type'} += s/\bcudaGraphicsResource\b/hipGraphicsResource/g;
    $ft{'type'} += s/\bcudaGraphicsResource_t\b/hipGraphicsResource_t/g;
    $ft{'type'} += s/\bcudaHostFn_t\b/hipHostFn_t/g;
    $ft{'type'} += s/\bcudaHostNodeParams\b/hipHostNodeParams/g;
    $ft{'type'} += s/\bcudaIpcEventHandle_st\b/hipIpcEventHandle_st/g;
    $ft{'type'} += s/\bcudaIpcEventHandle_t\b/hipIpcEventHandle_t/g;
    $ft{'type'} += s/\bcudaIpcMemHandle_st\b/hipIpcMemHandle_st/g;
    $ft{'type'} += s/\bcudaIpcMemHandle_t\b/hipIpcMemHandle_t/g;
    $ft{'type'} += s/\bcudaKernelNodeParams\b/hipKernelNodeParams/g;
    $ft{'type'} += s/\bcudaLaunchParams\b/hipLaunchParams/g;
    $ft{'type'} += s/\bcudaLimit\b/hipLimit_t/g;
    $ft{'type'} += s/\bcudaMemRangeAttribute\b/hipMemRangeAttribute/g;
    $ft{'type'} += s/\bcudaMemcpy3DParms\b/hipMemcpy3DParms/g;
    $ft{'type'} += s/\bcudaMemcpyKind\b/hipMemcpyKind/g;
    $ft{'type'} += s/\bcudaMemoryAdvise\b/hipMemoryAdvise/g;
    $ft{'type'} += s/\bcudaMemoryType\b/hipMemoryType/g;
    $ft{'type'} += s/\bcudaMemsetParams\b/hipMemsetParams/g;
    $ft{'type'} += s/\bcudaMipmappedArray\b/hipMipmappedArray/g;
    $ft{'type'} += s/\bcudaMipmappedArray_const_t\b/hipMipmappedArray_const_t/g;
    $ft{'type'} += s/\bcudaMipmappedArray_t\b/hipMipmappedArray_t/g;
    $ft{'type'} += s/\bcudaPitchedPtr\b/hipPitchedPtr/g;
    $ft{'type'} += s/\bcudaPointerAttributes\b/hipPointerAttribute_t/g;
    $ft{'type'} += s/\bcudaPos\b/hipPos/g;
    $ft{'type'} += s/\bcudaResourceDesc\b/hipResourceDesc/g;
    $ft{'type'} += s/\bcudaResourceType\b/hipResourceType/g;
    $ft{'type'} += s/\bcudaResourceViewDesc\b/hipResourceViewDesc/g;
    $ft{'type'} += s/\bcudaResourceViewFormat\b/hipResourceViewFormat/g;
    $ft{'type'} += s/\bcudaSharedMemConfig\b/hipSharedMemConfig/g;
    $ft{'type'} += s/\bcudaStreamCallback_t\b/hipStreamCallback_t/g;
    $ft{'type'} += s/\bcudaStreamCaptureMode\b/hipStreamCaptureMode/g;
    $ft{'type'} += s/\bcudaStreamCaptureStatus\b/hipStreamCaptureStatus/g;
    $ft{'type'} += s/\bcudaStreamUpdateCaptureDependenciesFlags\b/hipStreamUpdateCaptureDependenciesFlags/g;
    $ft{'type'} += s/\bcudaStream_t\b/hipStream_t/g;
    $ft{'type'} += s/\bcudaSurfaceBoundaryMode\b/hipSurfaceBoundaryMode/g;
    $ft{'type'} += s/\bcudaSurfaceObject_t\b/hipSurfaceObject_t/g;
    $ft{'type'} += s/\bcudaTextureAddressMode\b/hipTextureAddressMode/g;
    $ft{'type'} += s/\bcudaTextureDesc\b/hipTextureDesc/g;
    $ft{'type'} += s/\bcudaTextureFilterMode\b/hipTextureFilterMode/g;
    $ft{'type'} += s/\bcudaTextureObject_t\b/hipTextureObject_t/g;
    $ft{'type'} += s/\bcudaTextureReadMode\b/hipTextureReadMode/g;
    $ft{'type'} += s/\bcudnnActivationDescriptor_t\b/hipdnnActivationDescriptor_t/g;
    $ft{'type'} += s/\bcudnnActivationMode_t\b/hipdnnActivationMode_t/g;
    $ft{'type'} += s/\bcudnnBatchNormMode_t\b/hipdnnBatchNormMode_t/g;
    $ft{'type'} += s/\bcudnnConvolutionBwdDataAlgoPerfStruct\b/hipdnnConvolutionBwdDataAlgoPerf_t/g;
    $ft{'type'} += s/\bcudnnConvolutionBwdDataAlgoPerf_t\b/hipdnnConvolutionBwdDataAlgoPerf_t/g;
    $ft{'type'} += s/\bcudnnConvolutionBwdDataAlgo_t\b/hipdnnConvolutionBwdDataAlgo_t/g;
    $ft{'type'} += s/\bcudnnConvolutionBwdDataPreference_t\b/hipdnnConvolutionBwdDataPreference_t/g;
    $ft{'type'} += s/\bcudnnConvolutionBwdFilterAlgoPerfStruct\b/hipdnnConvolutionBwdFilterAlgoPerf_t/g;
    $ft{'type'} += s/\bcudnnConvolutionBwdFilterAlgoPerf_t\b/hipdnnConvolutionBwdFilterAlgoPerf_t/g;
    $ft{'type'} += s/\bcudnnConvolutionBwdFilterAlgo_t\b/hipdnnConvolutionBwdFilterAlgo_t/g;
    $ft{'type'} += s/\bcudnnConvolutionBwdFilterPreference_t\b/hipdnnConvolutionBwdFilterPreference_t/g;
    $ft{'type'} += s/\bcudnnConvolutionDescriptor_t\b/hipdnnConvolutionDescriptor_t/g;
    $ft{'type'} += s/\bcudnnConvolutionFwdAlgoPerfStruct\b/hipdnnConvolutionFwdAlgoPerf_t/g;
    $ft{'type'} += s/\bcudnnConvolutionFwdAlgoPerf_t\b/hipdnnConvolutionFwdAlgoPerf_t/g;
    $ft{'type'} += s/\bcudnnConvolutionFwdAlgo_t\b/hipdnnConvolutionFwdAlgo_t/g;
    $ft{'type'} += s/\bcudnnConvolutionFwdPreference_t\b/hipdnnConvolutionFwdPreference_t/g;
    $ft{'type'} += s/\bcudnnConvolutionMode_t\b/hipdnnConvolutionMode_t/g;
    $ft{'type'} += s/\bcudnnDataType_t\b/hipdnnDataType_t/g;
    $ft{'type'} += s/\bcudnnDirectionMode_t\b/hipdnnDirectionMode_t/g;
    $ft{'type'} += s/\bcudnnDropoutDescriptor_t\b/hipdnnDropoutDescriptor_t/g;
    $ft{'type'} += s/\bcudnnFilterDescriptor_t\b/hipdnnFilterDescriptor_t/g;
    $ft{'type'} += s/\bcudnnHandle_t\b/hipdnnHandle_t/g;
    $ft{'type'} += s/\bcudnnIndicesType_t\b/hipdnnIndicesType_t/g;
    $ft{'type'} += s/\bcudnnLRNDescriptor_t\b/hipdnnLRNDescriptor_t/g;
    $ft{'type'} += s/\bcudnnLRNMode_t\b/hipdnnLRNMode_t/g;
    $ft{'type'} += s/\bcudnnMathType_t\b/hipdnnMathType_t/g;
    $ft{'type'} += s/\bcudnnNanPropagation_t\b/hipdnnNanPropagation_t/g;
    $ft{'type'} += s/\bcudnnOpTensorDescriptor_t\b/hipdnnOpTensorDescriptor_t/g;
    $ft{'type'} += s/\bcudnnOpTensorOp_t\b/hipdnnOpTensorOp_t/g;
    $ft{'type'} += s/\bcudnnPersistentRNNPlan_t\b/hipdnnPersistentRNNPlan_t/g;
    $ft{'type'} += s/\bcudnnPoolingDescriptor_t\b/hipdnnPoolingDescriptor_t/g;
    $ft{'type'} += s/\bcudnnPoolingMode_t\b/hipdnnPoolingMode_t/g;
    $ft{'type'} += s/\bcudnnRNNAlgo_t\b/hipdnnRNNAlgo_t/g;
    $ft{'type'} += s/\bcudnnRNNBiasMode_t\b/hipdnnRNNBiasMode_t/g;
    $ft{'type'} += s/\bcudnnRNNDescriptor_t\b/hipdnnRNNDescriptor_t/g;
    $ft{'type'} += s/\bcudnnRNNInputMode_t\b/hipdnnRNNInputMode_t/g;
    $ft{'type'} += s/\bcudnnRNNMode_t\b/hipdnnRNNMode_t/g;
    $ft{'type'} += s/\bcudnnReduceTensorDescriptor_t\b/hipdnnReduceTensorDescriptor_t/g;
    $ft{'type'} += s/\bcudnnReduceTensorIndices_t\b/hipdnnReduceTensorIndices_t/g;
    $ft{'type'} += s/\bcudnnReduceTensorOp_t\b/hipdnnReduceTensorOp_t/g;
    $ft{'type'} += s/\bcudnnSoftmaxAlgorithm_t\b/hipdnnSoftmaxAlgorithm_t/g;
    $ft{'type'} += s/\bcudnnSoftmaxMode_t\b/hipdnnSoftmaxMode_t/g;
    $ft{'type'} += s/\bcudnnStatus_t\b/hipdnnStatus_t/g;
    $ft{'type'} += s/\bcudnnTensorDescriptor_t\b/hipdnnTensorDescriptor_t/g;
    $ft{'type'} += s/\bcudnnTensorFormat_t\b/hipdnnTensorFormat_t/g;
    $ft{'type'} += s/\bcufftComplex\b/hipfftComplex/g;
    $ft{'type'} += s/\bcufftDoubleComplex\b/hipfftDoubleComplex/g;
    $ft{'type'} += s/\bcufftDoubleReal\b/hipfftDoubleReal/g;
    $ft{'type'} += s/\bcufftHandle\b/hipfftHandle/g;
    $ft{'type'} += s/\bcufftReal\b/hipfftReal/g;
    $ft{'type'} += s/\bcufftResult\b/hipfftResult/g;
    $ft{'type'} += s/\bcufftResult_t\b/hipfftResult_t/g;
    $ft{'type'} += s/\bcufftType\b/hipfftType/g;
    $ft{'type'} += s/\bcufftType_t\b/hipfftType_t/g;
    $ft{'type'} += s/\bcufftXtCallbackType\b/hipfftXtCallbackType/g;
    $ft{'type'} += s/\bcufftXtCallbackType_t\b/hipfftXtCallbackType_t/g;
    $ft{'type'} += s/\bcurandDirectionVectors32_t\b/hiprandDirectionVectors32_t/g;
    $ft{'type'} += s/\bcurandDiscreteDistribution_st\b/hiprandDiscreteDistribution_st/g;
    $ft{'type'} += s/\bcurandDiscreteDistribution_t\b/hiprandDiscreteDistribution_t/g;
    $ft{'type'} += s/\bcurandGenerator_st\b/hiprandGenerator_st/g;
    $ft{'type'} += s/\bcurandGenerator_t\b/hiprandGenerator_t/g;
    $ft{'type'} += s/\bcurandRngType\b/hiprandRngType_t/g;
    $ft{'type'} += s/\bcurandRngType_t\b/hiprandRngType_t/g;
    $ft{'type'} += s/\bcurandState\b/hiprandState/g;
    $ft{'type'} += s/\bcurandStateMRG32k3a\b/hiprandStateMRG32k3a/g;
    $ft{'type'} += s/\bcurandStateMRG32k3a_t\b/hiprandStateMRG32k3a_t/g;
    $ft{'type'} += s/\bcurandStateMtgp32\b/hiprandStateMtgp32/g;
    $ft{'type'} += s/\bcurandStateMtgp32_t\b/hiprandStateMtgp32_t/g;
    $ft{'type'} += s/\bcurandStatePhilox4_32_10\b/hiprandStatePhilox4_32_10/g;
    $ft{'type'} += s/\bcurandStatePhilox4_32_10_t\b/hiprandStatePhilox4_32_10_t/g;
    $ft{'type'} += s/\bcurandStateSobol32\b/hiprandStateSobol32/g;
    $ft{'type'} += s/\bcurandStateSobol32_t\b/hiprandStateSobol32_t/g;
    $ft{'type'} += s/\bcurandStateXORWOW\b/hiprandStateXORWOW/g;
    $ft{'type'} += s/\bcurandStateXORWOW_t\b/hiprandStateXORWOW_t/g;
    $ft{'type'} += s/\bcurandState_t\b/hiprandState_t/g;
    $ft{'type'} += s/\bcurandStatus\b/hiprandStatus_t/g;
    $ft{'type'} += s/\bcurandStatus_t\b/hiprandStatus_t/g;
    $ft{'type'} += s/\bcusparseAction_t\b/hipsparseAction_t/g;
    $ft{'type'} += s/\bcusparseColorInfo_t\b/hipsparseColorInfo_t/g;
    $ft{'type'} += s/\bcusparseDiagType_t\b/hipsparseDiagType_t/g;
    $ft{'type'} += s/\bcusparseDirection_t\b/hipsparseDirection_t/g;
    $ft{'type'} += s/\bcusparseDnMatDescr\b/hipsparseDnMatDescr/g;
    $ft{'type'} += s/\bcusparseDnMatDescr_t\b/hipsparseDnMatDescr_t/g;
    $ft{'type'} += s/\bcusparseDnVecDescr_t\b/hipsparseDnVecDescr_t/g;
    $ft{'type'} += s/\bcusparseFillMode_t\b/hipsparseFillMode_t/g;
    $ft{'type'} += s/\bcusparseFormat_t\b/hipsparseFormat_t/g;
    $ft{'type'} += s/\bcusparseHandle_t\b/hipsparseHandle_t/g;
    $ft{'type'} += s/\bcusparseHybMat_t\b/hipsparseHybMat_t/g;
    $ft{'type'} += s/\bcusparseHybPartition_t\b/hipsparseHybPartition_t/g;
    $ft{'type'} += s/\bcusparseIndexBase_t\b/hipsparseIndexBase_t/g;
    $ft{'type'} += s/\bcusparseIndexType_t\b/hipsparseIndexType_t/g;
    $ft{'type'} += s/\bcusparseMatDescr_t\b/hipsparseMatDescr_t/g;
    $ft{'type'} += s/\bcusparseMatrixType_t\b/hipsparseMatrixType_t/g;
    $ft{'type'} += s/\bcusparseOperation_t\b/hipsparseOperation_t/g;
    $ft{'type'} += s/\bcusparseOrder_t\b/hipsparseOrder_t/g;
    $ft{'type'} += s/\bcusparsePointerMode_t\b/hipsparsePointerMode_t/g;
    $ft{'type'} += s/\bcusparseSDDMMAlg_t\b/hipsparseSDDMMAlg_t/g;
    $ft{'type'} += s/\bcusparseSolvePolicy_t\b/hipsparseSolvePolicy_t/g;
    $ft{'type'} += s/\bcusparseSpGEMMAlg_t\b/hipsparseSpGEMMAlg_t/g;
    $ft{'type'} += s/\bcusparseSpGEMMDescr\b/hipsparseSpGEMMDescr/g;
    $ft{'type'} += s/\bcusparseSpGEMMDescr_t\b/hipsparseSpGEMMDescr_t/g;
    $ft{'type'} += s/\bcusparseSpMMAlg_t\b/hipsparseSpMMAlg_t/g;
    $ft{'type'} += s/\bcusparseSpMVAlg_t\b/hipsparseSpMVAlg_t/g;
    $ft{'type'} += s/\bcusparseSpMatAttribute_t\b/hipsparseSpMatAttribute_t/g;
    $ft{'type'} += s/\bcusparseSpMatDescr_t\b/hipsparseSpMatDescr_t/g;
    $ft{'type'} += s/\bcusparseSpSMAlg_t\b/hipsparseSpSMAlg_t/g;
    $ft{'type'} += s/\bcusparseSpSMDescr\b/hipsparseSpSMDescr/g;
    $ft{'type'} += s/\bcusparseSpSMDescr_t\b/hipsparseSpSMDescr_t/g;
    $ft{'type'} += s/\bcusparseSpSVAlg_t\b/hipsparseSpSVAlg_t/g;
    $ft{'type'} += s/\bcusparseSpSVDescr\b/hipsparseSpSVDescr/g;
    $ft{'type'} += s/\bcusparseSpSVDescr_t\b/hipsparseSpSVDescr_t/g;
    $ft{'type'} += s/\bcusparseSpVecDescr_t\b/hipsparseSpVecDescr_t/g;
    $ft{'type'} += s/\bcusparseSparseToDenseAlg_t\b/hipsparseSparseToDenseAlg_t/g;
    $ft{'type'} += s/\bcusparseStatus_t\b/hipsparseStatus_t/g;
    $ft{'type'} += s/\bnvrtcProgram\b/hiprtcProgram/g;
    $ft{'type'} += s/\bnvrtcResult\b/hiprtcResult/g;
    $ft{'type'} += s/\bpruneInfo_t\b/pruneInfo_t/g;
    $ft{'type'} += s/\bsurfaceReference\b/surfaceReference/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_ATOMICS_ALLOWED\b/HIPBLAS_ATOMICS_ALLOWED/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_ATOMICS_NOT_ALLOWED\b/HIPBLAS_ATOMICS_NOT_ALLOWED/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_DIAG_NON_UNIT\b/HIPBLAS_DIAG_NON_UNIT/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_DIAG_UNIT\b/HIPBLAS_DIAG_UNIT/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_FILL_MODE_FULL\b/HIPBLAS_FILL_MODE_FULL/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_FILL_MODE_LOWER\b/HIPBLAS_FILL_MODE_LOWER/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_FILL_MODE_UPPER\b/HIPBLAS_FILL_MODE_UPPER/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_GEMM_DEFAULT\b/HIPBLAS_GEMM_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_GEMM_DFALT\b/HIPBLAS_GEMM_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_OP_C\b/HIPBLAS_OP_C/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_OP_HERMITAN\b/HIPBLAS_OP_C/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_OP_N\b/HIPBLAS_OP_N/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_OP_T\b/HIPBLAS_OP_T/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_POINTER_MODE_DEVICE\b/HIPBLAS_POINTER_MODE_DEVICE/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_POINTER_MODE_HOST\b/HIPBLAS_POINTER_MODE_HOST/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_SIDE_LEFT\b/HIPBLAS_SIDE_LEFT/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_SIDE_RIGHT\b/HIPBLAS_SIDE_RIGHT/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_ALLOC_FAILED\b/HIPBLAS_STATUS_ALLOC_FAILED/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_ARCH_MISMATCH\b/HIPBLAS_STATUS_ARCH_MISMATCH/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_EXECUTION_FAILED\b/HIPBLAS_STATUS_EXECUTION_FAILED/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_INTERNAL_ERROR\b/HIPBLAS_STATUS_INTERNAL_ERROR/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_INVALID_VALUE\b/HIPBLAS_STATUS_INVALID_VALUE/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_LICENSE_ERROR\b/HIPBLAS_STATUS_UNKNOWN/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_MAPPING_ERROR\b/HIPBLAS_STATUS_MAPPING_ERROR/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_NOT_INITIALIZED\b/HIPBLAS_STATUS_NOT_INITIALIZED/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_NOT_SUPPORTED\b/HIPBLAS_STATUS_NOT_SUPPORTED/g;
    $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_SUCCESS\b/HIPBLAS_STATUS_SUCCESS/g;
    $ft{'numeric_literal'} += s/\bCUDA_C_16BF\b/HIPBLAS_C_16B/g;
    $ft{'numeric_literal'} += s/\bCUDA_C_16F\b/HIPBLAS_C_16F/g;
    $ft{'numeric_literal'} += s/\bCUDA_C_32F\b/HIPBLAS_C_32F/g;
    $ft{'numeric_literal'} += s/\bCUDA_C_32I\b/HIPBLAS_C_32I/g;
    $ft{'numeric_literal'} += s/\bCUDA_C_32U\b/HIPBLAS_C_32U/g;
    $ft{'numeric_literal'} += s/\bCUDA_C_64F\b/HIPBLAS_C_64F/g;
    $ft{'numeric_literal'} += s/\bCUDA_C_8I\b/HIPBLAS_C_8I/g;
    $ft{'numeric_literal'} += s/\bCUDA_C_8U\b/HIPBLAS_C_8U/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_ALREADY_ACQUIRED\b/hipErrorAlreadyAcquired/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_ALREADY_MAPPED\b/hipErrorAlreadyMapped/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_ARRAY_IS_MAPPED\b/hipErrorArrayIsMapped/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_ASSERT\b/hipErrorAssert/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_CAPTURED_EVENT\b/hipErrorCapturedEvent/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_CONTEXT_ALREADY_CURRENT\b/hipErrorContextAlreadyCurrent/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_CONTEXT_ALREADY_IN_USE\b/hipErrorContextAlreadyInUse/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_CONTEXT_IS_DESTROYED\b/hipErrorContextIsDestroyed/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE\b/hipErrorCooperativeLaunchTooLarge/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_DEINITIALIZED\b/hipErrorDeinitialized/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_ECC_UNCORRECTABLE\b/hipErrorECCNotCorrectable/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_FILE_NOT_FOUND\b/hipErrorFileNotFound/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE\b/hipErrorGraphExecUpdateFailure/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED\b/hipErrorHostMemoryAlreadyRegistered/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_HOST_MEMORY_NOT_REGISTERED\b/hipErrorHostMemoryNotRegistered/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_ILLEGAL_ADDRESS\b/hipErrorIllegalAddress/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_ILLEGAL_STATE\b/hipErrorIllegalState/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_INVALID_CONTEXT\b/hipErrorInvalidContext/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_INVALID_DEVICE\b/hipErrorInvalidDevice/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_INVALID_GRAPHICS_CONTEXT\b/hipErrorInvalidGraphicsContext/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_INVALID_HANDLE\b/hipErrorInvalidHandle/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_INVALID_IMAGE\b/hipErrorInvalidImage/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_INVALID_PTX\b/hipErrorInvalidKernelFile/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_INVALID_SOURCE\b/hipErrorInvalidSource/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_INVALID_VALUE\b/hipErrorInvalidValue/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_LAUNCH_FAILED\b/hipErrorLaunchFailure/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_LAUNCH_OUT_OF_RESOURCES\b/hipErrorLaunchOutOfResources/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_LAUNCH_TIMEOUT\b/hipErrorLaunchTimeOut/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_MAP_FAILED\b/hipErrorMapFailed/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_NOT_FOUND\b/hipErrorNotFound/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_NOT_INITIALIZED\b/hipErrorNotInitialized/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_NOT_MAPPED\b/hipErrorNotMapped/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_NOT_MAPPED_AS_ARRAY\b/hipErrorNotMappedAsArray/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_NOT_MAPPED_AS_POINTER\b/hipErrorNotMappedAsPointer/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_NOT_READY\b/hipErrorNotReady/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_NOT_SUPPORTED\b/hipErrorNotSupported/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_NO_BINARY_FOR_GPU\b/hipErrorNoBinaryForGpu/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_NO_DEVICE\b/hipErrorNoDevice/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_OPERATING_SYSTEM\b/hipErrorOperatingSystem/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_OUT_OF_MEMORY\b/hipErrorOutOfMemory/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED\b/hipErrorPeerAccessAlreadyEnabled/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_PEER_ACCESS_NOT_ENABLED\b/hipErrorPeerAccessNotEnabled/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_PEER_ACCESS_UNSUPPORTED\b/hipErrorPeerAccessUnsupported/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_PRIMARY_CONTEXT_ACTIVE\b/hipErrorSetOnActiveProcess/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_PROFILER_ALREADY_STARTED\b/hipErrorProfilerAlreadyStarted/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_PROFILER_ALREADY_STOPPED\b/hipErrorProfilerAlreadyStopped/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_PROFILER_DISABLED\b/hipErrorProfilerDisabled/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_PROFILER_NOT_INITIALIZED\b/hipErrorProfilerNotInitialized/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_SHARED_OBJECT_INIT_FAILED\b/hipErrorSharedObjectInitFailed/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND\b/hipErrorSharedObjectSymbolNotFound/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_STREAM_CAPTURE_IMPLICIT\b/hipErrorStreamCaptureImplicit/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_STREAM_CAPTURE_INVALIDATED\b/hipErrorStreamCaptureInvalidated/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_STREAM_CAPTURE_ISOLATION\b/hipErrorStreamCaptureIsolation/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_STREAM_CAPTURE_MERGE\b/hipErrorStreamCaptureMerge/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_STREAM_CAPTURE_UNJOINED\b/hipErrorStreamCaptureUnjoined/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_STREAM_CAPTURE_UNMATCHED\b/hipErrorStreamCaptureUnmatched/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED\b/hipErrorStreamCaptureUnsupported/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD\b/hipErrorStreamCaptureWrongThread/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_UNKNOWN\b/hipErrorUnknown/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_UNMAP_FAILED\b/hipErrorUnmapFailed/g;
    $ft{'numeric_literal'} += s/\bCUDA_ERROR_UNSUPPORTED_LIMIT\b/hipErrorUnsupportedLimit/g;
    $ft{'numeric_literal'} += s/\bCUDA_R_16BF\b/HIPBLAS_R_16B/g;
    $ft{'numeric_literal'} += s/\bCUDA_R_16F\b/HIPBLAS_R_16F/g;
    $ft{'numeric_literal'} += s/\bCUDA_R_32F\b/HIPBLAS_R_32F/g;
    $ft{'numeric_literal'} += s/\bCUDA_R_32I\b/HIPBLAS_R_32I/g;
    $ft{'numeric_literal'} += s/\bCUDA_R_32U\b/HIPBLAS_R_32U/g;
    $ft{'numeric_literal'} += s/\bCUDA_R_64F\b/HIPBLAS_R_64F/g;
    $ft{'numeric_literal'} += s/\bCUDA_R_8I\b/HIPBLAS_R_8I/g;
    $ft{'numeric_literal'} += s/\bCUDA_R_8U\b/HIPBLAS_R_8U/g;
    $ft{'numeric_literal'} += s/\bCUDA_SUCCESS\b/hipSuccess/g;
    $ft{'numeric_literal'} += s/\bCUDNN_16BIT_INDICES\b/HIPDNN_16BIT_INDICES/g;
    $ft{'numeric_literal'} += s/\bCUDNN_32BIT_INDICES\b/HIPDNN_32BIT_INDICES/g;
    $ft{'numeric_literal'} += s/\bCUDNN_64BIT_INDICES\b/HIPDNN_64BIT_INDICES/g;
    $ft{'numeric_literal'} += s/\bCUDNN_8BIT_INDICES\b/HIPDNN_8BIT_INDICES/g;
    $ft{'numeric_literal'} += s/\bCUDNN_ACTIVATION_CLIPPED_RELU\b/HIPDNN_ACTIVATION_CLIPPED_RELU/g;
    $ft{'numeric_literal'} += s/\bCUDNN_ACTIVATION_ELU\b/HIPDNN_ACTIVATION_ELU/g;
    $ft{'numeric_literal'} += s/\bCUDNN_ACTIVATION_IDENTITY\b/HIPDNN_ACTIVATION_PATHTRU/g;
    $ft{'numeric_literal'} += s/\bCUDNN_ACTIVATION_RELU\b/HIPDNN_ACTIVATION_RELU/g;
    $ft{'numeric_literal'} += s/\bCUDNN_ACTIVATION_SIGMOID\b/HIPDNN_ACTIVATION_SIGMOID/g;
    $ft{'numeric_literal'} += s/\bCUDNN_ACTIVATION_SWISH\b/HIPDNN_ACTIVATION_SWISH/g;
    $ft{'numeric_literal'} += s/\bCUDNN_ACTIVATION_TANH\b/HIPDNN_ACTIVATION_TANH/g;
    $ft{'numeric_literal'} += s/\bCUDNN_BATCHNORM_PER_ACTIVATION\b/HIPDNN_BATCHNORM_PER_ACTIVATION/g;
    $ft{'numeric_literal'} += s/\bCUDNN_BATCHNORM_SPATIAL\b/HIPDNN_BATCHNORM_SPATIAL/g;
    $ft{'numeric_literal'} += s/\bCUDNN_BATCHNORM_SPATIAL_PERSISTENT\b/HIPDNN_BATCHNORM_SPATIAL_PERSISTENT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_BIDIRECTIONAL\b/HIPDNN_BIDIRECTIONAL/g;
    $ft{'numeric_literal'} += s/\bCUDNN_BN_MIN_EPSILON\b/HIPDNN_BN_MIN_EPSILON/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION\b/HIPDNN_CONVOLUTION/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_ALGO_0\b/HIPDNN_CONVOLUTION_BWD_DATA_ALGO_0/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_ALGO_1\b/HIPDNN_CONVOLUTION_BWD_DATA_ALGO_1/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_ALGO_COUNT\b/HIPDNN_CONVOLUTION_BWD_DATA_ALGO_TRANSPOSE_GEMM/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_ALGO_FFT\b/HIPDNN_CONVOLUTION_BWD_DATA_ALGO_FFT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_ALGO_FFT_TILING\b/HIPDNN_CONVOLUTION_BWD_DATA_ALGO_FFT_TILING/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD\b/HIPDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD_NONFUSED\b/HIPDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD_NONFUSED/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_NO_WORKSPACE\b/HIPDNN_CONVOLUTION_BWD_DATA_NO_WORKSPACE/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_PREFER_FASTEST\b/HIPDNN_CONVOLUTION_BWD_DATA_PREFER_FASTEST/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT\b/HIPDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_ALGO_0\b/HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_0/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_ALGO_1\b/HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_1/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_ALGO_3\b/HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_3/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT\b/HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT\b/HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT_TILING\b/HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT_TILING/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD\b/HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED\b/HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_NO_WORKSPACE\b/HIPDNN_CONVOLUTION_BWD_FILTER_NO_WORKSPACE/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST\b/HIPDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT\b/HIPDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_ALGO_COUNT\b/HIPDNN_CONVOLUTION_FWD_ALGO_COUNT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_ALGO_DIRECT\b/HIPDNN_CONVOLUTION_FWD_ALGO_DIRECT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_ALGO_FFT\b/HIPDNN_CONVOLUTION_FWD_ALGO_FFT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_ALGO_FFT_TILING\b/HIPDNN_CONVOLUTION_FWD_ALGO_FFT_TILING/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_ALGO_GEMM\b/HIPDNN_CONVOLUTION_FWD_ALGO_GEMM/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM\b/HIPDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM\b/HIPDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD\b/HIPDNN_CONVOLUTION_FWD_ALGO_WINOGRAD/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED\b/HIPDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_NO_WORKSPACE\b/HIPDNN_CONVOLUTION_FWD_NO_WORKSPACE/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_PREFER_FASTEST\b/HIPDNN_CONVOLUTION_FWD_PREFER_FASTEST/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT\b/HIPDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_CROSS_CORRELATION\b/HIPDNN_CROSS_CORRELATION/g;
    $ft{'numeric_literal'} += s/\bCUDNN_DATA_DOUBLE\b/HIPDNN_DATA_DOUBLE/g;
    $ft{'numeric_literal'} += s/\bCUDNN_DATA_FLOAT\b/HIPDNN_DATA_FLOAT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_DATA_HALF\b/HIPDNN_DATA_HALF/g;
    $ft{'numeric_literal'} += s/\bCUDNN_DATA_INT32\b/HIPDNN_DATA_INT32/g;
    $ft{'numeric_literal'} += s/\bCUDNN_DATA_INT8\b/HIPDNN_DATA_INT8/g;
    $ft{'numeric_literal'} += s/\bCUDNN_DATA_INT8x4\b/HIPDNN_DATA_INT8x4/g;
    $ft{'numeric_literal'} += s/\bCUDNN_DEFAULT_MATH\b/HIPDNN_DEFAULT_MATH/g;
    $ft{'numeric_literal'} += s/\bCUDNN_GRU\b/HIPDNN_GRU/g;
    $ft{'numeric_literal'} += s/\bCUDNN_LINEAR_INPUT\b/HIPDNN_LINEAR_INPUT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_LRN_CROSS_CHANNEL_DIM1\b/HIPDNN_LRN_CROSS_CHANNEL/g;
    $ft{'numeric_literal'} += s/\bCUDNN_LSTM\b/HIPDNN_LSTM/g;
    $ft{'numeric_literal'} += s/\bCUDNN_NOT_PROPAGATE_NAN\b/HIPDNN_NOT_PROPAGATE_NAN/g;
    $ft{'numeric_literal'} += s/\bCUDNN_OP_TENSOR_ADD\b/HIPDNN_OP_TENSOR_ADD/g;
    $ft{'numeric_literal'} += s/\bCUDNN_OP_TENSOR_MAX\b/HIPDNN_OP_TENSOR_MAX/g;
    $ft{'numeric_literal'} += s/\bCUDNN_OP_TENSOR_MIN\b/HIPDNN_OP_TENSOR_MIN/g;
    $ft{'numeric_literal'} += s/\bCUDNN_OP_TENSOR_MUL\b/HIPDNN_OP_TENSOR_MUL/g;
    $ft{'numeric_literal'} += s/\bCUDNN_OP_TENSOR_SQRT\b/HIPDNN_OP_TENSOR_SQRT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING\b/HIPDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING/g;
    $ft{'numeric_literal'} += s/\bCUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING\b/HIPDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING/g;
    $ft{'numeric_literal'} += s/\bCUDNN_POOLING_MAX\b/HIPDNN_POOLING_MAX/g;
    $ft{'numeric_literal'} += s/\bCUDNN_POOLING_MAX_DETERMINISTIC\b/HIPDNN_POOLING_MAX_DETERMINISTIC/g;
    $ft{'numeric_literal'} += s/\bCUDNN_PROPAGATE_NAN\b/HIPDNN_PROPAGATE_NAN/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_ADD\b/HIPDNN_REDUCE_TENSOR_ADD/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_AMAX\b/HIPDNN_REDUCE_TENSOR_AMAX/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_AVG\b/HIPDNN_REDUCE_TENSOR_AVG/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_FLATTENED_INDICES\b/HIPDNN_REDUCE_TENSOR_FLATTENED_INDICES/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_MAX\b/HIPDNN_REDUCE_TENSOR_MAX/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_MIN\b/HIPDNN_REDUCE_TENSOR_MIN/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_MUL\b/HIPDNN_REDUCE_TENSOR_MUL/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_MUL_NO_ZEROS\b/HIPDNN_REDUCE_TENSOR_MUL_NO_ZEROS/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_NORM1\b/HIPDNN_REDUCE_TENSOR_NORM1/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_NORM2\b/HIPDNN_REDUCE_TENSOR_NORM2/g;
    $ft{'numeric_literal'} += s/\bCUDNN_REDUCE_TENSOR_NO_INDICES\b/HIPDNN_REDUCE_TENSOR_NO_INDICES/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_ALGO_PERSIST_DYNAMIC\b/HIPDNN_RNN_ALGO_PERSIST_DYNAMIC/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_ALGO_PERSIST_STATIC\b/HIPDNN_RNN_ALGO_PERSIST_STATIC/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_ALGO_PERSIST_STATIC_SMALL_H\b/HIPDNN_RNN_ALGO_PERSIST_STATIC_SMALL_H/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_ALGO_STANDARD\b/HIPDNN_RNN_ALGO_STANDARD/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_DOUBLE_BIAS\b/HIPDNN_RNN_WITH_BIAS/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_NO_BIAS\b/HIPDNN_RNN_NO_BIAS/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_RELU\b/HIPDNN_RNN_RELU/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_SINGLE_INP_BIAS\b/HIPDNN_RNN_WITH_BIAS/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_SINGLE_REC_BIAS\b/HIPDNN_RNN_WITH_BIAS/g;
    $ft{'numeric_literal'} += s/\bCUDNN_RNN_TANH\b/HIPDNN_RNN_TANH/g;
    $ft{'numeric_literal'} += s/\bCUDNN_SKIP_INPUT\b/HIPDNN_SKIP_INPUT/g;
    $ft{'numeric_literal'} += s/\bCUDNN_SOFTMAX_ACCURATE\b/HIPDNN_SOFTMAX_ACCURATE/g;
    $ft{'numeric_literal'} += s/\bCUDNN_SOFTMAX_FAST\b/HIPDNN_SOFTMAX_FAST/g;
    $ft{'numeric_literal'} += s/\bCUDNN_SOFTMAX_LOG\b/HIPDNN_SOFTMAX_LOG/g;
    $ft{'numeric_literal'} += s/\bCUDNN_SOFTMAX_MODE_CHANNEL\b/HIPDNN_SOFTMAX_MODE_CHANNEL/g;
    $ft{'numeric_literal'} += s/\bCUDNN_SOFTMAX_MODE_INSTANCE\b/HIPDNN_SOFTMAX_MODE_INSTANCE/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_ALLOC_FAILED\b/HIPDNN_STATUS_ALLOC_FAILED/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_ARCH_MISMATCH\b/HIPDNN_STATUS_ARCH_MISMATCH/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_BAD_PARAM\b/HIPDNN_STATUS_BAD_PARAM/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_EXECUTION_FAILED\b/HIPDNN_STATUS_EXECUTION_FAILED/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_INTERNAL_ERROR\b/HIPDNN_STATUS_INTERNAL_ERROR/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_INVALID_VALUE\b/HIPDNN_STATUS_INVALID_VALUE/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_LICENSE_ERROR\b/HIPDNN_STATUS_LICENSE_ERROR/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_MAPPING_ERROR\b/HIPDNN_STATUS_MAPPING_ERROR/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_NOT_INITIALIZED\b/HIPDNN_STATUS_NOT_INITIALIZED/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_NOT_SUPPORTED\b/HIPDNN_STATUS_NOT_SUPPORTED/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING\b/HIPDNN_STATUS_RUNTIME_PREREQUISITE_MISSING/g;
    $ft{'numeric_literal'} += s/\bCUDNN_STATUS_SUCCESS\b/HIPDNN_STATUS_SUCCESS/g;
    $ft{'numeric_literal'} += s/\bCUDNN_TENSOR_NCHW\b/HIPDNN_TENSOR_NCHW/g;
    $ft{'numeric_literal'} += s/\bCUDNN_TENSOR_NCHW_VECT_C\b/HIPDNN_TENSOR_NCHW_VECT_C/g;
    $ft{'numeric_literal'} += s/\bCUDNN_TENSOR_NHWC\b/HIPDNN_TENSOR_NHWC/g;
    $ft{'numeric_literal'} += s/\bCUDNN_TENSOR_OP_MATH\b/HIPDNN_TENSOR_OP_MATH/g;
    $ft{'numeric_literal'} += s/\bCUDNN_UNIDIRECTIONAL\b/HIPDNN_UNIDIRECTIONAL/g;
    $ft{'numeric_literal'} += s/\bCUDNN_VERSION\b/HIPDNN_VERSION/g;
    $ft{'numeric_literal'} += s/\bCUFFT_ALLOC_FAILED\b/HIPFFT_ALLOC_FAILED/g;
    $ft{'numeric_literal'} += s/\bCUFFT_C2C\b/HIPFFT_C2C/g;
    $ft{'numeric_literal'} += s/\bCUFFT_C2R\b/HIPFFT_C2R/g;
    $ft{'numeric_literal'} += s/\bCUFFT_CB_LD_COMPLEX\b/HIPFFT_CB_LD_COMPLEX/g;
    $ft{'numeric_literal'} += s/\bCUFFT_CB_LD_COMPLEX_DOUBLE\b/HIPFFT_CB_LD_COMPLEX_DOUBLE/g;
    $ft{'numeric_literal'} += s/\bCUFFT_CB_LD_REAL\b/HIPFFT_CB_LD_REAL/g;
    $ft{'numeric_literal'} += s/\bCUFFT_CB_LD_REAL_DOUBLE\b/HIPFFT_CB_LD_REAL_DOUBLE/g;
    $ft{'numeric_literal'} += s/\bCUFFT_CB_ST_COMPLEX\b/HIPFFT_CB_ST_COMPLEX/g;
    $ft{'numeric_literal'} += s/\bCUFFT_CB_ST_COMPLEX_DOUBLE\b/HIPFFT_CB_ST_COMPLEX_DOUBLE/g;
    $ft{'numeric_literal'} += s/\bCUFFT_CB_ST_REAL\b/HIPFFT_CB_ST_REAL/g;
    $ft{'numeric_literal'} += s/\bCUFFT_CB_ST_REAL_DOUBLE\b/HIPFFT_CB_ST_REAL_DOUBLE/g;
    $ft{'numeric_literal'} += s/\bCUFFT_CB_UNDEFINED\b/HIPFFT_CB_UNDEFINED/g;
    $ft{'numeric_literal'} += s/\bCUFFT_D2Z\b/HIPFFT_D2Z/g;
    $ft{'numeric_literal'} += s/\bCUFFT_EXEC_FAILED\b/HIPFFT_EXEC_FAILED/g;
    $ft{'numeric_literal'} += s/\bCUFFT_FORWARD\b/HIPFFT_FORWARD/g;
    $ft{'numeric_literal'} += s/\bCUFFT_INCOMPLETE_PARAMETER_LIST\b/HIPFFT_INCOMPLETE_PARAMETER_LIST/g;
    $ft{'numeric_literal'} += s/\bCUFFT_INTERNAL_ERROR\b/HIPFFT_INTERNAL_ERROR/g;
    $ft{'numeric_literal'} += s/\bCUFFT_INVALID_DEVICE\b/HIPFFT_INVALID_DEVICE/g;
    $ft{'numeric_literal'} += s/\bCUFFT_INVALID_PLAN\b/HIPFFT_INVALID_PLAN/g;
    $ft{'numeric_literal'} += s/\bCUFFT_INVALID_SIZE\b/HIPFFT_INVALID_SIZE/g;
    $ft{'numeric_literal'} += s/\bCUFFT_INVALID_TYPE\b/HIPFFT_INVALID_TYPE/g;
    $ft{'numeric_literal'} += s/\bCUFFT_INVALID_VALUE\b/HIPFFT_INVALID_VALUE/g;
    $ft{'numeric_literal'} += s/\bCUFFT_INVERSE\b/HIPFFT_BACKWARD/g;
    $ft{'numeric_literal'} += s/\bCUFFT_NOT_IMPLEMENTED\b/HIPFFT_NOT_IMPLEMENTED/g;
    $ft{'numeric_literal'} += s/\bCUFFT_NOT_SUPPORTED\b/HIPFFT_NOT_SUPPORTED/g;
    $ft{'numeric_literal'} += s/\bCUFFT_NO_WORKSPACE\b/HIPFFT_NO_WORKSPACE/g;
    $ft{'numeric_literal'} += s/\bCUFFT_PARSE_ERROR\b/HIPFFT_PARSE_ERROR/g;
    $ft{'numeric_literal'} += s/\bCUFFT_R2C\b/HIPFFT_R2C/g;
    $ft{'numeric_literal'} += s/\bCUFFT_SETUP_FAILED\b/HIPFFT_SETUP_FAILED/g;
    $ft{'numeric_literal'} += s/\bCUFFT_SUCCESS\b/HIPFFT_SUCCESS/g;
    $ft{'numeric_literal'} += s/\bCUFFT_UNALIGNED_DATA\b/HIPFFT_UNALIGNED_DATA/g;
    $ft{'numeric_literal'} += s/\bCUFFT_Z2D\b/HIPFFT_Z2D/g;
    $ft{'numeric_literal'} += s/\bCUFFT_Z2Z\b/HIPFFT_Z2Z/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_PSEUDO_DEFAULT\b/HIPRAND_RNG_PSEUDO_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_PSEUDO_MRG32K3A\b/HIPRAND_RNG_PSEUDO_MRG32K3A/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_PSEUDO_MT19937\b/HIPRAND_RNG_PSEUDO_MT19937/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_PSEUDO_MTGP32\b/HIPRAND_RNG_PSEUDO_MTGP32/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_PSEUDO_PHILOX4_32_10\b/HIPRAND_RNG_PSEUDO_PHILOX4_32_10/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_PSEUDO_XORWOW\b/HIPRAND_RNG_PSEUDO_XORWOW/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_QUASI_DEFAULT\b/HIPRAND_RNG_QUASI_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_QUASI_SCRAMBLED_SOBOL32\b/HIPRAND_RNG_QUASI_SCRAMBLED_SOBOL32/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_QUASI_SCRAMBLED_SOBOL64\b/HIPRAND_RNG_QUASI_SCRAMBLED_SOBOL64/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_QUASI_SOBOL32\b/HIPRAND_RNG_QUASI_SOBOL32/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_QUASI_SOBOL64\b/HIPRAND_RNG_QUASI_SOBOL64/g;
    $ft{'numeric_literal'} += s/\bCURAND_RNG_TEST\b/HIPRAND_RNG_TEST/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_ALLOCATION_FAILED\b/HIPRAND_STATUS_ALLOCATION_FAILED/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_ARCH_MISMATCH\b/HIPRAND_STATUS_ARCH_MISMATCH/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_DOUBLE_PRECISION_REQUIRED\b/HIPRAND_STATUS_DOUBLE_PRECISION_REQUIRED/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_INITIALIZATION_FAILED\b/HIPRAND_STATUS_INITIALIZATION_FAILED/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_INTERNAL_ERROR\b/HIPRAND_STATUS_INTERNAL_ERROR/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_LAUNCH_FAILURE\b/HIPRAND_STATUS_LAUNCH_FAILURE/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_LENGTH_NOT_MULTIPLE\b/HIPRAND_STATUS_LENGTH_NOT_MULTIPLE/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_NOT_INITIALIZED\b/HIPRAND_STATUS_NOT_INITIALIZED/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_OUT_OF_RANGE\b/HIPRAND_STATUS_OUT_OF_RANGE/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_PREEXISTING_FAILURE\b/HIPRAND_STATUS_PREEXISTING_FAILURE/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_SUCCESS\b/HIPRAND_STATUS_SUCCESS/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_TYPE_ERROR\b/HIPRAND_STATUS_TYPE_ERROR/g;
    $ft{'numeric_literal'} += s/\bCURAND_STATUS_VERSION_MISMATCH\b/HIPRAND_STATUS_VERSION_MISMATCH/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_ACTION_NUMERIC\b/HIPSPARSE_ACTION_NUMERIC/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_ACTION_SYMBOLIC\b/HIPSPARSE_ACTION_SYMBOLIC/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_COOMM_ALG1\b/HIPSPARSE_COOMM_ALG1/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_COOMM_ALG2\b/HIPSPARSE_COOMM_ALG2/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_COOMM_ALG3\b/HIPSPARSE_COOMM_ALG3/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_COOMV_ALG\b/HIPSPARSE_COOMV_ALG/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_CSRMM_ALG1\b/HIPSPARSE_CSRMM_ALG1/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_CSRMV_ALG1\b/HIPSPARSE_CSRMV_ALG1/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_CSRMV_ALG2\b/HIPSPARSE_CSRMV_ALG2/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_DIAG_TYPE_NON_UNIT\b/HIPSPARSE_DIAG_TYPE_NON_UNIT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_DIAG_TYPE_UNIT\b/HIPSPARSE_DIAG_TYPE_UNIT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_DIRECTION_COLUMN\b/HIPSPARSE_DIRECTION_COLUMN/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_DIRECTION_ROW\b/HIPSPARSE_DIRECTION_ROW/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_FILL_MODE_LOWER\b/HIPSPARSE_FILL_MODE_LOWER/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_FILL_MODE_UPPER\b/HIPSPARSE_FILL_MODE_UPPER/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_FORMAT_BLOCKED_ELL\b/HIPSPARSE_FORMAT_BLOCKED_ELL/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_FORMAT_COO\b/HIPSPARSE_FORMAT_COO/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_FORMAT_COO_AOS\b/HIPSPARSE_FORMAT_COO_AOS/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_FORMAT_CSC\b/HIPSPARSE_FORMAT_CSC/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_FORMAT_CSR\b/HIPSPARSE_FORMAT_CSR/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_HYB_PARTITION_AUTO\b/HIPSPARSE_HYB_PARTITION_AUTO/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_HYB_PARTITION_MAX\b/HIPSPARSE_HYB_PARTITION_MAX/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_HYB_PARTITION_USER\b/HIPSPARSE_HYB_PARTITION_USER/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_INDEX_16U\b/HIPSPARSE_INDEX_16U/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_INDEX_32I\b/HIPSPARSE_INDEX_32I/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_INDEX_64I\b/HIPSPARSE_INDEX_64I/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_INDEX_BASE_ONE\b/HIPSPARSE_INDEX_BASE_ONE/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_INDEX_BASE_ZERO\b/HIPSPARSE_INDEX_BASE_ZERO/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_MATRIX_TYPE_GENERAL\b/HIPSPARSE_MATRIX_TYPE_GENERAL/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_MATRIX_TYPE_HERMITIAN\b/HIPSPARSE_MATRIX_TYPE_HERMITIAN/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_MATRIX_TYPE_SYMMETRIC\b/HIPSPARSE_MATRIX_TYPE_SYMMETRIC/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_MATRIX_TYPE_TRIANGULAR\b/HIPSPARSE_MATRIX_TYPE_TRIANGULAR/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_MM_ALG_DEFAULT\b/HIPSPARSE_MM_ALG_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_MV_ALG_DEFAULT\b/HIPSPARSE_MV_ALG_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_OPERATION_CONJUGATE_TRANSPOSE\b/HIPSPARSE_OPERATION_CONJUGATE_TRANSPOSE/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_OPERATION_NON_TRANSPOSE\b/HIPSPARSE_OPERATION_NON_TRANSPOSE/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_OPERATION_TRANSPOSE\b/HIPSPARSE_OPERATION_TRANSPOSE/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_ORDER_COL\b/HIPSPARSE_ORDER_COL/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_ORDER_ROW\b/HIPSPARSE_ORDER_ROW/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_POINTER_MODE_DEVICE\b/HIPSPARSE_POINTER_MODE_DEVICE/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_POINTER_MODE_HOST\b/HIPSPARSE_POINTER_MODE_HOST/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SDDMM_ALG_DEFAULT\b/HIPSPARSE_SDDMM_ALG_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SOLVE_POLICY_NO_LEVEL\b/HIPSPARSE_SOLVE_POLICY_NO_LEVEL/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SOLVE_POLICY_USE_LEVEL\b/HIPSPARSE_SOLVE_POLICY_USE_LEVEL/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPARSETODENSE_ALG_DEFAULT\b/HIPSPARSE_SPARSETODENSE_ALG_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPGEMM_DEFAULT\b/HIPSPARSE_SPGEMM_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMAT_DIAG_TYPE\b/HIPSPARSE_SPMAT_DIAG_TYPE/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMAT_FILL_MODE\b/HIPSPARSE_SPMAT_FILL_MODE/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMM_ALG_DEFAULT\b/HIPSPARSE_SPMM_ALG_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMM_BLOCKED_ELL_ALG1\b/HIPSPARSE_SPMM_BLOCKED_ELL_ALG1/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMM_COO_ALG1\b/HIPSPARSE_SPMM_COO_ALG1/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMM_COO_ALG2\b/HIPSPARSE_SPMM_COO_ALG2/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMM_COO_ALG3\b/HIPSPARSE_SPMM_COO_ALG3/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMM_COO_ALG4\b/HIPSPARSE_SPMM_COO_ALG4/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMM_CSR_ALG1\b/HIPSPARSE_SPMM_CSR_ALG1/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMM_CSR_ALG2\b/HIPSPARSE_SPMM_CSR_ALG2/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMM_CSR_ALG3\b/HIPSPARSE_SPMM_CSR_ALG3/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMV_ALG_DEFAULT\b/HIPSPARSE_SPMV_ALG_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMV_COO_ALG1\b/HIPSPARSE_SPMV_COO_ALG1/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMV_COO_ALG2\b/HIPSPARSE_SPMV_COO_ALG2/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMV_CSR_ALG1\b/HIPSPARSE_SPMV_CSR_ALG1/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPMV_CSR_ALG2\b/HIPSPARSE_SPMV_CSR_ALG2/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPSM_ALG_DEFAULT\b/HIPSPARSE_SPSM_ALG_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_SPSV_ALG_DEFAULT\b/HIPSPARSE_SPSV_ALG_DEFAULT/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_ALLOC_FAILED\b/HIPSPARSE_STATUS_ALLOC_FAILED/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_ARCH_MISMATCH\b/HIPSPARSE_STATUS_ARCH_MISMATCH/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_EXECUTION_FAILED\b/HIPSPARSE_STATUS_EXECUTION_FAILED/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_INSUFFICIENT_RESOURCES\b/HIPSPARSE_STATUS_INSUFFICIENT_RESOURCES/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_INTERNAL_ERROR\b/HIPSPARSE_STATUS_INTERNAL_ERROR/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_INVALID_VALUE\b/HIPSPARSE_STATUS_INVALID_VALUE/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_MAPPING_ERROR\b/HIPSPARSE_STATUS_MAPPING_ERROR/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED\b/HIPSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_NOT_INITIALIZED\b/HIPSPARSE_STATUS_NOT_INITIALIZED/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_NOT_SUPPORTED\b/HIPSPARSE_STATUS_NOT_SUPPORTED/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_SUCCESS\b/HIPSPARSE_STATUS_SUCCESS/g;
    $ft{'numeric_literal'} += s/\bCUSPARSE_STATUS_ZERO_PIVOT\b/HIPSPARSE_STATUS_ZERO_PIVOT/g;
    $ft{'numeric_literal'} += s/\bCU_AD_FORMAT_FLOAT\b/HIP_AD_FORMAT_FLOAT/g;
    $ft{'numeric_literal'} += s/\bCU_AD_FORMAT_HALF\b/HIP_AD_FORMAT_HALF/g;
    $ft{'numeric_literal'} += s/\bCU_AD_FORMAT_SIGNED_INT16\b/HIP_AD_FORMAT_SIGNED_INT16/g;
    $ft{'numeric_literal'} += s/\bCU_AD_FORMAT_SIGNED_INT32\b/HIP_AD_FORMAT_SIGNED_INT32/g;
    $ft{'numeric_literal'} += s/\bCU_AD_FORMAT_SIGNED_INT8\b/HIP_AD_FORMAT_SIGNED_INT8/g;
    $ft{'numeric_literal'} += s/\bCU_AD_FORMAT_UNSIGNED_INT16\b/HIP_AD_FORMAT_UNSIGNED_INT16/g;
    $ft{'numeric_literal'} += s/\bCU_AD_FORMAT_UNSIGNED_INT32\b/HIP_AD_FORMAT_UNSIGNED_INT32/g;
    $ft{'numeric_literal'} += s/\bCU_AD_FORMAT_UNSIGNED_INT8\b/HIP_AD_FORMAT_UNSIGNED_INT8/g;
    $ft{'numeric_literal'} += s/\bCU_COMPUTEMODE_DEFAULT\b/hipComputeModeDefault/g;
    $ft{'numeric_literal'} += s/\bCU_COMPUTEMODE_EXCLUSIVE\b/hipComputeModeExclusive/g;
    $ft{'numeric_literal'} += s/\bCU_COMPUTEMODE_EXCLUSIVE_PROCESS\b/hipComputeModeExclusiveProcess/g;
    $ft{'numeric_literal'} += s/\bCU_COMPUTEMODE_PROHIBITED\b/hipComputeModeProhibited/g;
    $ft{'numeric_literal'} += s/\bCU_CTX_BLOCKING_SYNC\b/hipDeviceScheduleBlockingSync/g;
    $ft{'numeric_literal'} += s/\bCU_CTX_LMEM_RESIZE_TO_MAX\b/hipDeviceLmemResizeToMax/g;
    $ft{'numeric_literal'} += s/\bCU_CTX_MAP_HOST\b/hipDeviceMapHost/g;
    $ft{'numeric_literal'} += s/\bCU_CTX_SCHED_AUTO\b/hipDeviceScheduleAuto/g;
    $ft{'numeric_literal'} += s/\bCU_CTX_SCHED_BLOCKING_SYNC\b/hipDeviceScheduleBlockingSync/g;
    $ft{'numeric_literal'} += s/\bCU_CTX_SCHED_MASK\b/hipDeviceScheduleMask/g;
    $ft{'numeric_literal'} += s/\bCU_CTX_SCHED_SPIN\b/hipDeviceScheduleSpin/g;
    $ft{'numeric_literal'} += s/\bCU_CTX_SCHED_YIELD\b/hipDeviceScheduleYield/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT\b/hipDeviceAttributeAsyncEngineCount/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY\b/hipDeviceAttributeCanMapHostMemory/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM\b/hipDeviceAttributeCanUseHostPointerForRegisteredMem/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR\b/hipDeviceAttributeCanUseStreamWaitValue/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_CLOCK_RATE\b/hipDeviceAttributeClockRate/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR\b/hipDeviceAttributeComputeCapabilityMajor/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR\b/hipDeviceAttributeComputeCapabilityMinor/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_COMPUTE_MODE\b/hipDeviceAttributeComputeMode/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED\b/hipDeviceAttributeComputePreemptionSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS\b/hipDeviceAttributeConcurrentKernels/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS\b/hipDeviceAttributeConcurrentManagedAccess/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH\b/hipDeviceAttributeCooperativeLaunch/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH\b/hipDeviceAttributeCooperativeMultiDeviceLaunch/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST\b/hipDeviceAttributeDirectManagedMemAccessFromHost/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_ECC_ENABLED\b/hipDeviceAttributeEccEnabled/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED\b/hipDeviceAttributeGlobalL1CacheSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH\b/hipDeviceAttributeMemoryBusWidth/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_GPU_OVERLAP\b/hipDeviceAttributeAsyncEngineCount/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED\b/hipDeviceAttributeHostNativeAtomicSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_INTEGRATED\b/hipDeviceAttributeIntegrated/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT\b/hipDeviceAttributeKernelExecTimeout/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE\b/hipDeviceAttributeL2CacheSize/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED\b/hipDeviceAttributeLocalL1CacheSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MANAGED_MEMORY\b/hipDeviceAttributeManagedMemory/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH\b/hipDeviceAttributeMaxSurface1DLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH\b/hipDeviceAttributeMaxSurface1D/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT\b/hipDeviceAttributeMaxSurface2D/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT\b/hipDeviceAttributeMaxSurface2DLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH\b/hipDeviceAttributeMaxSurface2DLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH\b/hipDeviceAttributeMaxSurface2D/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH\b/hipDeviceAttributeMaxSurface3D/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT\b/hipDeviceAttributeMaxSurface3D/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH\b/hipDeviceAttributeMaxSurface3D/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH\b/hipDeviceAttributeMaxSurfaceCubemapLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH\b/hipDeviceAttributeMaxSurfaceCubemap/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH\b/hipDeviceAttributeMaxTexture1DLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH\b/hipDeviceAttributeMaxTexture1DLinear/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH\b/hipDeviceAttributeMaxTexture1DMipmap/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH\b/hipDeviceAttributeMaxTexture1DWidth/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT\b/hipDeviceAttributeMaxTexture2DLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH\b/hipDeviceAttributeMaxTexture2DLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT\b/hipDeviceAttributeMaxTexture2DGather/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH\b/hipDeviceAttributeMaxTexture2DGather/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT\b/hipDeviceAttributeMaxTexture2DHeight/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT\b/hipDeviceAttributeMaxTexture2DLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH\b/hipDeviceAttributeMaxTexture2DLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT\b/hipDeviceAttributeMaxTexture2DLinear/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH\b/hipDeviceAttributeMaxTexture2DLinear/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH\b/hipDeviceAttributeMaxTexture2DLinear/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT\b/hipDeviceAttributeMaxTexture2DMipmap/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH\b/hipDeviceAttributeMaxTexture2DMipmap/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH\b/hipDeviceAttributeMaxTexture2DWidth/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH\b/hipDeviceAttributeMaxTexture3DDepth/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE\b/hipDeviceAttributeMaxTexture3DAlt/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT\b/hipDeviceAttributeMaxTexture3DHeight/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE\b/hipDeviceAttributeMaxTexture3DAlt/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH\b/hipDeviceAttributeMaxTexture3DWidth/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE\b/hipDeviceAttributeMaxTexture3DAlt/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH\b/hipDeviceAttributeMaxTextureCubemapLayered/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH\b/hipDeviceAttributeMaxTextureCubemap/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR\b/hipDeviceAttributeMaxBlocksPerMultiprocessor/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X\b/hipDeviceAttributeMaxBlockDimX/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y\b/hipDeviceAttributeMaxBlockDimY/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z\b/hipDeviceAttributeMaxBlockDimZ/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X\b/hipDeviceAttributeMaxGridDimX/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y\b/hipDeviceAttributeMaxGridDimY/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z\b/hipDeviceAttributeMaxGridDimZ/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_PITCH\b/hipDeviceAttributeMaxPitch/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK\b/hipDeviceAttributeMaxRegistersPerBlock/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR\b/hipDeviceAttributeMaxRegistersPerMultiprocessor/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK\b/hipDeviceAttributeMaxSharedMemoryPerBlock/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN\b/hipDeviceAttributeSharedMemPerBlockOptin/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR\b/hipDeviceAttributeMaxSharedMemoryPerMultiprocessor/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK\b/hipDeviceAttributeMaxThreadsPerBlock/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR\b/hipDeviceAttributeMaxThreadsPerMultiProcessor/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE\b/hipDeviceAttributeMemoryClockRate/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT\b/hipDeviceAttributeMultiprocessorCount/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD\b/hipDeviceAttributeIsMultiGpuBoard/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID\b/hipDeviceAttributeMultiGpuBoardGroupId/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS\b/hipDeviceAttributePageableMemoryAccess/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES\b/hipDeviceAttributePageableMemoryAccessUsesHostPageTables/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_PCI_BUS_ID\b/hipDeviceAttributePciBusId/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID\b/hipDeviceAttributePciDeviceId/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID\b/hipDeviceAttributePciDomainID/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK\b/hipDeviceAttributeMaxRegistersPerBlock/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK\b/hipDeviceAttributeMaxSharedMemoryPerBlock/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO\b/hipDeviceAttributeSingleToDoublePrecisionPerfRatio/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED\b/hipDeviceAttributeStreamPrioritiesSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT\b/hipDeviceAttributeSurfaceAlignment/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_TCC_DRIVER\b/hipDeviceAttributeTccDriver/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT\b/hipDeviceAttributeTextureAlignment/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT\b/hipDeviceAttributeTexturePitchAlignment/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY\b/hipDeviceAttributeTotalConstantMemory/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING\b/hipDeviceAttributeUnifiedAddressing/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_WARP_SIZE\b/hipDeviceAttributeWarpSize/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED\b/hipDevP2PAttrHipArrayAccessSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED\b/hipDevP2PAttrAccessSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_P2P_ATTRIBUTE_ARRAY_ACCESS_ACCESS_SUPPORTED\b/hipDevP2PAttrHipArrayAccessSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED\b/hipDevP2PAttrHipArrayAccessSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED\b/hipDevP2PAttrNativeAtomicSupported/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK\b/hipDevP2PAttrPerformanceRank/g;
    $ft{'numeric_literal'} += s/\bCU_EVENT_BLOCKING_SYNC\b/hipEventBlockingSync/g;
    $ft{'numeric_literal'} += s/\bCU_EVENT_DEFAULT\b/hipEventDefault/g;
    $ft{'numeric_literal'} += s/\bCU_EVENT_DISABLE_TIMING\b/hipEventDisableTiming/g;
    $ft{'numeric_literal'} += s/\bCU_EVENT_INTERPROCESS\b/hipEventInterprocess/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE\b/hipExternalMemoryHandleTypeD3D11Resource/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT\b/hipExternalMemoryHandleTypeD3D11ResourceKmt/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP\b/hipExternalMemoryHandleTypeD3D12Heap/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE\b/hipExternalMemoryHandleTypeD3D12Resource/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD\b/hipExternalMemoryHandleTypeOpaqueFd/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32\b/hipExternalMemoryHandleTypeOpaqueWin32/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT\b/hipExternalMemoryHandleTypeOpaqueWin32Kmt/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE\b/hipExternalSemaphoreHandleTypeD3D12Fence/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD\b/hipExternalSemaphoreHandleTypeOpaqueFd/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32\b/hipExternalSemaphoreHandleTypeOpaqueWin32/g;
    $ft{'numeric_literal'} += s/\bCU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT\b/hipExternalSemaphoreHandleTypeOpaqueWin32Kmt/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_BINARY_VERSION\b/HIP_FUNC_ATTRIBUTE_BINARY_VERSION/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_CACHE_MODE_CA\b/HIP_FUNC_ATTRIBUTE_CACHE_MODE_CA/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES\b/HIP_FUNC_ATTRIBUTE_CONST_SIZE_BYTES/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES\b/HIP_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_MAX\b/HIP_FUNC_ATTRIBUTE_MAX/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES\b/HIP_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK\b/HIP_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_NUM_REGS\b/HIP_FUNC_ATTRIBUTE_NUM_REGS/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT\b/HIP_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_PTX_VERSION\b/HIP_FUNC_ATTRIBUTE_PTX_VERSION/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES\b/HIP_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_CACHE_PREFER_EQUAL\b/hipFuncCachePreferEqual/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_CACHE_PREFER_L1\b/hipFuncCachePreferL1/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_CACHE_PREFER_NONE\b/hipFuncCachePreferNone/g;
    $ft{'numeric_literal'} += s/\bCU_FUNC_CACHE_PREFER_SHARED\b/hipFuncCachePreferShared/g;
    $ft{'numeric_literal'} += s/\bCU_GL_DEVICE_LIST_ALL\b/hipGLDeviceListAll/g;
    $ft{'numeric_literal'} += s/\bCU_GL_DEVICE_LIST_CURRENT_FRAME\b/hipGLDeviceListCurrentFrame/g;
    $ft{'numeric_literal'} += s/\bCU_GL_DEVICE_LIST_NEXT_FRAME\b/hipGLDeviceListNextFrame/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPHICS_REGISTER_FLAGS_NONE\b/hipGraphicsRegisterFlagsNone/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPHICS_REGISTER_FLAGS_READ_ONLY\b/hipGraphicsRegisterFlagsReadOnly/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST\b/hipGraphicsRegisterFlagsSurfaceLoadStore/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER\b/hipGraphicsRegisterFlagsTextureGather/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD\b/hipGraphicsRegisterFlagsWriteDiscard/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_EXEC_UPDATE_ERROR\b/hipGraphExecUpdateError/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED\b/hipGraphExecUpdateErrorFunctionChanged/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED\b/hipGraphExecUpdateErrorNodeTypeChanged/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED\b/hipGraphExecUpdateErrorNotSupported/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED\b/hipGraphExecUpdateErrorParametersChanged/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED\b/hipGraphExecUpdateErrorTopologyChanged/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE\b/hipGraphExecUpdateErrorUnsupportedFunctionChange/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_EXEC_UPDATE_SUCCESS\b/hipGraphExecUpdateSuccess/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_NODE_TYPE_COUNT\b/hipGraphNodeTypeCount/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_NODE_TYPE_EMPTY\b/hipGraphNodeTypeEmpty/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_NODE_TYPE_EVENT_RECORD\b/hipGraphNodeTypeEventRecord/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_NODE_TYPE_GRAPH\b/hipGraphNodeTypeGraph/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_NODE_TYPE_HOST\b/hipGraphNodeTypeHost/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_NODE_TYPE_KERNEL\b/hipGraphNodeTypeKernel/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_NODE_TYPE_MEMCPY\b/hipGraphNodeTypeMemcpy/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_NODE_TYPE_MEMSET\b/hipGraphNodeTypeMemset/g;
    $ft{'numeric_literal'} += s/\bCU_GRAPH_NODE_TYPE_WAIT_EVENT\b/hipGraphNodeTypeWaitEvent/g;
    $ft{'numeric_literal'} += s/\bCU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS\b/hipIpcMemLazyEnablePeerAccess/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_CACHE_MODE\b/hipJitOptionCacheMode/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_ERROR_LOG_BUFFER\b/hipJitOptionErrorLogBuffer/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES\b/hipJitOptionErrorLogBufferSizeBytes/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_FALLBACK_STRATEGY\b/hipJitOptionFallbackStrategy/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_FAST_COMPILE\b/hipJitOptionFastCompile/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_GENERATE_DEBUG_INFO\b/hipJitOptionGenerateDebugInfo/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_GENERATE_LINE_INFO\b/hipJitOptionGenerateLineInfo/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_INFO_LOG_BUFFER\b/hipJitOptionInfoLogBuffer/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_INFO_LOG_BUFFER_SIZE_BYTES\b/hipJitOptionInfoLogBufferSizeBytes/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_LOG_VERBOSE\b/hipJitOptionLogVerbose/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_MAX_REGISTERS\b/hipJitOptionMaxRegisters/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_NEW_SM3X_OPT\b/hipJitOptionSm3xOpt/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_NUM_OPTIONS\b/hipJitOptionNumOptions/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_OPTIMIZATION_LEVEL\b/hipJitOptionOptimizationLevel/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_TARGET\b/hipJitOptionTarget/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_TARGET_FROM_CUCONTEXT\b/hipJitOptionTargetFromContext/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_THREADS_PER_BLOCK\b/hipJitOptionThreadsPerBlock/g;
    $ft{'numeric_literal'} += s/\bCU_JIT_WALL_TIME\b/hipJitOptionWallTime/g;
    $ft{'numeric_literal'} += s/\bCU_LIMIT_MALLOC_HEAP_SIZE\b/hipLimitMallocHeapSize/g;
    $ft{'numeric_literal'} += s/\bCU_LIMIT_PRINTF_FIFO_SIZE\b/hipLimitPrintfFifoSize/g;
    $ft{'numeric_literal'} += s/\bCU_MEMORYTYPE_ARRAY\b/hipMemoryTypeArray/g;
    $ft{'numeric_literal'} += s/\bCU_MEMORYTYPE_DEVICE\b/hipMemoryTypeDevice/g;
    $ft{'numeric_literal'} += s/\bCU_MEMORYTYPE_HOST\b/hipMemoryTypeHost/g;
    $ft{'numeric_literal'} += s/\bCU_MEMORYTYPE_UNIFIED\b/hipMemoryTypeUnified/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_ADVISE_SET_ACCESSED_BY\b/hipMemAdviseSetAccessedBy/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_ADVISE_SET_PREFERRED_LOCATION\b/hipMemAdviseSetPreferredLocation/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_ADVISE_SET_READ_MOSTLY\b/hipMemAdviseSetReadMostly/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_ADVISE_UNSET_ACCESSED_BY\b/hipMemAdviseUnsetAccessedBy/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_ADVISE_UNSET_PREFERRED_LOCATION\b/hipMemAdviseUnsetPreferredLocation/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_ADVISE_UNSET_READ_MOSTLY\b/hipMemAdviseUnsetReadMostly/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_ATTACH_GLOBAL\b/hipMemAttachGlobal/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_ATTACH_HOST\b/hipMemAttachHost/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_ATTACH_SINGLE\b/hipMemAttachSingle/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY\b/hipMemRangeAttributeAccessedBy/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION\b/hipMemRangeAttributeLastPrefetchLocation/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION\b/hipMemRangeAttributePreferredLocation/g;
    $ft{'numeric_literal'} += s/\bCU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY\b/hipMemRangeAttributeReadMostly/g;
    $ft{'numeric_literal'} += s/\bCU_OCCUPANCY_DEFAULT\b/hipOccupancyDefault/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_ACCESS_FLAGS\b/HIP_POINTER_ATTRIBUTE_ACCESS_FLAGS/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES\b/HIP_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_BUFFER_ID\b/HIP_POINTER_ATTRIBUTE_BUFFER_ID/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_CONTEXT\b/HIP_POINTER_ATTRIBUTE_CONTEXT/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_DEVICE_ORDINAL\b/HIP_POINTER_ATTRIBUTE_DEVICE_ORDINAL/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_DEVICE_POINTER\b/HIP_POINTER_ATTRIBUTE_DEVICE_POINTER/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_HOST_POINTER\b/HIP_POINTER_ATTRIBUTE_HOST_POINTER/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE\b/HIP_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE\b/HIP_POINTER_ATTRIBUTE_IS_LEGACY_HIP_IPC_CAPABLE/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_IS_MANAGED\b/HIP_POINTER_ATTRIBUTE_IS_MANAGED/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_MAPPED\b/HIP_POINTER_ATTRIBUTE_MAPPED/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_MEMORY_TYPE\b/HIP_POINTER_ATTRIBUTE_MEMORY_TYPE/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE\b/HIP_POINTER_ATTRIBUTE_MEMPOOL_HANDLE/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_P2P_TOKENS\b/HIP_POINTER_ATTRIBUTE_P2P_TOKENS/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_RANGE_SIZE\b/HIP_POINTER_ATTRIBUTE_RANGE_SIZE/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_RANGE_START_ADDR\b/HIP_POINTER_ATTRIBUTE_RANGE_START_ADDR/g;
    $ft{'numeric_literal'} += s/\bCU_POINTER_ATTRIBUTE_SYNC_MEMOPS\b/HIP_POINTER_ATTRIBUTE_SYNC_MEMOPS/g;
    $ft{'numeric_literal'} += s/\bCU_RESOURCE_TYPE_ARRAY\b/HIP_RESOURCE_TYPE_ARRAY/g;
    $ft{'numeric_literal'} += s/\bCU_RESOURCE_TYPE_LINEAR\b/HIP_RESOURCE_TYPE_LINEAR/g;
    $ft{'numeric_literal'} += s/\bCU_RESOURCE_TYPE_MIPMAPPED_ARRAY\b/HIP_RESOURCE_TYPE_MIPMAPPED_ARRAY/g;
    $ft{'numeric_literal'} += s/\bCU_RESOURCE_TYPE_PITCH2D\b/HIP_RESOURCE_TYPE_PITCH2D/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_1X16\b/HIP_RES_VIEW_FORMAT_FLOAT_1X16/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_1X32\b/HIP_RES_VIEW_FORMAT_FLOAT_1X32/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_2X16\b/HIP_RES_VIEW_FORMAT_FLOAT_2X16/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_2X32\b/HIP_RES_VIEW_FORMAT_FLOAT_2X32/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_4X16\b/HIP_RES_VIEW_FORMAT_FLOAT_4X16/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_4X32\b/HIP_RES_VIEW_FORMAT_FLOAT_4X32/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_NONE\b/HIP_RES_VIEW_FORMAT_NONE/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SIGNED_BC4\b/HIP_RES_VIEW_FORMAT_SIGNED_BC4/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SIGNED_BC5\b/HIP_RES_VIEW_FORMAT_SIGNED_BC5/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SIGNED_BC6H\b/HIP_RES_VIEW_FORMAT_SIGNED_BC6H/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_1X16\b/HIP_RES_VIEW_FORMAT_SINT_1X16/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_1X32\b/HIP_RES_VIEW_FORMAT_SINT_1X32/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_1X8\b/HIP_RES_VIEW_FORMAT_SINT_1X8/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_2X16\b/HIP_RES_VIEW_FORMAT_SINT_2X16/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_2X32\b/HIP_RES_VIEW_FORMAT_SINT_2X32/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_2X8\b/HIP_RES_VIEW_FORMAT_SINT_2X8/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_4X16\b/HIP_RES_VIEW_FORMAT_SINT_4X16/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_4X32\b/HIP_RES_VIEW_FORMAT_SINT_4X32/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_4X8\b/HIP_RES_VIEW_FORMAT_SINT_4X8/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_1X16\b/HIP_RES_VIEW_FORMAT_UINT_1X16/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_1X32\b/HIP_RES_VIEW_FORMAT_UINT_1X32/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_1X8\b/HIP_RES_VIEW_FORMAT_UINT_1X8/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_2X16\b/HIP_RES_VIEW_FORMAT_UINT_2X16/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_2X32\b/HIP_RES_VIEW_FORMAT_UINT_2X32/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_2X8\b/HIP_RES_VIEW_FORMAT_UINT_2X8/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_4X16\b/HIP_RES_VIEW_FORMAT_UINT_4X16/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_4X32\b/HIP_RES_VIEW_FORMAT_UINT_4X32/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_4X8\b/HIP_RES_VIEW_FORMAT_UINT_4X8/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC1\b/HIP_RES_VIEW_FORMAT_UNSIGNED_BC1/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC2\b/HIP_RES_VIEW_FORMAT_UNSIGNED_BC2/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC3\b/HIP_RES_VIEW_FORMAT_UNSIGNED_BC3/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC4\b/HIP_RES_VIEW_FORMAT_UNSIGNED_BC4/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC5\b/HIP_RES_VIEW_FORMAT_UNSIGNED_BC5/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC6H\b/HIP_RES_VIEW_FORMAT_UNSIGNED_BC6H/g;
    $ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC7\b/HIP_RES_VIEW_FORMAT_UNSIGNED_BC7/g;
    $ft{'numeric_literal'} += s/\bCU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE\b/hipSharedMemBankSizeDefault/g;
    $ft{'numeric_literal'} += s/\bCU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE\b/hipSharedMemBankSizeEightByte/g;
    $ft{'numeric_literal'} += s/\bCU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE\b/hipSharedMemBankSizeFourByte/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_ADD_CAPTURE_DEPENDENCIES\b/hipStreamAddCaptureDependencies/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_CAPTURE_MODE_GLOBAL\b/hipStreamCaptureModeGlobal/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_CAPTURE_MODE_RELAXED\b/hipStreamCaptureModeRelaxed/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_CAPTURE_MODE_THREAD_LOCAL\b/hipStreamCaptureModeThreadLocal/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_CAPTURE_STATUS_ACTIVE\b/hipStreamCaptureStatusActive/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_CAPTURE_STATUS_INVALIDATED\b/hipStreamCaptureStatusInvalidated/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_CAPTURE_STATUS_NONE\b/hipStreamCaptureStatusNone/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_DEFAULT\b/hipStreamDefault/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_NON_BLOCKING\b/hipStreamNonBlocking/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_SET_CAPTURE_DEPENDENCIES\b/hipStreamSetCaptureDependencies/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_WAIT_VALUE_AND\b/hipStreamWaitValueAnd/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_WAIT_VALUE_EQ\b/hipStreamWaitValueEq/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_WAIT_VALUE_GEQ\b/hipStreamWaitValueGte/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_WAIT_VALUE_NOR\b/hipStreamWaitValueNor/g;
    $ft{'numeric_literal'} += s/\bCU_TR_ADDRESS_MODE_BORDER\b/HIP_TR_ADDRESS_MODE_BORDER/g;
    $ft{'numeric_literal'} += s/\bCU_TR_ADDRESS_MODE_CLAMP\b/HIP_TR_ADDRESS_MODE_CLAMP/g;
    $ft{'numeric_literal'} += s/\bCU_TR_ADDRESS_MODE_MIRROR\b/HIP_TR_ADDRESS_MODE_MIRROR/g;
    $ft{'numeric_literal'} += s/\bCU_TR_ADDRESS_MODE_WRAP\b/HIP_TR_ADDRESS_MODE_WRAP/g;
    $ft{'numeric_literal'} += s/\bCU_TR_FILTER_MODE_LINEAR\b/HIP_TR_FILTER_MODE_LINEAR/g;
    $ft{'numeric_literal'} += s/\bCU_TR_FILTER_MODE_POINT\b/HIP_TR_FILTER_MODE_POINT/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_BUILTIN_OPERATION_FAILURE\b/HIPRTC_ERROR_BUILTIN_OPERATION_FAILURE/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_COMPILATION\b/HIPRTC_ERROR_COMPILATION/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_INTERNAL_ERROR\b/HIPRTC_ERROR_INTERNAL_ERROR/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_INVALID_INPUT\b/HIPRTC_ERROR_INVALID_INPUT/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_INVALID_OPTION\b/HIPRTC_ERROR_INVALID_OPTION/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_INVALID_PROGRAM\b/HIPRTC_ERROR_INVALID_PROGRAM/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_NAME_EXPRESSION_NOT_VALID\b/HIPRTC_ERROR_NAME_EXPRESSION_NOT_VALID/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION\b/HIPRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION\b/HIPRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_OUT_OF_MEMORY\b/HIPRTC_ERROR_OUT_OF_MEMORY/g;
    $ft{'numeric_literal'} += s/\bNVRTC_ERROR_PROGRAM_CREATION_FAILURE\b/HIPRTC_ERROR_PROGRAM_CREATION_FAILURE/g;
    $ft{'numeric_literal'} += s/\bNVRTC_SUCCESS\b/HIPRTC_SUCCESS/g;
    $ft{'numeric_literal'} += s/\bcudaAddressModeBorder\b/hipAddressModeBorder/g;
    $ft{'numeric_literal'} += s/\bcudaAddressModeClamp\b/hipAddressModeClamp/g;
    $ft{'numeric_literal'} += s/\bcudaAddressModeMirror\b/hipAddressModeMirror/g;
    $ft{'numeric_literal'} += s/\bcudaAddressModeWrap\b/hipAddressModeWrap/g;
    $ft{'numeric_literal'} += s/\bcudaBoundaryModeClamp\b/hipBoundaryModeClamp/g;
    $ft{'numeric_literal'} += s/\bcudaBoundaryModeTrap\b/hipBoundaryModeTrap/g;
    $ft{'numeric_literal'} += s/\bcudaBoundaryModeZero\b/hipBoundaryModeZero/g;
    $ft{'numeric_literal'} += s/\bcudaChannelFormatKindFloat\b/hipChannelFormatKindFloat/g;
    $ft{'numeric_literal'} += s/\bcudaChannelFormatKindNone\b/hipChannelFormatKindNone/g;
    $ft{'numeric_literal'} += s/\bcudaChannelFormatKindSigned\b/hipChannelFormatKindSigned/g;
    $ft{'numeric_literal'} += s/\bcudaChannelFormatKindUnsigned\b/hipChannelFormatKindUnsigned/g;
    $ft{'numeric_literal'} += s/\bcudaComputeModeDefault\b/hipComputeModeDefault/g;
    $ft{'numeric_literal'} += s/\bcudaComputeModeExclusive\b/hipComputeModeExclusive/g;
    $ft{'numeric_literal'} += s/\bcudaComputeModeExclusiveProcess\b/hipComputeModeExclusiveProcess/g;
    $ft{'numeric_literal'} += s/\bcudaComputeModeProhibited\b/hipComputeModeProhibited/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrAsyncEngineCount\b/hipDeviceAttributeAsyncEngineCount/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrCanMapHostMemory\b/hipDeviceAttributeCanMapHostMemory/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrCanUseHostPointerForRegisteredMem\b/hipDeviceAttributeCanUseHostPointerForRegisteredMem/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrClockRate\b/hipDeviceAttributeClockRate/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrComputeCapabilityMajor\b/hipDeviceAttributeComputeCapabilityMajor/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrComputeCapabilityMinor\b/hipDeviceAttributeComputeCapabilityMinor/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrComputeMode\b/hipDeviceAttributeComputeMode/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrComputePreemptionSupported\b/hipDeviceAttributeComputePreemptionSupported/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrConcurrentKernels\b/hipDeviceAttributeConcurrentKernels/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrConcurrentManagedAccess\b/hipDeviceAttributeConcurrentManagedAccess/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrCooperativeLaunch\b/hipDeviceAttributeCooperativeLaunch/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrCooperativeMultiDeviceLaunch\b/hipDeviceAttributeCooperativeMultiDeviceLaunch/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrDirectManagedMemAccessFromHost\b/hipDeviceAttributeDirectManagedMemAccessFromHost/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrEccEnabled\b/hipDeviceAttributeEccEnabled/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrGlobalL1CacheSupported\b/hipDeviceAttributeGlobalL1CacheSupported/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrGlobalMemoryBusWidth\b/hipDeviceAttributeMemoryBusWidth/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrGpuOverlap\b/hipDeviceAttributeAsyncEngineCount/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrHostNativeAtomicSupported\b/hipDeviceAttributeHostNativeAtomicSupported/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrIntegrated\b/hipDeviceAttributeIntegrated/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrIsMultiGpuBoard\b/hipDeviceAttributeIsMultiGpuBoard/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrKernelExecTimeout\b/hipDeviceAttributeKernelExecTimeout/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrL2CacheSize\b/hipDeviceAttributeL2CacheSize/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrLocalL1CacheSupported\b/hipDeviceAttributeLocalL1CacheSupported/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrManagedMemory\b/hipDeviceAttributeManagedMemory/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxBlockDimX\b/hipDeviceAttributeMaxBlockDimX/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxBlockDimY\b/hipDeviceAttributeMaxBlockDimY/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxBlockDimZ\b/hipDeviceAttributeMaxBlockDimZ/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxBlocksPerMultiprocessor\b/hipDeviceAttributeMaxBlocksPerMultiprocessor/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxGridDimX\b/hipDeviceAttributeMaxGridDimX/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxGridDimY\b/hipDeviceAttributeMaxGridDimY/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxGridDimZ\b/hipDeviceAttributeMaxGridDimZ/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxPitch\b/hipDeviceAttributeMaxPitch/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxRegistersPerBlock\b/hipDeviceAttributeMaxRegistersPerBlock/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxRegistersPerMultiprocessor\b/hipDeviceAttributeMaxRegistersPerMultiprocessor/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSharedMemoryPerBlock\b/hipDeviceAttributeMaxSharedMemoryPerBlock/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSharedMemoryPerBlockOptin\b/hipDeviceAttributeSharedMemPerBlockOptin/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSharedMemoryPerMultiprocessor\b/hipDeviceAttributeMaxSharedMemoryPerMultiprocessor/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurface1DLayeredWidth\b/hipDeviceAttributeMaxSurface1DLayered/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurface1DWidth\b/hipDeviceAttributeMaxSurface1D/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurface2DHeight\b/hipDeviceAttributeMaxSurface2D/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurface2DLayeredHeight\b/hipDeviceAttributeMaxSurface2DLayered/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurface2DLayeredWidth\b/hipDeviceAttributeMaxSurface2DLayered/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurface2DWidth\b/hipDeviceAttributeMaxSurface2D/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurface3DDepth\b/hipDeviceAttributeMaxSurface3D/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurface3DHeight\b/hipDeviceAttributeMaxSurface3D/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurface3DWidth\b/hipDeviceAttributeMaxSurface3D/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurfaceCubemapLayeredWidth\b/hipDeviceAttributeMaxSurfaceCubemapLayered/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSurfaceCubemapWidth\b/hipDeviceAttributeMaxSurfaceCubemap/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture1DLayeredWidth\b/hipDeviceAttributeMaxTexture1DLayered/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture1DLinearWidth\b/hipDeviceAttributeMaxTexture1DLinear/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture1DMipmappedWidth\b/hipDeviceAttributeMaxTexture1DMipmap/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture1DWidth\b/hipDeviceAttributeMaxTexture1DWidth/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DGatherHeight\b/hipDeviceAttributeMaxTexture2DGather/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DGatherWidth\b/hipDeviceAttributeMaxTexture2DGather/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DHeight\b/hipDeviceAttributeMaxTexture2DHeight/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DLayeredHeight\b/hipDeviceAttributeMaxTexture2DLayered/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DLayeredWidth\b/hipDeviceAttributeMaxTexture2DLayered/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DLinearHeight\b/hipDeviceAttributeMaxTexture2DLinear/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DLinearPitch\b/hipDeviceAttributeMaxTexture2DLinear/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DLinearWidth\b/hipDeviceAttributeMaxTexture2DLinear/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DMipmappedHeight\b/hipDeviceAttributeMaxTexture2DMipmap/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DMipmappedWidth\b/hipDeviceAttributeMaxTexture2DMipmap/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DWidth\b/hipDeviceAttributeMaxTexture2DWidth/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture3DDepth\b/hipDeviceAttributeMaxTexture3DDepth/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture3DDepthAlt\b/hipDeviceAttributeMaxTexture3DAlt/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture3DHeight\b/hipDeviceAttributeMaxTexture3DHeight/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture3DHeightAlt\b/hipDeviceAttributeMaxTexture3DAlt/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture3DWidth\b/hipDeviceAttributeMaxTexture3DWidth/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture3DWidthAlt\b/hipDeviceAttributeMaxTexture3DAlt/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTextureCubemapLayeredWidth\b/hipDeviceAttributeMaxTextureCubemapLayered/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTextureCubemapWidth\b/hipDeviceAttributeMaxTextureCubemap/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxThreadsPerBlock\b/hipDeviceAttributeMaxThreadsPerBlock/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxThreadsPerMultiProcessor\b/hipDeviceAttributeMaxThreadsPerMultiProcessor/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMemoryClockRate\b/hipDeviceAttributeMemoryClockRate/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMultiGpuBoardGroupID\b/hipDeviceAttributeMultiGpuBoardGroupID/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMultiProcessorCount\b/hipDeviceAttributeMultiprocessorCount/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrPageableMemoryAccess\b/hipDeviceAttributePageableMemoryAccess/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrPageableMemoryAccessUsesHostPageTables\b/hipDeviceAttributePageableMemoryAccessUsesHostPageTables/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrPciBusId\b/hipDeviceAttributePciBusId/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrPciDeviceId\b/hipDeviceAttributePciDeviceId/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrPciDomainId\b/hipDeviceAttributePciDomainID/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrReserved94\b/hipDeviceAttributeCanUseStreamWaitValue/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrSingleToDoublePrecisionPerfRatio\b/hipDeviceAttributeSingleToDoublePrecisionPerfRatio/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrStreamPrioritiesSupported\b/hipDeviceAttributeStreamPrioritiesSupported/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrSurfaceAlignment\b/hipDeviceAttributeSurfaceAlignment/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrTccDriver\b/hipDeviceAttributeTccDriver/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrTextureAlignment\b/hipDeviceAttributeTextureAlignment/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrTexturePitchAlignment\b/hipDeviceAttributeTexturePitchAlignment/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrTotalConstantMemory\b/hipDeviceAttributeTotalConstantMemory/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrUnifiedAddressing\b/hipDeviceAttributeUnifiedAddressing/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrWarpSize\b/hipDeviceAttributeWarpSize/g;
    $ft{'numeric_literal'} += s/\bcudaDevP2PAttrAccessSupported\b/hipDevP2PAttrAccessSupported/g;
    $ft{'numeric_literal'} += s/\bcudaDevP2PAttrCudaArrayAccessSupported\b/hipDevP2PAttrHipArrayAccessSupported/g;
    $ft{'numeric_literal'} += s/\bcudaDevP2PAttrNativeAtomicSupported\b/hipDevP2PAttrNativeAtomicSupported/g;
    $ft{'numeric_literal'} += s/\bcudaDevP2PAttrPerformanceRank\b/hipDevP2PAttrPerformanceRank/g;
    $ft{'numeric_literal'} += s/\bcudaErrorAlreadyAcquired\b/hipErrorAlreadyAcquired/g;
    $ft{'numeric_literal'} += s/\bcudaErrorAlreadyMapped\b/hipErrorAlreadyMapped/g;
    $ft{'numeric_literal'} += s/\bcudaErrorArrayIsMapped\b/hipErrorArrayIsMapped/g;
    $ft{'numeric_literal'} += s/\bcudaErrorAssert\b/hipErrorAssert/g;
    $ft{'numeric_literal'} += s/\bcudaErrorCapturedEvent\b/hipErrorCapturedEvent/g;
    $ft{'numeric_literal'} += s/\bcudaErrorContextIsDestroyed\b/hipErrorContextIsDestroyed/g;
    $ft{'numeric_literal'} += s/\bcudaErrorCooperativeLaunchTooLarge\b/hipErrorCooperativeLaunchTooLarge/g;
    $ft{'numeric_literal'} += s/\bcudaErrorCudartUnloading\b/hipErrorDeinitialized/g;
    $ft{'numeric_literal'} += s/\bcudaErrorDeviceAlreadyInUse\b/hipErrorContextAlreadyInUse/g;
    $ft{'numeric_literal'} += s/\bcudaErrorDeviceUninitialized\b/hipErrorInvalidContext/g;
    $ft{'numeric_literal'} += s/\bcudaErrorECCUncorrectable\b/hipErrorECCNotCorrectable/g;
    $ft{'numeric_literal'} += s/\bcudaErrorFileNotFound\b/hipErrorFileNotFound/g;
    $ft{'numeric_literal'} += s/\bcudaErrorGraphExecUpdateFailure\b/hipErrorGraphExecUpdateFailure/g;
    $ft{'numeric_literal'} += s/\bcudaErrorHostMemoryAlreadyRegistered\b/hipErrorHostMemoryAlreadyRegistered/g;
    $ft{'numeric_literal'} += s/\bcudaErrorHostMemoryNotRegistered\b/hipErrorHostMemoryNotRegistered/g;
    $ft{'numeric_literal'} += s/\bcudaErrorIllegalAddress\b/hipErrorIllegalAddress/g;
    $ft{'numeric_literal'} += s/\bcudaErrorIllegalState\b/hipErrorIllegalState/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInitializationError\b/hipErrorNotInitialized/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInsufficientDriver\b/hipErrorInsufficientDriver/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidConfiguration\b/hipErrorInvalidConfiguration/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidDevice\b/hipErrorInvalidDevice/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidDeviceFunction\b/hipErrorInvalidDeviceFunction/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidDevicePointer\b/hipErrorInvalidDevicePointer/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidGraphicsContext\b/hipErrorInvalidGraphicsContext/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidKernelImage\b/hipErrorInvalidImage/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidMemcpyDirection\b/hipErrorInvalidMemcpyDirection/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidPitchValue\b/hipErrorInvalidPitchValue/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidPtx\b/hipErrorInvalidKernelFile/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidResourceHandle\b/hipErrorInvalidHandle/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidSource\b/hipErrorInvalidSource/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidSymbol\b/hipErrorInvalidSymbol/g;
    $ft{'numeric_literal'} += s/\bcudaErrorInvalidValue\b/hipErrorInvalidValue/g;
    $ft{'numeric_literal'} += s/\bcudaErrorLaunchFailure\b/hipErrorLaunchFailure/g;
    $ft{'numeric_literal'} += s/\bcudaErrorLaunchOutOfResources\b/hipErrorLaunchOutOfResources/g;
    $ft{'numeric_literal'} += s/\bcudaErrorLaunchTimeout\b/hipErrorLaunchTimeOut/g;
    $ft{'numeric_literal'} += s/\bcudaErrorMapBufferObjectFailed\b/hipErrorMapFailed/g;
    $ft{'numeric_literal'} += s/\bcudaErrorMemoryAllocation\b/hipErrorOutOfMemory/g;
    $ft{'numeric_literal'} += s/\bcudaErrorMissingConfiguration\b/hipErrorMissingConfiguration/g;
    $ft{'numeric_literal'} += s/\bcudaErrorNoDevice\b/hipErrorNoDevice/g;
    $ft{'numeric_literal'} += s/\bcudaErrorNoKernelImageForDevice\b/hipErrorNoBinaryForGpu/g;
    $ft{'numeric_literal'} += s/\bcudaErrorNotMapped\b/hipErrorNotMapped/g;
    $ft{'numeric_literal'} += s/\bcudaErrorNotMappedAsArray\b/hipErrorNotMappedAsArray/g;
    $ft{'numeric_literal'} += s/\bcudaErrorNotMappedAsPointer\b/hipErrorNotMappedAsPointer/g;
    $ft{'numeric_literal'} += s/\bcudaErrorNotReady\b/hipErrorNotReady/g;
    $ft{'numeric_literal'} += s/\bcudaErrorNotSupported\b/hipErrorNotSupported/g;
    $ft{'numeric_literal'} += s/\bcudaErrorOperatingSystem\b/hipErrorOperatingSystem/g;
    $ft{'numeric_literal'} += s/\bcudaErrorPeerAccessAlreadyEnabled\b/hipErrorPeerAccessAlreadyEnabled/g;
    $ft{'numeric_literal'} += s/\bcudaErrorPeerAccessNotEnabled\b/hipErrorPeerAccessNotEnabled/g;
    $ft{'numeric_literal'} += s/\bcudaErrorPeerAccessUnsupported\b/hipErrorPeerAccessUnsupported/g;
    $ft{'numeric_literal'} += s/\bcudaErrorPriorLaunchFailure\b/hipErrorPriorLaunchFailure/g;
    $ft{'numeric_literal'} += s/\bcudaErrorProfilerAlreadyStarted\b/hipErrorProfilerAlreadyStarted/g;
    $ft{'numeric_literal'} += s/\bcudaErrorProfilerAlreadyStopped\b/hipErrorProfilerAlreadyStopped/g;
    $ft{'numeric_literal'} += s/\bcudaErrorProfilerDisabled\b/hipErrorProfilerDisabled/g;
    $ft{'numeric_literal'} += s/\bcudaErrorProfilerNotInitialized\b/hipErrorProfilerNotInitialized/g;
    $ft{'numeric_literal'} += s/\bcudaErrorSetOnActiveProcess\b/hipErrorSetOnActiveProcess/g;
    $ft{'numeric_literal'} += s/\bcudaErrorSharedObjectInitFailed\b/hipErrorSharedObjectInitFailed/g;
    $ft{'numeric_literal'} += s/\bcudaErrorSharedObjectSymbolNotFound\b/hipErrorSharedObjectSymbolNotFound/g;
    $ft{'numeric_literal'} += s/\bcudaErrorStreamCaptureImplicit\b/hipErrorStreamCaptureImplicit/g;
    $ft{'numeric_literal'} += s/\bcudaErrorStreamCaptureInvalidated\b/hipErrorStreamCaptureInvalidated/g;
    $ft{'numeric_literal'} += s/\bcudaErrorStreamCaptureIsolation\b/hipErrorStreamCaptureIsolation/g;
    $ft{'numeric_literal'} += s/\bcudaErrorStreamCaptureMerge\b/hipErrorStreamCaptureMerge/g;
    $ft{'numeric_literal'} += s/\bcudaErrorStreamCaptureUnjoined\b/hipErrorStreamCaptureUnjoined/g;
    $ft{'numeric_literal'} += s/\bcudaErrorStreamCaptureUnmatched\b/hipErrorStreamCaptureUnmatched/g;
    $ft{'numeric_literal'} += s/\bcudaErrorStreamCaptureUnsupported\b/hipErrorStreamCaptureUnsupported/g;
    $ft{'numeric_literal'} += s/\bcudaErrorStreamCaptureWrongThread\b/hipErrorStreamCaptureWrongThread/g;
    $ft{'numeric_literal'} += s/\bcudaErrorSymbolNotFound\b/hipErrorNotFound/g;
    $ft{'numeric_literal'} += s/\bcudaErrorUnknown\b/hipErrorUnknown/g;
    $ft{'numeric_literal'} += s/\bcudaErrorUnmapBufferObjectFailed\b/hipErrorUnmapFailed/g;
    $ft{'numeric_literal'} += s/\bcudaErrorUnsupportedLimit\b/hipErrorUnsupportedLimit/g;
    $ft{'numeric_literal'} += s/\bcudaExternalMemoryHandleTypeD3D11Resource\b/hipExternalMemoryHandleTypeD3D11Resource/g;
    $ft{'numeric_literal'} += s/\bcudaExternalMemoryHandleTypeD3D11ResourceKmt\b/hipExternalMemoryHandleTypeD3D11ResourceKmt/g;
    $ft{'numeric_literal'} += s/\bcudaExternalMemoryHandleTypeD3D12Heap\b/hipExternalMemoryHandleTypeD3D12Heap/g;
    $ft{'numeric_literal'} += s/\bcudaExternalMemoryHandleTypeD3D12Resource\b/hipExternalMemoryHandleTypeD3D12Resource/g;
    $ft{'numeric_literal'} += s/\bcudaExternalMemoryHandleTypeOpaqueFd\b/hipExternalMemoryHandleTypeOpaqueFd/g;
    $ft{'numeric_literal'} += s/\bcudaExternalMemoryHandleTypeOpaqueWin32\b/hipExternalMemoryHandleTypeOpaqueWin32/g;
    $ft{'numeric_literal'} += s/\bcudaExternalMemoryHandleTypeOpaqueWin32Kmt\b/hipExternalMemoryHandleTypeOpaqueWin32Kmt/g;
    $ft{'numeric_literal'} += s/\bcudaExternalSemaphoreHandleTypeD3D12Fence\b/hipExternalSemaphoreHandleTypeD3D12Fence/g;
    $ft{'numeric_literal'} += s/\bcudaExternalSemaphoreHandleTypeOpaqueFd\b/hipExternalSemaphoreHandleTypeOpaqueFd/g;
    $ft{'numeric_literal'} += s/\bcudaExternalSemaphoreHandleTypeOpaqueWin32\b/hipExternalSemaphoreHandleTypeOpaqueWin32/g;
    $ft{'numeric_literal'} += s/\bcudaExternalSemaphoreHandleTypeOpaqueWin32Kmt\b/hipExternalSemaphoreHandleTypeOpaqueWin32Kmt/g;
    $ft{'numeric_literal'} += s/\bcudaFilterModeLinear\b/hipFilterModeLinear/g;
    $ft{'numeric_literal'} += s/\bcudaFilterModePoint\b/hipFilterModePoint/g;
    $ft{'numeric_literal'} += s/\bcudaFuncAttributeMax\b/hipFuncAttributeMax/g;
    $ft{'numeric_literal'} += s/\bcudaFuncAttributeMaxDynamicSharedMemorySize\b/hipFuncAttributeMaxDynamicSharedMemorySize/g;
    $ft{'numeric_literal'} += s/\bcudaFuncAttributePreferredSharedMemoryCarveout\b/hipFuncAttributePreferredSharedMemoryCarveout/g;
    $ft{'numeric_literal'} += s/\bcudaFuncCachePreferEqual\b/hipFuncCachePreferEqual/g;
    $ft{'numeric_literal'} += s/\bcudaFuncCachePreferL1\b/hipFuncCachePreferL1/g;
    $ft{'numeric_literal'} += s/\bcudaFuncCachePreferNone\b/hipFuncCachePreferNone/g;
    $ft{'numeric_literal'} += s/\bcudaFuncCachePreferShared\b/hipFuncCachePreferShared/g;
    $ft{'numeric_literal'} += s/\bcudaGLDeviceListAll\b/hipGLDeviceListAll/g;
    $ft{'numeric_literal'} += s/\bcudaGLDeviceListCurrentFrame\b/hipGLDeviceListCurrentFrame/g;
    $ft{'numeric_literal'} += s/\bcudaGLDeviceListNextFrame\b/hipGLDeviceListNextFrame/g;
    $ft{'numeric_literal'} += s/\bcudaGraphExecUpdateError\b/hipGraphExecUpdateError/g;
    $ft{'numeric_literal'} += s/\bcudaGraphExecUpdateErrorFunctionChanged\b/hipGraphExecUpdateErrorFunctionChanged/g;
    $ft{'numeric_literal'} += s/\bcudaGraphExecUpdateErrorNodeTypeChanged\b/hipGraphExecUpdateErrorNodeTypeChanged/g;
    $ft{'numeric_literal'} += s/\bcudaGraphExecUpdateErrorNotSupported\b/hipGraphExecUpdateErrorNotSupported/g;
    $ft{'numeric_literal'} += s/\bcudaGraphExecUpdateErrorParametersChanged\b/hipGraphExecUpdateErrorParametersChanged/g;
    $ft{'numeric_literal'} += s/\bcudaGraphExecUpdateErrorTopologyChanged\b/hipGraphExecUpdateErrorTopologyChanged/g;
    $ft{'numeric_literal'} += s/\bcudaGraphExecUpdateErrorUnsupportedFunctionChange\b/hipGraphExecUpdateErrorUnsupportedFunctionChange/g;
    $ft{'numeric_literal'} += s/\bcudaGraphExecUpdateSuccess\b/hipGraphExecUpdateSuccess/g;
    $ft{'numeric_literal'} += s/\bcudaGraphNodeTypeCount\b/hipGraphNodeTypeCount/g;
    $ft{'numeric_literal'} += s/\bcudaGraphNodeTypeEmpty\b/hipGraphNodeTypeEmpty/g;
    $ft{'numeric_literal'} += s/\bcudaGraphNodeTypeEventRecord\b/hipGraphNodeTypeEventRecord/g;
    $ft{'numeric_literal'} += s/\bcudaGraphNodeTypeGraph\b/hipGraphNodeTypeGraph/g;
    $ft{'numeric_literal'} += s/\bcudaGraphNodeTypeHost\b/hipGraphNodeTypeHost/g;
    $ft{'numeric_literal'} += s/\bcudaGraphNodeTypeKernel\b/hipGraphNodeTypeKernel/g;
    $ft{'numeric_literal'} += s/\bcudaGraphNodeTypeMemcpy\b/hipGraphNodeTypeMemcpy/g;
    $ft{'numeric_literal'} += s/\bcudaGraphNodeTypeMemset\b/hipGraphNodeTypeMemset/g;
    $ft{'numeric_literal'} += s/\bcudaGraphNodeTypeWaitEvent\b/hipGraphNodeTypeWaitEvent/g;
    $ft{'numeric_literal'} += s/\bcudaGraphicsRegisterFlagsNone\b/hipGraphicsRegisterFlagsNone/g;
    $ft{'numeric_literal'} += s/\bcudaGraphicsRegisterFlagsReadOnly\b/hipGraphicsRegisterFlagsReadOnly/g;
    $ft{'numeric_literal'} += s/\bcudaGraphicsRegisterFlagsSurfaceLoadStore\b/hipGraphicsRegisterFlagsSurfaceLoadStore/g;
    $ft{'numeric_literal'} += s/\bcudaGraphicsRegisterFlagsTextureGather\b/hipGraphicsRegisterFlagsTextureGather/g;
    $ft{'numeric_literal'} += s/\bcudaGraphicsRegisterFlagsWriteDiscard\b/hipGraphicsRegisterFlagsWriteDiscard/g;
    $ft{'numeric_literal'} += s/\bcudaLimitMallocHeapSize\b/hipLimitMallocHeapSize/g;
    $ft{'numeric_literal'} += s/\bcudaLimitPrintfFifoSize\b/hipLimitPrintfFifoSize/g;
    $ft{'numeric_literal'} += s/\bcudaMemAdviseSetAccessedBy\b/hipMemAdviseSetAccessedBy/g;
    $ft{'numeric_literal'} += s/\bcudaMemAdviseSetPreferredLocation\b/hipMemAdviseSetPreferredLocation/g;
    $ft{'numeric_literal'} += s/\bcudaMemAdviseSetReadMostly\b/hipMemAdviseSetReadMostly/g;
    $ft{'numeric_literal'} += s/\bcudaMemAdviseUnsetAccessedBy\b/hipMemAdviseUnsetAccessedBy/g;
    $ft{'numeric_literal'} += s/\bcudaMemAdviseUnsetPreferredLocation\b/hipMemAdviseUnsetPreferredLocation/g;
    $ft{'numeric_literal'} += s/\bcudaMemAdviseUnsetReadMostly\b/hipMemAdviseUnsetReadMostly/g;
    $ft{'numeric_literal'} += s/\bcudaMemRangeAttributeAccessedBy\b/hipMemRangeAttributeAccessedBy/g;
    $ft{'numeric_literal'} += s/\bcudaMemRangeAttributeLastPrefetchLocation\b/hipMemRangeAttributeLastPrefetchLocation/g;
    $ft{'numeric_literal'} += s/\bcudaMemRangeAttributePreferredLocation\b/hipMemRangeAttributePreferredLocation/g;
    $ft{'numeric_literal'} += s/\bcudaMemRangeAttributeReadMostly\b/hipMemRangeAttributeReadMostly/g;
    $ft{'numeric_literal'} += s/\bcudaMemcpyDefault\b/hipMemcpyDefault/g;
    $ft{'numeric_literal'} += s/\bcudaMemcpyDeviceToDevice\b/hipMemcpyDeviceToDevice/g;
    $ft{'numeric_literal'} += s/\bcudaMemcpyDeviceToHost\b/hipMemcpyDeviceToHost/g;
    $ft{'numeric_literal'} += s/\bcudaMemcpyHostToDevice\b/hipMemcpyHostToDevice/g;
    $ft{'numeric_literal'} += s/\bcudaMemcpyHostToHost\b/hipMemcpyHostToHost/g;
    $ft{'numeric_literal'} += s/\bcudaMemoryTypeDevice\b/hipMemoryTypeDevice/g;
    $ft{'numeric_literal'} += s/\bcudaMemoryTypeHost\b/hipMemoryTypeHost/g;
    $ft{'numeric_literal'} += s/\bcudaReadModeElementType\b/hipReadModeElementType/g;
    $ft{'numeric_literal'} += s/\bcudaReadModeNormalizedFloat\b/hipReadModeNormalizedFloat/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatFloat1\b/hipResViewFormatFloat1/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatFloat2\b/hipResViewFormatFloat2/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatFloat4\b/hipResViewFormatFloat4/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatHalf1\b/hipResViewFormatHalf1/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatHalf2\b/hipResViewFormatHalf2/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatHalf4\b/hipResViewFormatHalf4/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatNone\b/hipResViewFormatNone/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedBlockCompressed4\b/hipResViewFormatSignedBlockCompressed4/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedBlockCompressed5\b/hipResViewFormatSignedBlockCompressed5/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedBlockCompressed6H\b/hipResViewFormatSignedBlockCompressed6H/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedChar1\b/hipResViewFormatSignedChar1/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedChar2\b/hipResViewFormatSignedChar2/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedChar4\b/hipResViewFormatSignedChar4/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedInt1\b/hipResViewFormatSignedInt1/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedInt2\b/hipResViewFormatSignedInt2/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedInt4\b/hipResViewFormatSignedInt4/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedShort1\b/hipResViewFormatSignedShort1/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedShort2\b/hipResViewFormatSignedShort2/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatSignedShort4\b/hipResViewFormatSignedShort4/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedBlockCompressed1\b/hipResViewFormatUnsignedBlockCompressed1/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedBlockCompressed2\b/hipResViewFormatUnsignedBlockCompressed2/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedBlockCompressed3\b/hipResViewFormatUnsignedBlockCompressed3/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedBlockCompressed4\b/hipResViewFormatUnsignedBlockCompressed4/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedBlockCompressed5\b/hipResViewFormatUnsignedBlockCompressed5/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedBlockCompressed6H\b/hipResViewFormatUnsignedBlockCompressed6H/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedBlockCompressed7\b/hipResViewFormatUnsignedBlockCompressed7/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedChar1\b/hipResViewFormatUnsignedChar1/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedChar2\b/hipResViewFormatUnsignedChar2/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedChar4\b/hipResViewFormatUnsignedChar4/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedInt1\b/hipResViewFormatUnsignedInt1/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedInt2\b/hipResViewFormatUnsignedInt2/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedInt4\b/hipResViewFormatUnsignedInt4/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedShort1\b/hipResViewFormatUnsignedShort1/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedShort2\b/hipResViewFormatUnsignedShort2/g;
    $ft{'numeric_literal'} += s/\bcudaResViewFormatUnsignedShort4\b/hipResViewFormatUnsignedShort4/g;
    $ft{'numeric_literal'} += s/\bcudaResourceTypeArray\b/hipResourceTypeArray/g;
    $ft{'numeric_literal'} += s/\bcudaResourceTypeLinear\b/hipResourceTypeLinear/g;
    $ft{'numeric_literal'} += s/\bcudaResourceTypeMipmappedArray\b/hipResourceTypeMipmappedArray/g;
    $ft{'numeric_literal'} += s/\bcudaResourceTypePitch2D\b/hipResourceTypePitch2D/g;
    $ft{'numeric_literal'} += s/\bcudaSharedMemBankSizeDefault\b/hipSharedMemBankSizeDefault/g;
    $ft{'numeric_literal'} += s/\bcudaSharedMemBankSizeEightByte\b/hipSharedMemBankSizeEightByte/g;
    $ft{'numeric_literal'} += s/\bcudaSharedMemBankSizeFourByte\b/hipSharedMemBankSizeFourByte/g;
    $ft{'numeric_literal'} += s/\bcudaStreamAddCaptureDependencies\b/hipStreamAddCaptureDependencies/g;
    $ft{'numeric_literal'} += s/\bcudaStreamCaptureModeGlobal\b/hipStreamCaptureModeGlobal/g;
    $ft{'numeric_literal'} += s/\bcudaStreamCaptureModeRelaxed\b/hipStreamCaptureModeRelaxed/g;
    $ft{'numeric_literal'} += s/\bcudaStreamCaptureModeThreadLocal\b/hipStreamCaptureModeThreadLocal/g;
    $ft{'numeric_literal'} += s/\bcudaStreamCaptureStatusActive\b/hipStreamCaptureStatusActive/g;
    $ft{'numeric_literal'} += s/\bcudaStreamCaptureStatusInvalidated\b/hipStreamCaptureStatusInvalidated/g;
    $ft{'numeric_literal'} += s/\bcudaStreamCaptureStatusNone\b/hipStreamCaptureStatusNone/g;
    $ft{'numeric_literal'} += s/\bcudaStreamSetCaptureDependencies\b/hipStreamSetCaptureDependencies/g;
    $ft{'numeric_literal'} += s/\bcudaSuccess\b/hipSuccess/g;
    $ft{'define'} += s/\bCUDA_ARRAY3D_CUBEMAP\b/hipArrayCubemap/g;
    $ft{'define'} += s/\bCUDA_ARRAY3D_LAYERED\b/hipArrayLayered/g;
    $ft{'define'} += s/\bCUDA_ARRAY3D_SURFACE_LDST\b/hipArraySurfaceLoadStore/g;
    $ft{'define'} += s/\bCUDA_ARRAY3D_TEXTURE_GATHER\b/hipArrayTextureGather/g;
    $ft{'define'} += s/\bCUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC\b/hipCooperativeLaunchMultiDeviceNoPostSync/g;
    $ft{'define'} += s/\bCUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC\b/hipCooperativeLaunchMultiDeviceNoPreSync/g;
    $ft{'define'} += s/\bCUDA_IPC_HANDLE_SIZE\b/HIP_IPC_HANDLE_SIZE/g;
    $ft{'define'} += s/\bCURAND_VERSION\b/HIPRAND_VERSION/g;
    $ft{'define'} += s/\bCU_DEVICE_CPU\b/hipCpuDeviceId/g;
    $ft{'define'} += s/\bCU_DEVICE_INVALID\b/hipInvalidDeviceId/g;
    $ft{'define'} += s/\bCU_IPC_HANDLE_SIZE\b/HIP_IPC_HANDLE_SIZE/g;
    $ft{'define'} += s/\bCU_LAUNCH_PARAM_BUFFER_POINTER\b/HIP_LAUNCH_PARAM_BUFFER_POINTER/g;
    $ft{'define'} += s/\bCU_LAUNCH_PARAM_BUFFER_SIZE\b/HIP_LAUNCH_PARAM_BUFFER_SIZE/g;
    $ft{'define'} += s/\bCU_LAUNCH_PARAM_END\b/HIP_LAUNCH_PARAM_END/g;
    $ft{'define'} += s/\bCU_MEMHOSTALLOC_DEVICEMAP\b/hipHostMallocMapped/g;
    $ft{'define'} += s/\bCU_MEMHOSTALLOC_PORTABLE\b/hipHostMallocPortable/g;
    $ft{'define'} += s/\bCU_MEMHOSTALLOC_WRITECOMBINED\b/hipHostMallocWriteCombined/g;
    $ft{'define'} += s/\bCU_MEMHOSTREGISTER_DEVICEMAP\b/hipHostRegisterMapped/g;
    $ft{'define'} += s/\bCU_MEMHOSTREGISTER_IOMEMORY\b/hipHostRegisterIoMemory/g;
    $ft{'define'} += s/\bCU_MEMHOSTREGISTER_PORTABLE\b/hipHostRegisterPortable/g;
    $ft{'define'} += s/\bCU_STREAM_PER_THREAD\b/hipStreamPerThread/g;
    $ft{'define'} += s/\bCU_TRSA_OVERRIDE_FORMAT\b/HIP_TRSA_OVERRIDE_FORMAT/g;
    $ft{'define'} += s/\bCU_TRSF_NORMALIZED_COORDINATES\b/HIP_TRSF_NORMALIZED_COORDINATES/g;
    $ft{'define'} += s/\bCU_TRSF_READ_AS_INTEGER\b/HIP_TRSF_READ_AS_INTEGER/g;
    $ft{'define'} += s/\bCU_TRSF_SRGB\b/HIP_TRSF_SRGB/g;
    $ft{'define'} += s/\bREGISTER_CUDA_OPERATOR\b/REGISTER_HIP_OPERATOR/g;
    $ft{'define'} += s/\bREGISTER_CUDA_OPERATOR_CREATOR\b/REGISTER_HIP_OPERATOR_CREATOR/g;
    $ft{'define'} += s/\b__CUDACC__\b/__HIPCC__/g;
    $ft{'define'} += s/\bcudaArrayCubemap\b/hipArrayCubemap/g;
    $ft{'define'} += s/\bcudaArrayDefault\b/hipArrayDefault/g;
    $ft{'define'} += s/\bcudaArrayLayered\b/hipArrayLayered/g;
    $ft{'define'} += s/\bcudaArraySurfaceLoadStore\b/hipArraySurfaceLoadStore/g;
    $ft{'define'} += s/\bcudaArrayTextureGather\b/hipArrayTextureGather/g;
    $ft{'define'} += s/\bcudaCooperativeLaunchMultiDeviceNoPostSync\b/hipCooperativeLaunchMultiDeviceNoPostSync/g;
    $ft{'define'} += s/\bcudaCooperativeLaunchMultiDeviceNoPreSync\b/hipCooperativeLaunchMultiDeviceNoPreSync/g;
    $ft{'define'} += s/\bcudaCpuDeviceId\b/hipCpuDeviceId/g;
    $ft{'define'} += s/\bcudaDeviceBlockingSync\b/hipDeviceScheduleBlockingSync/g;
    $ft{'define'} += s/\bcudaDeviceLmemResizeToMax\b/hipDeviceLmemResizeToMax/g;
    $ft{'define'} += s/\bcudaDeviceMapHost\b/hipDeviceMapHost/g;
    $ft{'define'} += s/\bcudaDeviceScheduleAuto\b/hipDeviceScheduleAuto/g;
    $ft{'define'} += s/\bcudaDeviceScheduleBlockingSync\b/hipDeviceScheduleBlockingSync/g;
    $ft{'define'} += s/\bcudaDeviceScheduleMask\b/hipDeviceScheduleMask/g;
    $ft{'define'} += s/\bcudaDeviceScheduleSpin\b/hipDeviceScheduleSpin/g;
    $ft{'define'} += s/\bcudaDeviceScheduleYield\b/hipDeviceScheduleYield/g;
    $ft{'define'} += s/\bcudaEventBlockingSync\b/hipEventBlockingSync/g;
    $ft{'define'} += s/\bcudaEventDefault\b/hipEventDefault/g;
    $ft{'define'} += s/\bcudaEventDisableTiming\b/hipEventDisableTiming/g;
    $ft{'define'} += s/\bcudaEventInterprocess\b/hipEventInterprocess/g;
    $ft{'define'} += s/\bcudaHostAllocDefault\b/hipHostMallocDefault/g;
    $ft{'define'} += s/\bcudaHostAllocMapped\b/hipHostMallocMapped/g;
    $ft{'define'} += s/\bcudaHostAllocPortable\b/hipHostMallocPortable/g;
    $ft{'define'} += s/\bcudaHostAllocWriteCombined\b/hipHostMallocWriteCombined/g;
    $ft{'define'} += s/\bcudaHostRegisterDefault\b/hipHostRegisterDefault/g;
    $ft{'define'} += s/\bcudaHostRegisterIoMemory\b/hipHostRegisterIoMemory/g;
    $ft{'define'} += s/\bcudaHostRegisterMapped\b/hipHostRegisterMapped/g;
    $ft{'define'} += s/\bcudaHostRegisterPortable\b/hipHostRegisterPortable/g;
    $ft{'define'} += s/\bcudaInvalidDeviceId\b/hipInvalidDeviceId/g;
    $ft{'define'} += s/\bcudaIpcMemLazyEnablePeerAccess\b/hipIpcMemLazyEnablePeerAccess/g;
    $ft{'define'} += s/\bcudaMemAttachGlobal\b/hipMemAttachGlobal/g;
    $ft{'define'} += s/\bcudaMemAttachHost\b/hipMemAttachHost/g;
    $ft{'define'} += s/\bcudaMemAttachSingle\b/hipMemAttachSingle/g;
    $ft{'define'} += s/\bcudaOccupancyDefault\b/hipOccupancyDefault/g;
    $ft{'define'} += s/\bcudaStreamDefault\b/hipStreamDefault/g;
    $ft{'define'} += s/\bcudaStreamNonBlocking\b/hipStreamNonBlocking/g;
    $ft{'define'} += s/\bcudaStreamPerThread\b/hipStreamPerThread/g;
    $ft{'define'} += s/\bcudaTextureType1D\b/hipTextureType1D/g;
    $ft{'define'} += s/\bcudaTextureType1DLayered\b/hipTextureType1DLayered/g;
    $ft{'define'} += s/\bcudaTextureType2D\b/hipTextureType2D/g;
    $ft{'define'} += s/\bcudaTextureType2DLayered\b/hipTextureType2DLayered/g;
    $ft{'define'} += s/\bcudaTextureType3D\b/hipTextureType3D/g;
    $ft{'define'} += s/\bcudaTextureTypeCubemap\b/hipTextureTypeCubemap/g;
    $ft{'define'} += s/\bcudaTextureTypeCubemapLayered\b/hipTextureTypeCubemapLayered/g;
}

# CUDA Kernel Launch Syntax
sub transformKernelLaunch {
    no warnings qw/uninitialized/;
    my $k = 0;

    # kern<...><<<Dg, Db, Ns, S>>>() syntax
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(\s*\)/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), $3, $4, $5, $6)/g;
    # kern<...><<<Dg, Db, Ns, S>>>(...) syntax
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), $3, $4, $5, $6, /g;
    # kern<<<Dg, Db, Ns, S>>>() syntax
    $k += s/([:|\w]+)\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(\s*\)/hipLaunchKernelGGL($1, $2, $3, $4, $5)/g;
    # kern<<<Dg, Db, Ns, S>>>(...) syntax
    $k += s/([:|\w]+)\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(/hipLaunchKernelGGL($1, $2, $3, $4, $5, /g;

    # kern<...><<<Dg, Db, Ns>>>() syntax
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(\s*\)/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), $3, $4, $5, 0)/g;
    # kern<...><<<Dg, Db, Ns>>>(...) syntax
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), $3, $4, $5, 0, /g;
    # kern<<<Dg, Db, Ns>>>() syntax
    $k += s/([:|\w]+)\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(\s*\)/hipLaunchKernelGGL($1, $2, $3, $4, 0)/g;
    # kern<<<Dg, Db, Ns>>>(...) syntax
    $k += s/([:|\w]+)\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(/hipLaunchKernelGGL($1, $2, $3, $4, 0, /g;

    # kern<...><<<Dg, Db>>>() syntax
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(\s*\)/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), $3, $4, 0, 0)/g;
    # kern<...><<<Dg, Db>>>(...) syntax
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), $3, $4, 0, 0, /g;
    # kern<<<Dg, Db>>>() syntax
    $k += s/([:|\w]+)\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(\s*\)/hipLaunchKernelGGL($1, $2, $3, 0, 0)/g;
    # kern<<<Dg, Db>>>(...) syntax
    $k += s/([:|\w]+)\s*<<<\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*,\s*([^,\(\)]+|[\w\s:]*\([\w|\s|,|:|\+|\*|\-|\/|(?R)]+\))\s*>>>\s*\(/hipLaunchKernelGGL($1, $2, $3, 0, 0, /g;

    if ($k) {
        $ft{'kernel_launch'} += $k;
        $Tkernels{$1}++;
    }
}

sub transformCubNamespace {
    my $k = 0;
    $k += s/using\s*namespace\s*cub/using namespace hipcub/g;
    $k += s/\bcub::\b/hipcub::/g;
    return $k;
}

sub transformHostFunctions {
    my $k = 0;
    foreach $func (
        "hipMemcpyToSymbol",
        "hipMemcpyToSymbolAsync"
    )
    {
        $k += s/(?<!\/\/ CHECK: )($func)\s*\(\s*([^,]+)\s*,/$func\(HIP_SYMBOL\($2\),/g
    }
    foreach $func (
        "hipGetSymbolAddress",
        "hipGetSymbolSize",
        "hipMemcpyFromSymbol",
        "hipMemcpyFromSymbolAsync"
    )
    {
        $k += s/(?<!\/\/ CHECK: )($func)\s*\(\s*([^,]+)\s*,\s*([^,\)]+)\s*(,\s*|\))\s*/$func\($2, HIP_SYMBOL\($3\)$4/g;
    }
    foreach $func (
        "hipFuncSetCacheConfig"
    )
    {
        $k += s/(?<!\/\/ CHECK: )($func)\s*\(\s*([^,]+)\s*,/$func\(reinterpret_cast<const void*>\($2\),/g
    }
    foreach $func (
        "hipFuncGetAttributes"
    )
    {
        $k += s/(?<!\/\/ CHECK: )($func)\s*\(\s*([^,]+)\s*,\s*([^,\)]+)\s*(,\s*|\))\s*/$func\($2, reinterpret_cast<const void*>\($3\)$4/g;
    }
    foreach $func (
        "hipModuleOccupancyMaxPotentialBlockSize",
        "hipModuleOccupancyMaxPotentialBlockSizeWithFlags"
    )
    {
        $k += s/(?<!\/\/ CHECK: )($func)\s*\((\s*[^,\)]+\s*),(\s*[^,\)]+\s*),(\s*[^,\)]+\s*),(\s*[^,\)]+\s*)\s*(,\s*|\))\s*/$func\($2,$3,$4$6/g;
    }
    return $k;
}

sub countSupportedDeviceFunctions {
    my $k = 0;
    foreach $func (
        "ynf",
        "yn",
        "y1f",
        "y1",
        "y0f",
        "y0",
        "truncf",
        "trunc",
        "tgammaf",
        "tgamma",
        "tanhf",
        "tanh",
        "tanf",
        "tan",
        "sqrtf",
        "sqrt",
        "sinpif",
        "sinpi",
        "sinhf",
        "sinh",
        "sinf",
        "sincospif",
        "sincospi",
        "sincosf",
        "sincos",
        "sin",
        "signbit",
        "scalbnf",
        "scalbn",
        "scalblnf",
        "scalbln",
        "rsqrtf",
        "rsqrt",
        "roundf",
        "round",
        "rnormf",
        "rnorm4df",
        "rnorm4d",
        "rnorm3df",
        "rnorm3d",
        "rnorm",
        "rintf",
        "rint",
        "rhypotf",
        "rhypot",
        "remquof",
        "remquo",
        "remainderf",
        "remainder",
        "rcbrtf",
        "rcbrt",
        "powf",
        "pow",
        "normf",
        "normcdfinvf",
        "normcdfinv",
        "normcdff",
        "normcdf",
        "norm4df",
        "norm4d",
        "norm3df",
        "norm3d",
        "norm",
        "nextafterf",
        "nextafter",
        "nearbyintf",
        "nearbyint",
        "nanf",
        "nan",
        "modff",
        "modf",
        "min",
        "max",
        "lroundf",
        "lround",
        "lrintf",
        "lrint",
        "logf",
        "logbf",
        "logb",
        "log2f",
        "log2",
        "log1pf",
        "log1p",
        "log10f",
        "log10",
        "log",
        "llroundf",
        "llround",
        "llrintf",
        "llrint",
        "llabs",
        "lgammaf",
        "lgamma",
        "ldexpf",
        "ldexp",
        "labs",
        "jnf",
        "jn",
        "j1f",
        "j1",
        "j0f",
        "j0",
        "isnan",
        "isinf",
        "isfinite",
        "ilogbf",
        "ilogb",
        "hypotf",
        "hypot",
        "htrunc",
        "hsqrt",
        "hsin",
        "hrsqrt",
        "hrint",
        "hrcp",
        "hlog2",
        "hlog10",
        "hlog",
        "hfloor",
        "hexp2",
        "hexp10",
        "hexp",
        "hcos",
        "hceil",
        "h2trunc",
        "h2sqrt",
        "h2sin",
        "h2rsqrt",
        "h2rint",
        "h2rcp",
        "h2log2",
        "h2log10",
        "h2log",
        "h2floor",
        "h2exp2",
        "h2exp10",
        "h2exp",
        "h2cos",
        "h2ceil",
        "frexpf",
        "frexp",
        "fmodf",
        "fmod",
        "fminf",
        "fmin",
        "fmaxf",
        "fmax",
        "fmaf",
        "fma",
        "floorf",
        "floor",
        "fdividef",
        "fdimf",
        "fdim",
        "fabsf",
        "fabs",
        "expm1f",
        "expm1",
        "expf",
        "exp2f",
        "exp2",
        "exp10f",
        "exp10",
        "exp",
        "erfinvf",
        "erfinv",
        "erff",
        "erfcxf",
        "erfcx",
        "erfcinvf",
        "erfcinv",
        "erfcf",
        "erfc",
        "erf",
        "cyl_bessel_i1f",
        "cyl_bessel_i1",
        "cyl_bessel_i0f",
        "cyl_bessel_i0",
        "cospif",
        "cospi",
        "coshf",
        "cosh",
        "cosf",
        "cos",
        "copysignf",
        "copysign",
        "clock64",
        "clock",
        "ceilf",
        "ceil",
        "cbrtf",
        "cbrt",
        "atomicXor_system",
        "atomicXor",
        "atomicSub_system",
        "atomicSub",
        "atomicOr_system",
        "atomicOr",
        "atomicMin_system",
        "atomicMin",
        "atomicMax_system",
        "atomicMax",
        "atomicInc",
        "atomicExch_system",
        "atomicExch",
        "atomicDec",
        "atomicCAS_system",
        "atomicCAS",
        "atomicAnd_system",
        "atomicAnd",
        "atomicAdd_system",
        "atomicAdd",
        "atanhf",
        "atanh",
        "atanf",
        "atan2f",
        "atan2",
        "atan",
        "asinhf",
        "asinh",
        "asinf",
        "asin",
        "acoshf",
        "acosh",
        "acosf",
        "acos",
        "abs",
        "__ushort_as_half",
        "__ushort2half_rz",
        "__ushort2half_ru",
        "__ushort2half_rn",
        "__ushort2half_rd",
        "__usad",
        "__urhadd",
        "__umulhi",
        "__umul64hi",
        "__umul24",
        "__ull2half_rz",
        "__ull2half_ru",
        "__ull2half_rn",
        "__ull2half_rd",
        "__ull2float_rz",
        "__ull2float_ru",
        "__ull2float_rn",
        "__ull2float_rd",
        "__ull2double_rz",
        "__ull2double_ru",
        "__ull2double_rn",
        "__ull2double_rd",
        "__uint_as_float",
        "__uint2half_rz",
        "__uint2half_ru",
        "__uint2half_rn",
        "__uint2half_rd",
        "__uint2float_rz",
        "__uint2float_ru",
        "__uint2float_rn",
        "__uint2float_rd",
        "__uint2double_rn",
        "__uhadd",
        "__threadfence_system",
        "__threadfence_block",
        "__threadfence",
        "__tanf",
        "__syncthreads_or",
        "__syncthreads_count",
        "__syncthreads_and",
        "__syncthreads",
        "__sinf",
        "__sincosf",
        "__short_as_half",
        "__short2half_rz",
        "__short2half_ru",
        "__short2half_rn",
        "__short2half_rd",
        "__shfl_xor",
        "__shfl_up",
        "__shfl_down",
        "__shfl",
        "__saturatef",
        "__sad",
        "__rhadd",
        "__powf",
        "__popcll",
        "__popc",
        "__mulhi",
        "__mul64hi",
        "__mul24",
        "__lows2half2",
        "__lowhigh2highlow",
        "__low2half2",
        "__low2half",
        "__low2float",
        "__longlong_as_double",
        "__logf",
        "__log2f",
        "__log10f",
        "__ll2half_rz",
        "__ll2half_ru",
        "__ll2half_rn",
        "__ll2half_rd",
        "__ll2float_rz",
        "__ll2float_ru",
        "__ll2float_rn",
        "__ll2float_rd",
        "__ll2double_rz",
        "__ll2double_ru",
        "__ll2double_rn",
        "__ll2double_rd",
        "__ldg",
        "__ldcs",
        "__ldcg",
        "__ldca",
        "__int_as_float",
        "__int2half_rz",
        "__int2half_ru",
        "__int2half_rn",
        "__int2half_rd",
        "__int2float_rz",
        "__int2float_ru",
        "__int2float_rn",
        "__int2float_rd",
        "__int2double_rn",
        "__hsub_sat",
        "__hsub2_sat",
        "__hsub2",
        "__hsub",
        "__hneu2",
        "__hneu",
        "__hneg2",
        "__hneg",
        "__hne2",
        "__hne",
        "__hmul_sat",
        "__hmul2_sat",
        "__hmul2",
        "__hmul",
        "__hltu2",
        "__hltu",
        "__hlt2",
        "__hlt",
        "__hleu2",
        "__hleu",
        "__hle2",
        "__hle",
        "__hisnan2",
        "__hisnan",
        "__hisinf",
        "__hiloint2double",
        "__highs2half2",
        "__high2half2",
        "__high2half",
        "__high2float",
        "__hgtu2",
        "__hgtu",
        "__hgt2",
        "__hgt",
        "__hgeu2",
        "__hgeu",
        "__hge2",
        "__hge",
        "__hfma_sat",
        "__hfma2_sat",
        "__hfma2",
        "__hfma",
        "__hequ2",
        "__hequ",
        "__heq2",
        "__heq",
        "__hdiv",
        "__hbneu2",
        "__hbne2",
        "__hbltu2",
        "__hblt2",
        "__hbleu2",
        "__hble2",
        "__hbgtu2",
        "__hbgt2",
        "__hbgeu2",
        "__hbge2",
        "__hbequ2",
        "__hbeq2",
        "__halves2half2",
        "__half_as_ushort",
        "__half_as_short",
        "__half2ushort_rz",
        "__half2ushort_ru",
        "__half2ushort_rn",
        "__half2ushort_rd",
        "__half2ull_rz",
        "__half2ull_ru",
        "__half2ull_rn",
        "__half2ull_rd",
        "__half2uint_rz",
        "__half2uint_ru",
        "__half2uint_rn",
        "__half2uint_rd",
        "__half2short_rz",
        "__half2short_ru",
        "__half2short_rn",
        "__half2short_rd",
        "__half2ll_rz",
        "__half2ll_ru",
        "__half2ll_rn",
        "__half2ll_rd",
        "__half2int_rz",
        "__half2int_ru",
        "__half2int_rn",
        "__half2int_rd",
        "__half2half2",
        "__half2float",
        "__half22float2",
        "__hadd_sat",
        "__hadd2_sat",
        "__hadd2",
        "__hadd",
        "__habs2",
        "__habs",
        "__h2div",
        "__funnelshift_rc",
        "__funnelshift_r",
        "__funnelshift_lc",
        "__funnelshift_l",
        "__fsub_rn",
        "__fsqrt_rn",
        "__frsqrt_rn",
        "__frcp_rn",
        "__fmul_rn",
        "__fmaf_rn",
        "__fma_rn",
        "__floats2half2_rn",
        "__float_as_uint",
        "__float_as_int",
        "__float2ull_rz",
        "__float2ull_ru",
        "__float2ull_rn",
        "__float2ull_rd",
        "__float2uint_rz",
        "__float2uint_ru",
        "__float2uint_rn",
        "__float2uint_rd",
        "__float2ll_rz",
        "__float2ll_ru",
        "__float2ll_rn",
        "__float2ll_rd",
        "__float2int_rz",
        "__float2int_ru",
        "__float2int_rn",
        "__float2int_rd",
        "__float2half_rz",
        "__float2half_ru",
        "__float2half_rn",
        "__float2half_rd",
        "__float2half2_rn",
        "__float2half",
        "__float22half2_rn",
        "__ffsll",
        "__ffs",
        "__fdividef",
        "__fdiv_rn",
        "__fadd_rn",
        "__expf",
        "__exp10f",
        "__dsub_rn",
        "__dsqrt_rn",
        "__drcp_rn",
        "__double_as_longlong",
        "__double2ull_rz",
        "__double2ull_ru",
        "__double2ull_rn",
        "__double2ull_rd",
        "__double2uint_rz",
        "__double2uint_ru",
        "__double2uint_rn",
        "__double2uint_rd",
        "__double2loint",
        "__double2ll_rz",
        "__double2ll_ru",
        "__double2ll_rn",
        "__double2ll_rd",
        "__double2int_rz",
        "__double2int_ru",
        "__double2int_rn",
        "__double2int_rd",
        "__double2hiint",
        "__double2float_rz",
        "__double2float_ru",
        "__double2float_rn",
        "__double2float_rd",
        "__dmul_rn",
        "__ddiv_rn",
        "__dadd_rn",
        "__cosf",
        "__clzll",
        "__clz",
        "__byte_perm",
        "__brevll",
        "__brev",
        "__ballot",
        "__assertfail",
        "__assert_fail",
        "__any",
        "__all"
    )
    {
        # match device function from the list, except those, which have a namespace prefix (aka somenamespace::umin(...));
        # function with only global namespace qualifier '::' (aka ::umin(...)) should be treated as a device function (and warned as well as without such qualifier);
        my $mt_namespace = m/(\w+)::($func)\s*\(\s*.*\s*\)/g;
        my $mt = m/($func)\s*\(\s*.*\s*\)/g;
        if ($mt && !$mt_namespace) {
            $k += $mt;
        }
    }
    return $k;
}

sub warnUnsupportedDeviceFunctions {
    my $line_num = shift;
    my $k = 0;
    foreach $func (
        "umul24",
        "umin",
        "umax",
        "ullmin",
        "ullmax",
        "uint_as_float",
        "uint2float",
        "saturate",
        "mulhi",
        "mul64hi",
        "mul24",
        "llmin",
        "llmax",
        "int_as_float",
        "int2float",
        "float_as_uint",
        "float_as_int",
        "float2int",
        "fdivide",
        "_ldsign",
        "_fdsign",
        "__vsubus4",
        "__vsubus2",
        "__vsubss4",
        "__vsubss2",
        "__vsub4",
        "__vsub2",
        "__vsetne4",
        "__vsetne2",
        "__vsetltu4",
        "__vsetltu2",
        "__vsetlts4",
        "__vsetlts2",
        "__vsetleu4",
        "__vsetleu2",
        "__vsetles4",
        "__vsetles2",
        "__vsetgtu4",
        "__vsetgts4",
        "__vsetgts2",
        "__vsetgeu4",
        "__vsetgeu2",
        "__vsetges4",
        "__vsetges2",
        "__vseteq4",
        "__vseteq2",
        "__vsadu4",
        "__vsadu2",
        "__vsads4",
        "__vsads2",
        "__vnegss4",
        "__vnegss2",
        "__vneg4",
        "__vneg2",
        "__vminu4",
        "__vminu2",
        "__vmins4",
        "__vmins2",
        "__vmaxu4",
        "__vmaxu2",
        "__vmaxs4",
        "__vmaxs2",
        "__vhaddu4",
        "__vhaddu2",
        "__vcmpne4",
        "__vcmpne2",
        "__vcmpltu4",
        "__vcmpltu2",
        "__vcmplts4",
        "__vcmplts2",
        "__vcmpleu4",
        "__vcmples4",
        "__vcmples2",
        "__vcmpgtu4",
        "__vcmpgtu2",
        "__vcmpgts4",
        "__vcmpgts2",
        "__vcmpgeu4",
        "__vcmpgeu2",
        "__vcmpges4",
        "__vcmpges2",
        "__vcmpeq4",
        "__vcmpeq2",
        "__vavgu4",
        "__vavgu2",
        "__vavgs4",
        "__vavgs2",
        "__vaddus4",
        "__vaddus2",
        "__vaddss4",
        "__vaddss2",
        "__vadd4",
        "__vadd2",
        "__vabsss4",
        "__vabsss2",
        "__vabsdiffu4",
        "__vabsdiffu2",
        "__vabsdiffs4",
        "__vabsdiffs2",
        "__vabs4",
        "__vabs2",
        "__trap",
        "__signbitl",
        "__signbitf",
        "__signbit",
        "__shfl_xor_sync",
        "__shfl_up_sync",
        "__shfl_sync",
        "__shfl_down_sync",
        "__prof_trigger",
        "__pm3",
        "__pm2",
        "__pm1",
        "__pm0",
        "__isnanl",
        "__isnanf",
        "__isnan",
        "__isinfl",
        "__isinff",
        "__isinf",
        "__fsub_rz",
        "__fsub_ru",
        "__fsub_rd",
        "__fsqrt_rz",
        "__fsqrt_ru",
        "__fsqrt_rd",
        "__frcp_rz",
        "__frcp_ru",
        "__frcp_rd",
        "__fmul_rz",
        "__fmul_ru",
        "__fmul_rd",
        "__fmaf_rz",
        "__fmaf_ru",
        "__fmaf_rd",
        "__fma_rz",
        "__fma_ru",
        "__fma_rd",
        "__finitel",
        "__finitef",
        "__finite",
        "__fdiv_rz",
        "__fdiv_ru",
        "__fdiv_rd",
        "__fadd_rz",
        "__fadd_ru",
        "__fadd_rd",
        "__dsub_rz",
        "__dsub_ru",
        "__dsub_rd",
        "__dsqrt_rz",
        "__dsqrt_ru",
        "__dsqrt_rd",
        "__drcp_rz",
        "__drcp_ru",
        "__drcp_rd",
        "__dmul_rz",
        "__dmul_ru",
        "__dmul_rd",
        "__ddiv_rz",
        "__ddiv_ru",
        "__ddiv_rd",
        "__dadd_rz",
        "__dadd_ru",
        "__dadd_rd",
        "__brkpt",
        "_Pow_int"
    )
    {
        # match device function from the list, except those, which have a namespace prefix (aka somenamespace::umin(...));
        # function with only global namespace qualifier '::' (aka ::umin(...)) should be treated as a device function (and warned as well as without such qualifier);
        my $mt_namespace = m/(\w+)::($func)\s*\(\s*.*\s*\)/g;
        my $mt = m/($func)\s*\(\s*.*\s*\)/g;
        if ($mt && !$mt_namespace) {
            $k += $mt;
            print STDERR "  warning: $fileName:$line_num: unsupported device function \"$func\": $_\n";
        }
    }
    return $k;
}

sub warnExperimentalFunctions {
    my $line_num = shift;
    my $k = 0;
    while (my($func, $val) = each %experimental_funcs)
    {
        my $mt = m/($func)/g;
        if ($mt) {
            $k += $mt;
            print STDERR "  warning: $fileName:$line_num: experimental identifier \"$func\" in HIP $val\n";
        }
    }
    return $k;
}

sub warnDeprecatedFunctions {
    my $line_num = shift;
    my $k = 0;
    while (my($func, $val) = each %deprecated_funcs)
    {
        my $mt = m/($func)/g;
        if ($mt) {
            $k += $mt;
            my $cudnn = "CUDNN";
            my $cuda = "CUDA";
            if (index(lc($func),lc($cudnn)) == 0) {
                $cuda = $cudnn;
            }
            print STDERR "  warning: $fileName:$line_num: deprecated identifier \"$func\" since $cuda $val\n";
        }
    }
    return $k;
}

sub warnRemovedFunctions {
    my $line_num = shift;
    my $k = 0;
    while (my($func, $val) = each %removed_funcs)
    {
        my $mt = m/($func)/g;
        if ($mt) {
            $k += $mt;
            my $cudnn = "CUDNN";
            my $cuda = "CUDA";
            if (index(lc($func),lc($cudnn)) == 0) {
                $cuda = $cudnn;
            }
            print STDERR "  warning: $fileName:$line_num: removed identifier \"$func\" since $cuda $val\n";
        }
    }
    return $k;
}

sub warnUnsupportedFunctions {
    my $line_num = shift;
    my $k = 0;
    foreach $func (
        "pruneInfo",
        "nvrtcGetSupportedArchs",
        "nvrtcGetNumSupportedArchs",
        "nvrtcGetNVVMSize",
        "nvrtcGetNVVM",
        "nvrtcGetCUBINSize",
        "nvrtcGetCUBIN",
        "libraryPropertyType_t",
        "libraryPropertyType",
        "cusparseZhybsv_solve",
        "cusparseZhybsv_analysis",
        "cusparseZhyb2dense",
        "cusparseZhyb2csc",
        "cusparseZgtsv_nopivot",
        "cusparseZgtsvStridedBatch",
        "cusparseZgtsvInterleavedBatch_bufferSizeExt",
        "cusparseZgtsvInterleavedBatch",
        "cusparseZgtsv",
        "cusparseZgpsvInterleavedBatch_bufferSizeExt",
        "cusparseZgpsvInterleavedBatch",
        "cusparseZgebsr2gebsr_bufferSizeExt",
        "cusparseZgebsr2gebsc_bufferSizeExt",
        "cusparseZdense2hyb",
        "cusparseZcsrsv_solve",
        "cusparseZcsrsv_analysis",
        "cusparseZcsrsm_solve",
        "cusparseZcsrsm_analysis",
        "cusparseZcsrmv_mp",
        "cusparseZcsrilu0",
        "cusparseZcsric0",
        "cusparseZcsr2gebsr_bufferSizeExt",
        "cusparseZcsc2hyb",
        "cusparseZbsrsm2_bufferSizeExt",
        "cusparseZbsrilu02_bufferSizeExt",
        "cusparseZbsric02_bufferSizeExt",
        "cusparseXgebsr2csr",
        "cusparseSpVecDescr",
        "cusparseSpMatSetStridedBatch",
        "cusparseSpMatSetNumBatches",
        "cusparseSpMatGetStridedBatch",
        "cusparseSpMatGetNumBatches",
        "cusparseSpMatDescr",
        "cusparseSpMMOp_destroyPlan",
        "cusparseSpMMOp_createPlan",
        "cusparseSpMMOpPlan_t",
        "cusparseSpMMOpPlan",
        "cusparseSpMMOpAlg_t",
        "cusparseSpMMOp",
        "cusparseSpGEMMreuse_workEstimation",
        "cusparseSpGEMMreuse_nnz",
        "cusparseSpGEMMreuse_copy",
        "cusparseSpGEMMreuse_compute",
        "cusparseSolveAnalysisInfo_t",
        "cusparseSolveAnalysisInfo",
        "cusparseSideMode_t",
        "cusparseShybsv_solve",
        "cusparseShybsv_analysis",
        "cusparseShyb2dense",
        "cusparseShyb2csc",
        "cusparseSgtsv_nopivot",
        "cusparseSgtsvStridedBatch",
        "cusparseSgtsvInterleavedBatch_bufferSizeExt",
        "cusparseSgtsvInterleavedBatch",
        "cusparseSgtsv",
        "cusparseSgpsvInterleavedBatch_bufferSizeExt",
        "cusparseSgpsvInterleavedBatch",
        "cusparseSgebsr2gebsr_bufferSizeExt",
        "cusparseSgebsr2gebsc_bufferSizeExt",
        "cusparseSdense2hyb",
        "cusparseScsrsv_solve",
        "cusparseScsrsv_analysis",
        "cusparseScsrsm_solve",
        "cusparseScsrsm_analysis",
        "cusparseScsrmv_mp",
        "cusparseScsrilu0",
        "cusparseScsric0",
        "cusparseScsr2gebsr_bufferSizeExt",
        "cusparseScsc2hyb",
        "cusparseSbsrsm2_bufferSizeExt",
        "cusparseSbsrilu02_bufferSizeExt",
        "cusparseSbsric02_bufferSizeExt",
        "cusparseMatDescr",
        "cusparseLoggerSetMask",
        "cusparseLoggerSetLevel",
        "cusparseLoggerSetFile",
        "cusparseLoggerSetCallback",
        "cusparseLoggerOpenFile",
        "cusparseLoggerForceDisable",
        "cusparseLoggerCallback_t",
        "cusparseHybMat",
        "cusparseHpruneDense2csr_bufferSizeExt",
        "cusparseHpruneDense2csrNnzByPercentage",
        "cusparseHpruneDense2csrNnz",
        "cusparseHpruneDense2csrByPercentage_bufferSizeExt",
        "cusparseHpruneDense2csrByPercentage",
        "cusparseHpruneDense2csr",
        "cusparseHpruneCsr2csr_bufferSizeExt",
        "cusparseHpruneCsr2csrNnzByPercentage",
        "cusparseHpruneCsr2csrNnz",
        "cusparseHpruneCsr2csrByPercentage_bufferSizeExt",
        "cusparseHpruneCsr2csrByPercentage",
        "cusparseHpruneCsr2csr",
        "cusparseGetLevelInfo",
        "cusparseDnVecDescr",
        "cusparseDnMatSetStridedBatch",
        "cusparseDnMatGetStridedBatch",
        "cusparseDhybsv_solve",
        "cusparseDhybsv_analysis",
        "cusparseDhyb2dense",
        "cusparseDhyb2csc",
        "cusparseDgtsv_nopivot",
        "cusparseDgtsvStridedBatch",
        "cusparseDgtsvInterleavedBatch_bufferSizeExt",
        "cusparseDgtsvInterleavedBatch",
        "cusparseDgtsv",
        "cusparseDgpsvInterleavedBatch_bufferSizeExt",
        "cusparseDgpsvInterleavedBatch",
        "cusparseDgebsr2gebsr_bufferSizeExt",
        "cusparseDgebsr2gebsc_bufferSizeExt",
        "cusparseDestroySolveAnalysisInfo",
        "cusparseDenseToSparseAlg_t",
        "cusparseDdense2hyb",
        "cusparseDcsrsv_solve",
        "cusparseDcsrsv_analysis",
        "cusparseDcsrsm_solve",
        "cusparseDcsrsm_analysis",
        "cusparseDcsrmv_mp",
        "cusparseDcsrilu0",
        "cusparseDcsric0",
        "cusparseDcsr2gebsr_bufferSizeExt",
        "cusparseDcsc2hyb",
        "cusparseDbsrsm2_bufferSizeExt",
        "cusparseDbsrilu02_bufferSizeExt",
        "cusparseDbsric02_bufferSizeExt",
        "cusparseCsrsv_solveEx",
        "cusparseCsrsv_analysisEx",
        "cusparseCsrmvEx_bufferSize",
        "cusparseCsrmvEx",
        "cusparseCsrilu0Ex",
        "cusparseCsrSetStridedBatch",
        "cusparseCsr2cscEx2_bufferSize",
        "cusparseCsr2cscEx2",
        "cusparseCsr2cscEx",
        "cusparseCsr2CscAlg_t",
        "cusparseCreateSolveAnalysisInfo",
        "cusparseCooSetStridedBatch",
        "cusparseContext",
        "cusparseConstrainedGeMM_bufferSize",
        "cusparseConstrainedGeMM",
        "cusparseColorInfo",
        "cusparseChybsv_solve",
        "cusparseChybsv_analysis",
        "cusparseChyb2dense",
        "cusparseChyb2csc",
        "cusparseCgtsv_nopivot",
        "cusparseCgtsvStridedBatch",
        "cusparseCgtsvInterleavedBatch_bufferSizeExt",
        "cusparseCgtsvInterleavedBatch",
        "cusparseCgtsv",
        "cusparseCgpsvInterleavedBatch_bufferSizeExt",
        "cusparseCgpsvInterleavedBatch",
        "cusparseCgebsr2gebsr_bufferSizeExt",
        "cusparseCgebsr2gebsc_bufferSizeExt",
        "cusparseCdense2hyb",
        "cusparseCcsrsv_solve",
        "cusparseCcsrsv_analysis",
        "cusparseCcsrsm_solve",
        "cusparseCcsrsm_analysis",
        "cusparseCcsrmv_mp",
        "cusparseCcsrilu0",
        "cusparseCcsric0",
        "cusparseCcsr2gebsr_bufferSizeExt",
        "cusparseCcsc2hyb",
        "cusparseCbsrsm2_bufferSizeExt",
        "cusparseCbsrilu02_bufferSizeExt",
        "cusparseCbsric02_bufferSizeExt",
        "cusparseAlgMode_t",
        "curand_mtgp32_specific",
        "curand_mtgp32_single_specific",
        "curand_mtgp32_single",
        "curand_Philox4x32_10",
        "curandStateSobol64_t",
        "curandStateSobol64",
        "curandStateScrambledSobol64_t",
        "curandStateScrambledSobol64",
        "curandStateScrambledSobol32_t",
        "curandStateScrambledSobol32",
        "curandSetGeneratorOrdering",
        "curandOrdering_t",
        "curandOrdering",
        "curandMethod_t",
        "curandMethod",
        "curandHistogramM2_t",
        "curandHistogramM2_st",
        "curandHistogramM2V_t",
        "curandHistogramM2V_st",
        "curandHistogramM2K_t",
        "curandHistogramM2K_st",
        "curandGetScrambleConstants64",
        "curandGetScrambleConstants32",
        "curandGetProperty",
        "curandGetDirectionVectors64",
        "curandGetDirectionVectors32",
        "curandGenerateLongLong",
        "curandDistribution_t",
        "curandDistribution_st",
        "curandDistributionShift_t",
        "curandDistributionShift_st",
        "curandDistributionM2Shift_t",
        "curandDistributionM2Shift_st",
        "curandDirectionVectors64_t",
        "curandDirectionVectorSet_t",
        "curandDirectionVectorSet",
        "cufftXtWorkAreaPolicy_t",
        "cufftXtWorkAreaPolicy",
        "cufftXtSubFormat_t",
        "cufftXtSubFormat",
        "cufftXtSetWorkAreaPolicy",
        "cufftXtSetWorkArea",
        "cufftXtSetGPUs",
        "cufftXtQueryType_t",
        "cufftXtQueryType",
        "cufftXtQueryPlan",
        "cufftXtMemcpy",
        "cufftXtMalloc",
        "cufftXtMakePlanMany",
        "cufftXtGetSizeMany",
        "cufftXtFree",
        "cufftXtExecDescriptorZ2Z",
        "cufftXtExecDescriptorZ2D",
        "cufftXtExecDescriptorR2C",
        "cufftXtExecDescriptorD2Z",
        "cufftXtExecDescriptorC2R",
        "cufftXtExecDescriptorC2C",
        "cufftXtExecDescriptor",
        "cufftXtExec",
        "cufftXtCopyType_t",
        "cufftXtCopyType",
        "cufftXt1dFactors_t",
        "cufftXt1dFactors",
        "cufftCompatibility_t",
        "cufftCompatibility",
        "cudnnWgradMode_t",
        "cudnnTransformTensorEx",
        "cudnnTransformTensor",
        "cudnnTransformFilter",
        "cudnnTensorTransformStruct",
        "cudnnTensorTransformDescriptor_t",
        "cudnnTensorStruct",
        "cudnnSpatialTransformerStruct",
        "cudnnSpatialTransformerDescriptor_t",
        "cudnnSpatialTfSamplerForward",
        "cudnnSpatialTfSamplerBackward",
        "cudnnSpatialTfGridGeneratorForward",
        "cudnnSpatialTfGridGeneratorBackward",
        "cudnnSeverity_t",
        "cudnnSetTensorTransformDescriptor",
        "cudnnSetTensorNdDescriptorEx",
        "cudnnSetSpatialTransformerNdDescriptor",
        "cudnnSetSeqDataDescriptor",
        "cudnnSetRNNProjectionLayers",
        "cudnnSetRNNPaddingMode",
        "cudnnSetRNNMatrixMathType",
        "cudnnSetRNNDescriptor_v8",
        "cudnnSetRNNDataDescriptor",
        "cudnnSetRNNBiasMode",
        "cudnnSetRNNAlgorithmDescriptor",
        "cudnnSetFusedOpsVariantParamPackAttribute",
        "cudnnSetFusedOpsConstParamPackAttribute",
        "cudnnSetConvolutionReorderType",
        "cudnnSetCallback",
        "cudnnSetCTCLossDescriptor_v8",
        "cudnnSetCTCLossDescriptorEx",
        "cudnnSetCTCLossDescriptor",
        "cudnnSetAttnDescriptor",
        "cudnnSetAlgorithmPerformance",
        "cudnnSetAlgorithmDescriptor",
        "cudnnSetActivationDescriptorSwishBeta",
        "cudnnSeqDataStruct",
        "cudnnSeqDataDescriptor_t",
        "cudnnSeqDataAxis_t",
        "cudnnSaveAlgorithm",
        "cudnnSamplerType_t",
        "cudnnRuntimeTag_t",
        "cudnnRestoreDropoutDescriptor",
        "cudnnRestoreAlgorithm",
        "cudnnReorderType_t",
        "cudnnReorderFilterAndBias",
        "cudnnReduceTensorStruct",
        "cudnnRNNStruct",
        "cudnnRNNSetClip_v8",
        "cudnnRNNSetClip",
        "cudnnRNNPaddingMode_t",
        "cudnnRNNGetClip_v8",
        "cudnnRNNGetClip",
        "cudnnRNNForwardTrainingEx",
        "cudnnRNNForwardInferenceEx",
        "cudnnRNNForward",
        "cudnnRNNDataStruct",
        "cudnnRNNDataLayout_t",
        "cudnnRNNDataDescriptor_t",
        "cudnnRNNClipMode_t",
        "cudnnRNNBackwardWeights_v8",
        "cudnnRNNBackwardWeightsEx",
        "cudnnRNNBackwardData_v8",
        "cudnnRNNBackwardDataEx",
        "cudnnQueryRuntimeError",
        "cudnnPoolingStruct",
        "cudnnPointwiseMode_t",
        "cudnnPersistentRNNPlan",
        "cudnnOpsTrainVersionCheck",
        "cudnnOpsInferVersionCheck",
        "cudnnOpTensorStruct",
        "cudnnNormalizationForwardTraining",
        "cudnnNormalizationForwardInference",
        "cudnnNormalizationBackward",
        "cudnnNormOps_t",
        "cudnnNormMode_t",
        "cudnnNormAlgo_t",
        "cudnnMultiHeadAttnWeightKind_t",
        "cudnnMultiHeadAttnForward",
        "cudnnMultiHeadAttnBackwardWeights",
        "cudnnMultiHeadAttnBackwardData",
        "cudnnMakeFusedOpsPlan",
        "cudnnLossNormalizationMode_t",
        "cudnnLRNStruct",
        "cudnnInitTransformDest",
        "cudnnIm2Col",
        "cudnnGetTensorTransformDescriptor",
        "cudnnGetTensorSizeInBytes",
        "cudnnGetSeqDataDescriptor",
        "cudnnGetReductionIndicesSize",
        "cudnnGetRNNWeightSpaceSize",
        "cudnnGetRNNWeightParams",
        "cudnnGetRNNTempSpaceSizes",
        "cudnnGetRNNProjectionLayers",
        "cudnnGetRNNPaddingMode",
        "cudnnGetRNNMatrixMathType",
        "cudnnGetRNNForwardTrainingAlgorithmMaxCount",
        "cudnnGetRNNForwardInferenceAlgorithmMaxCount",
        "cudnnGetRNNDescriptor_v8",
        "cudnnGetRNNDescriptor_v6",
        "cudnnGetRNNDataDescriptor",
        "cudnnGetRNNBiasMode",
        "cudnnGetRNNBackwardWeightsAlgorithmMaxCount",
        "cudnnGetRNNBackwardDataAlgorithmMaxCount",
        "cudnnGetProperty",
        "cudnnGetPoolingNdForwardOutputDim",
        "cudnnGetPoolingNdDescriptor",
        "cudnnGetNormalizationTrainingReserveSpaceSize",
        "cudnnGetNormalizationForwardTrainingWorkspaceSize",
        "cudnnGetNormalizationBackwardWorkspaceSize",
        "cudnnGetMultiHeadAttnWeights",
        "cudnnGetMultiHeadAttnBuffers",
        "cudnnGetFusedOpsVariantParamPackAttribute",
        "cudnnGetFusedOpsConstParamPackAttribute",
        "cudnnGetFoldedConvBackwardDataDescriptors",
        "cudnnGetFilterSizeInBytes",
        "cudnnGetDropoutDescriptor",
        "cudnnGetCudartVersion",
        "cudnnGetConvolutionReorderType",
        "cudnnGetConvolutionNdForwardOutputDim",
        "cudnnGetConvolutionNdDescriptor",
        "cudnnGetConvolutionMathType",
        "cudnnGetConvolutionGroupCount",
        "cudnnGetConvolutionForwardAlgorithm_v7",
        "cudnnGetConvolutionForwardAlgorithmMaxCount",
        "cudnnGetConvolutionBackwardFilterAlgorithm_v7",
        "cudnnGetConvolutionBackwardFilterAlgorithmMaxCount",
        "cudnnGetConvolutionBackwardDataAlgorithm_v7",
        "cudnnGetConvolutionBackwardDataAlgorithmMaxCount",
        "cudnnGetCallback",
        "cudnnGetCTCLossWorkspaceSize_v8",
        "cudnnGetCTCLossWorkspaceSize",
        "cudnnGetCTCLossDescriptor_v8",
        "cudnnGetCTCLossDescriptorEx",
        "cudnnGetCTCLossDescriptor",
        "cudnnGetBatchNormalizationTrainingExReserveSpaceSize",
        "cudnnGetBatchNormalizationForwardTrainingExWorkspaceSize",
        "cudnnGetBatchNormalizationBackwardExWorkspaceSize",
        "cudnnGetAttnDescriptor",
        "cudnnGetAlgorithmSpaceSize",
        "cudnnGetAlgorithmPerformance",
        "cudnnGetAlgorithmDescriptor",
        "cudnnGetActivationDescriptorSwishBeta",
        "cudnnGenStatsMode_t",
        "cudnnFusedOps_t",
        "cudnnFusedOpsVariantParamStruct",
        "cudnnFusedOpsVariantParamPack_t",
        "cudnnFusedOpsVariantParamLabel_t",
        "cudnnFusedOpsPointerPlaceHolder_t",
        "cudnnFusedOpsPlan_t",
        "cudnnFusedOpsPlanStruct",
        "cudnnFusedOpsExecute",
        "cudnnFusedOpsConstParamStruct",
        "cudnnFusedOpsConstParamPack_t",
        "cudnnFusedOpsConstParamLabel_t",
        "cudnnForwardMode_t",
        "cudnnFoldingDirection_t",
        "cudnnFindRNNForwardTrainingAlgorithmEx",
        "cudnnFindRNNForwardInferenceAlgorithmEx",
        "cudnnFindRNNBackwardWeightsAlgorithmEx",
        "cudnnFindRNNBackwardDataAlgorithmEx",
        "cudnnFilterStruct",
        "cudnnErrQueryMode_t",
        "cudnnDropoutStruct",
        "cudnnDropoutGetReserveSpaceSize",
        "cudnnDropoutForward",
        "cudnnDropoutBackward",
        "cudnnDivisiveNormalizationForward",
        "cudnnDivisiveNormalizationBackward",
        "cudnnDivNormMode_t",
        "cudnnDeterminism_t",
        "cudnnDestroyTensorTransformDescriptor",
        "cudnnDestroySpatialTransformerDescriptor",
        "cudnnDestroySeqDataDescriptor",
        "cudnnDestroyRNNDataDescriptor",
        "cudnnDestroyFusedOpsVariantParamPack",
        "cudnnDestroyFusedOpsPlan",
        "cudnnDestroyFusedOpsConstParamPack",
        "cudnnDestroyCTCLossDescriptor",
        "cudnnDestroyAttnDescriptor",
        "cudnnDestroyAlgorithmPerformance",
        "cudnnDestroyAlgorithmDescriptor",
        "cudnnDeriveNormTensorDescriptor",
        "cudnnDebug_t",
        "cudnnDebugStruct",
        "cudnnCreateTensorTransformDescriptor",
        "cudnnCreateSpatialTransformerDescriptor",
        "cudnnCreateSeqDataDescriptor",
        "cudnnCreateRNNDataDescriptor",
        "cudnnCreateFusedOpsVariantParamPack",
        "cudnnCreateFusedOpsPlan",
        "cudnnCreateFusedOpsConstParamPack",
        "cudnnCreateCTCLossDescriptor",
        "cudnnCreateAttnDescriptor",
        "cudnnCreateAlgorithmPerformance",
        "cudnnCreateAlgorithmDescriptor",
        "cudnnCopyAlgorithmDescriptor",
        "cudnnConvolutionStruct",
        "cudnnConvolutionBiasActivationForward",
        "cudnnContext",
        "cudnnCnnTrainVersionCheck",
        "cudnnCnnInferVersionCheck",
        "cudnnCallback_t",
        "cudnnCTCLoss_v8",
        "cudnnCTCLossStruct",
        "cudnnCTCLossDescriptor_t",
        "cudnnCTCLossAlgo_t",
        "cudnnCTCLoss",
        "cudnnBuildRNNDynamic",
        "cudnnBnFinalizeStatsMode_t",
        "cudnnBatchNormalizationForwardTrainingEx",
        "cudnnBatchNormalizationBackwardEx",
        "cudnnBatchNormOps_t",
        "cudnnBackendSetAttribute",
        "cudnnBackendNumericalNote_t",
        "cudnnBackendLayoutType_t",
        "cudnnBackendKnobType_t",
        "cudnnBackendInitialize",
        "cudnnBackendHeurMode_t",
        "cudnnBackendGetAttribute",
        "cudnnBackendFinalize",
        "cudnnBackendExecute",
        "cudnnBackendDestroyDescriptor",
        "cudnnBackendDescriptor_t",
        "cudnnBackendDescriptorType_t",
        "cudnnBackendCreateDescriptor",
        "cudnnBackendBehaviorNote_t",
        "cudnnBackendAttributeType_t",
        "cudnnBackendAttributeName_t",
        "cudnnAttnStruct",
        "cudnnAttnQueryMap_t",
        "cudnnAttnDescriptor_t",
        "cudnnAlgorithm_t",
        "cudnnAlgorithmUnionStruct",
        "cudnnAlgorithmStruct",
        "cudnnAlgorithmPerformance_t",
        "cudnnAlgorithmPerformanceStruct",
        "cudnnAlgorithmDescriptor_t",
        "cudnnAdvTrainVersionCheck",
        "cudnnAdvInferVersionCheck",
        "cudnnActivationStruct",
        "cudaWGLGetDevice",
        "cudaVDPAUSetVDPAUDevice",
        "cudaVDPAUGetDevice",
        "cudaUserObject_t",
        "cudaUserObjectRetainFlags",
        "cudaUserObjectRetain",
        "cudaUserObjectRelease",
        "cudaUserObjectNoDestructorSync",
        "cudaUserObjectFlags",
        "cudaUserObjectCreate",
        "cudaUUID_t",
        "cudaThreadSetLimit",
        "cudaThreadGetLimit",
        "cudaThreadExchangeStreamCaptureMode",
        "cudaSynchronizationPolicy",
        "cudaSyncPolicyYield",
        "cudaSyncPolicySpin",
        "cudaSyncPolicyBlockingSync",
        "cudaSyncPolicyAuto",
        "cudaSurfaceFormatMode",
        "cudaStreamSetAttribute",
        "cudaStreamLegacy",
        "cudaStreamGetAttribute",
        "cudaStreamCopyAttributes",
        "cudaStreamAttributeSynchronizationPolicy",
        "cudaStreamAttributeAccessPolicyWindow",
        "cudaStreamAttrValue",
        "cudaStreamAttrID",
        "cudaSharedmemCarveoutMaxShared",
        "cudaSharedmemCarveoutMaxL1",
        "cudaSharedmemCarveoutDefault",
        "cudaSharedCarveout",
        "cudaSetValidDevices",
        "cudaSetDoubleForHost",
        "cudaSetDoubleForDevice",
        "cudaProfilerInitialize",
        "cudaOutputMode_t",
        "cudaOutputMode",
        "cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags",
        "cudaOccupancyMaxPotentialBlockSizeVariableSMem",
        "cudaOccupancyDisableCachingOverride",
        "cudaOccupancyAvailableDynamicSMemPerBlock",
        "cudaNvSciSyncAttrWait",
        "cudaNvSciSyncAttrSignal",
        "cudaMemoryTypeUnregistered",
        "cudaMemoryTypeManaged",
        "cudaMemcpyToArrayAsync",
        "cudaMemcpyFromArrayAsync",
        "cudaMemcpyArrayToArray",
        "cudaMemcpy3DPeerParms",
        "cudaMemcpy3DPeerAsync",
        "cudaMemcpy3DPeer",
        "cudaMemcpy2DArrayToArray",
        "cudaMemPool_t",
        "cudaMemPoolTrimTo",
        "cudaMemPoolSetAttribute",
        "cudaMemPoolSetAccess",
        "cudaMemPoolReuseFollowEventDependencies",
        "cudaMemPoolReuseAllowOpportunistic",
        "cudaMemPoolReuseAllowInternalDependencies",
        "cudaMemPoolPtrExportData",
        "cudaMemPoolProps",
        "cudaMemPoolImportPointer",
        "cudaMemPoolImportFromShareableHandle",
        "cudaMemPoolGetAttribute",
        "cudaMemPoolGetAccess",
        "cudaMemPoolExportToShareableHandle",
        "cudaMemPoolExportPointer",
        "cudaMemPoolDestroy",
        "cudaMemPoolCreate",
        "cudaMemPoolAttrUsedMemHigh",
        "cudaMemPoolAttrUsedMemCurrent",
        "cudaMemPoolAttrReservedMemHigh",
        "cudaMemPoolAttrReservedMemCurrent",
        "cudaMemPoolAttrReleaseThreshold",
        "cudaMemPoolAttr",
        "cudaMemLocationTypeInvalid",
        "cudaMemLocationTypeDevice",
        "cudaMemLocationType",
        "cudaMemLocation",
        "cudaMemHandleTypeWin32Kmt",
        "cudaMemHandleTypeWin32",
        "cudaMemHandleTypePosixFileDescriptor",
        "cudaMemHandleTypeNone",
        "cudaMemAllocationTypePinned",
        "cudaMemAllocationTypeMax",
        "cudaMemAllocationTypeInvalid",
        "cudaMemAllocationType",
        "cudaMemAllocationHandleType",
        "cudaMemAllocNodeParams",
        "cudaMemAccessFlagsProtReadWrite",
        "cudaMemAccessFlagsProtRead",
        "cudaMemAccessFlagsProtNone",
        "cudaMemAccessFlags",
        "cudaMemAccessDesc",
        "cudaMallocFromPoolAsync",
        "cudaMallocAsync",
        "cudaLimitStackSize",
        "cudaLimitPersistingL2CacheSize",
        "cudaLimitMaxL2FetchGranularity",
        "cudaLimitDevRuntimeSyncDepth",
        "cudaLimitDevRuntimePendingLaunchCount",
        "cudaLaunchHostFunc",
        "cudaKeyValuePair",
        "cudaKernelNodeAttributeCooperative",
        "cudaKernelNodeAttributeAccessPolicyWindow",
        "cudaKernelNodeAttrValue",
        "cudaKernelNodeAttrID",
        "cudaHostRegisterReadOnly",
        "cudaGraphicsVDPAURegisterVideoSurface",
        "cudaGraphicsVDPAURegisterOutputSurface",
        "cudaGraphicsResourceSetMapFlags",
        "cudaGraphicsResourceGetMappedMipmappedArray",
        "cudaGraphicsResourceGetMappedEglFrame",
        "cudaGraphicsMapFlagsWriteDiscard",
        "cudaGraphicsMapFlagsReadOnly",
        "cudaGraphicsMapFlagsNone",
        "cudaGraphicsMapFlags",
        "cudaGraphicsEGLRegisterImage",
        "cudaGraphicsD3D9RegisterResource",
        "cudaGraphicsD3D11RegisterResource",
        "cudaGraphicsD3D10RegisterResource",
        "cudaGraphicsCubeFacePositiveZ",
        "cudaGraphicsCubeFacePositiveY",
        "cudaGraphicsCubeFacePositiveX",
        "cudaGraphicsCubeFaceNegativeZ",
        "cudaGraphicsCubeFaceNegativeY",
        "cudaGraphicsCubeFaceNegativeX",
        "cudaGraphicsCubeFace",
        "cudaGraphUserObjectMove",
        "cudaGraphUpload",
        "cudaGraphRetainUserObject",
        "cudaGraphReleaseUserObject",
        "cudaGraphNodeTypeMemFree",
        "cudaGraphNodeTypeMemAlloc",
        "cudaGraphNodeTypeExtSemaphoreWait",
        "cudaGraphNodeTypeExtSemaphoreSignal",
        "cudaGraphNodeSetEnabled",
        "cudaGraphMemFreeNodeGetParams",
        "cudaGraphMemAttributeType",
        "cudaGraphMemAttrUsedMemHigh",
        "cudaGraphMemAttrUsedMemCurrent",
        "cudaGraphMemAttrReservedMemHigh",
        "cudaGraphMemAttrReservedMemCurrent",
        "cudaGraphMemAllocNodeGetParams",
        "cudaGraphKernelNodeSetAttribute",
        "cudaGraphKernelNodeGetAttribute",
        "cudaGraphKernelNodeCopyAttributes",
        "cudaGraphInstantiateFlags",
        "cudaGraphInstantiateFlagAutoFreeOnLaunch",
        "cudaGraphExternalSemaphoresWaitNodeSetParams",
        "cudaGraphExternalSemaphoresWaitNodeGetParams",
        "cudaGraphExternalSemaphoresSignalNodeSetParams",
        "cudaGraphExternalSemaphoresSignalNodeGetParams",
        "cudaGraphExecUpdateErrorAttributesChanged",
        "cudaGraphExecExternalSemaphoresWaitNodeSetParams",
        "cudaGraphExecExternalSemaphoresSignalNodeSetParams",
        "cudaGraphDebugDotPrint",
        "cudaGraphDebugDotFlagsVerbose",
        "cudaGraphDebugDotFlagsMemsetNodeParams",
        "cudaGraphDebugDotFlagsMemcpyNodeParams",
        "cudaGraphDebugDotFlagsKernelNodeParams",
        "cudaGraphDebugDotFlagsKernelNodeAttributes",
        "cudaGraphDebugDotFlagsHostNodeParams",
        "cudaGraphDebugDotFlagsHandles",
        "cudaGraphDebugDotFlagsExtSemasWaitNodeParams",
        "cudaGraphDebugDotFlagsExtSemasSignalNodeParams",
        "cudaGraphDebugDotFlagsEventNodeParams",
        "cudaGraphDebugDotFlags",
        "cudaGraphClone",
        "cudaGraphAddMemFreeNode",
        "cudaGraphAddMemAllocNode",
        "cudaGraphAddExternalSemaphoresWaitNode",
        "cudaGraphAddExternalSemaphoresSignalNode",
        "cudaGetSurfaceReference",
        "cudaGetSurfaceObjectResourceDesc",
        "cudaGetParameterBufferV2",
        "cudaGetParameterBuffer",
        "cudaGetFuncBySymbol",
        "cudaGetDriverEntryPointFlags",
        "cudaGetDriverEntryPoint",
        "cudaGPUDirectRDMAWritesOrderingOwner",
        "cudaGPUDirectRDMAWritesOrderingNone",
        "cudaGPUDirectRDMAWritesOrderingAllDevices",
        "cudaGPUDirectRDMAWritesOrdering",
        "cudaGLUnregisterBufferObject",
        "cudaGLUnmapBufferObjectAsync",
        "cudaGLUnmapBufferObject",
        "cudaGLSetGLDevice",
        "cudaGLSetBufferObjectMapFlags",
        "cudaGLRegisterBufferObject",
        "cudaGLMapFlagsWriteDiscard",
        "cudaGLMapFlagsReadOnly",
        "cudaGLMapFlagsNone",
        "cudaGLMapFlags",
        "cudaGLMapBufferObjectAsync",
        "cudaGLMapBufferObject",
        "cudaFreeAsync",
        "cudaFormatModeForced",
        "cudaFormatModeAuto",
        "cudaFlushGPUDirectRDMAWritesToOwner",
        "cudaFlushGPUDirectRDMAWritesToAllDevices",
        "cudaFlushGPUDirectRDMAWritesTargetCurrentDevice",
        "cudaFlushGPUDirectRDMAWritesTarget",
        "cudaFlushGPUDirectRDMAWritesScope",
        "cudaFlushGPUDirectRDMAWritesOptions",
        "cudaFlushGPUDirectRDMAWritesOptionMemOps",
        "cudaFlushGPUDirectRDMAWritesOptionHost",
        "cudaExternalSemaphoreWaitSkipNvSciBufMemSync",
        "cudaExternalSemaphoreWaitNodeParams",
        "cudaExternalSemaphoreSignalSkipNvSciBufMemSync",
        "cudaExternalSemaphoreSignalNodeParams",
        "cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32",
        "cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd",
        "cudaExternalSemaphoreHandleTypeNvSciSync",
        "cudaExternalSemaphoreHandleTypeKeyedMutexKmt",
        "cudaExternalSemaphoreHandleTypeKeyedMutex",
        "cudaExternalSemaphoreHandleTypeD3D11Fence",
        "cudaExternalMemoryMipmappedArrayDesc",
        "cudaExternalMemoryHandleTypeNvSciBuf",
        "cudaExternalMemoryGetMappedMipmappedArray",
        "cudaExternalMemoryDedicated",
        "cudaEventWaitExternal",
        "cudaEventWaitDefault",
        "cudaEventRecordWithFlags",
        "cudaEventRecordExternal",
        "cudaEventRecordDefault",
        "cudaEventCreateFromEGLSync",
        "cudaErrorUnsupportedPtxVersion",
        "cudaErrorUnsupportedExecAffinity",
        "cudaErrorTooManyPeers",
        "cudaErrorTimeout",
        "cudaErrorTextureNotBound",
        "cudaErrorTextureFetchFailed",
        "cudaErrorSystemNotReady",
        "cudaErrorSystemDriverMismatch",
        "cudaErrorSynchronizationError",
        "cudaErrorSyncDepthExceeded",
        "cudaErrorStubLibrary",
        "cudaErrorStartupFailure",
        "cudaErrorSoftwareValidityNotEstablished",
        "cudaErrorNvlinkUncorrectable",
        "cudaErrorNotYetImplemented",
        "cudaErrorNotPermitted",
        "cudaErrorMpsServerNotReady",
        "cudaErrorMpsRpcFailure",
        "cudaErrorMpsMaxConnectionsReached",
        "cudaErrorMpsMaxClientsReached",
        "cudaErrorMpsConnectionFailed",
        "cudaErrorMixedDeviceExecution",
        "cudaErrorMisalignedAddress",
        "cudaErrorMemoryValueTooLarge",
        "cudaErrorLaunchPendingCountExceeded",
        "cudaErrorLaunchMaxDepthExceeded",
        "cudaErrorLaunchIncompatibleTexturing",
        "cudaErrorLaunchFileScopedTex",
        "cudaErrorLaunchFileScopedSurf",
        "cudaErrorJitCompilerNotFound",
        "cudaErrorJitCompilationDisabled",
        "cudaErrorInvalidTextureBinding",
        "cudaErrorInvalidTexture",
        "cudaErrorInvalidSurface",
        "cudaErrorInvalidPc",
        "cudaErrorInvalidNormSetting",
        "cudaErrorInvalidHostPointer",
        "cudaErrorInvalidFilterSetting",
        "cudaErrorInvalidChannelDescriptor",
        "cudaErrorInvalidAddressSpace",
        "cudaErrorIncompatibleDriverContext",
        "cudaErrorIllegalInstruction",
        "cudaErrorHardwareStackError",
        "cudaErrorExternalDevice",
        "cudaErrorDuplicateVariableName",
        "cudaErrorDuplicateTextureName",
        "cudaErrorDuplicateSurfaceName",
        "cudaErrorDevicesUnavailable",
        "cudaErrorDeviceNotLicensed",
        "cudaErrorCompatNotSupportedOnDevice",
        "cudaErrorCallRequiresNewerDriver",
        "cudaErrorApiFailureBase",
        "cudaErrorAddressOfConstant",
        "cudaEnablePerThreadDefaultStream",
        "cudaEnableLegacyStream",
        "cudaEnableDefault",
        "cudaEglStreamConnection",
        "cudaEglResourceLocationVidmem",
        "cudaEglResourceLocationSysmem",
        "cudaEglResourceLocationFlags",
        "cudaEglPlaneDesc_st",
        "cudaEglPlaneDesc",
        "cudaEglFrame_st",
        "cudaEglFrameTypePitch",
        "cudaEglFrameTypeArray",
        "cudaEglFrameType",
        "cudaEglFrame",
        "cudaEglColorFormatYVYU_ER",
        "cudaEglColorFormatYVU444SemiPlanar_ER",
        "cudaEglColorFormatYVU444SemiPlanar",
        "cudaEglColorFormatYVU444Planar_ER",
        "cudaEglColorFormatYVU444Planar",
        "cudaEglColorFormatYVU422SemiPlanar_ER",
        "cudaEglColorFormatYVU422SemiPlanar",
        "cudaEglColorFormatYVU422Planar_ER",
        "cudaEglColorFormatYVU422Planar",
        "cudaEglColorFormatYVU420SemiPlanar_ER",
        "cudaEglColorFormatYVU420SemiPlanar",
        "cudaEglColorFormatYVU420Planar_ER",
        "cudaEglColorFormatYVU420Planar",
        "cudaEglColorFormatYUYV_ER",
        "cudaEglColorFormatYUYV422",
        "cudaEglColorFormatYUV_ER",
        "cudaEglColorFormatYUVA_ER",
        "cudaEglColorFormatYUV444SemiPlanar_ER",
        "cudaEglColorFormatYUV444SemiPlanar",
        "cudaEglColorFormatYUV444Planar_ER",
        "cudaEglColorFormatYUV444Planar",
        "cudaEglColorFormatYUV422SemiPlanar_ER",
        "cudaEglColorFormatYUV422SemiPlanar",
        "cudaEglColorFormatYUV422Planar_ER",
        "cudaEglColorFormatYUV422Planar",
        "cudaEglColorFormatYUV420SemiPlanar_ER",
        "cudaEglColorFormatYUV420SemiPlanar",
        "cudaEglColorFormatYUV420Planar_ER",
        "cudaEglColorFormatYUV420Planar",
        "cudaEglColorFormatY12V12U12_444SemiPlanar",
        "cudaEglColorFormatY12V12U12_420SemiPlanar",
        "cudaEglColorFormatY10V10U10_444SemiPlanar",
        "cudaEglColorFormatY10V10U10_420SemiPlanar",
        "cudaEglColorFormatVYUY_ER",
        "cudaEglColorFormatUYVY_ER",
        "cudaEglColorFormatUYVY422",
        "cudaEglColorFormatRGBA",
        "cudaEglColorFormatRGB",
        "cudaEglColorFormatRG",
        "cudaEglColorFormatR",
        "cudaEglColorFormatL",
        "cudaEglColorFormatBayerRGGB",
        "cudaEglColorFormatBayerIspRGGB",
        "cudaEglColorFormatBayerIspGRBG",
        "cudaEglColorFormatBayerIspGBRG",
        "cudaEglColorFormatBayerIspBGGR",
        "cudaEglColorFormatBayerGRBG",
        "cudaEglColorFormatBayerGBRG",
        "cudaEglColorFormatBayerBGGR",
        "cudaEglColorFormatBayer20RGGB",
        "cudaEglColorFormatBayer20GRBG",
        "cudaEglColorFormatBayer20GBRG",
        "cudaEglColorFormatBayer20BGGR",
        "cudaEglColorFormatBayer14RGGB",
        "cudaEglColorFormatBayer14GRBG",
        "cudaEglColorFormatBayer14GBRG",
        "cudaEglColorFormatBayer14BGGR",
        "cudaEglColorFormatBayer12RGGB",
        "cudaEglColorFormatBayer12GRBG",
        "cudaEglColorFormatBayer12GBRG",
        "cudaEglColorFormatBayer12BGGR",
        "cudaEglColorFormatBayer10RGGB",
        "cudaEglColorFormatBayer10GRBG",
        "cudaEglColorFormatBayer10GBRG",
        "cudaEglColorFormatBayer10BGGR",
        "cudaEglColorFormatBGRA",
        "cudaEglColorFormatBGR",
        "cudaEglColorFormatAYUV_ER",
        "cudaEglColorFormatAYUV",
        "cudaEglColorFormatARGB",
        "cudaEglColorFormatABGR",
        "cudaEglColorFormatA",
        "cudaEglColorFormat",
        "cudaEGLStreamProducerReturnFrame",
        "cudaEGLStreamProducerPresentFrame",
        "cudaEGLStreamProducerDisconnect",
        "cudaEGLStreamProducerConnect",
        "cudaEGLStreamConsumerReleaseFrame",
        "cudaEGLStreamConsumerDisconnect",
        "cudaEGLStreamConsumerConnectWithFlags",
        "cudaEGLStreamConsumerConnect",
        "cudaEGLStreamConsumerAcquireFrame",
        "cudaDeviceSetMemPool",
        "cudaDeviceSetLimit",
        "cudaDeviceSetGraphMemAttribute",
        "cudaDevicePropDontCare",
        "cudaDeviceMask",
        "cudaDeviceGraphMemTrim",
        "cudaDeviceGetTexture1DLinearMaxWidth",
        "cudaDeviceGetNvSciSyncAttributes",
        "cudaDeviceGetMemPool",
        "cudaDeviceGetGraphMemAttribute",
        "cudaDeviceGetDefaultMemPool",
        "cudaDeviceFlushGPUDirectRDMAWrites",
        "cudaDevAttrTimelineSemaphoreInteropSupported",
        "cudaDevAttrSparseCudaArraySupported",
        "cudaDevAttrReservedSharedMemoryPerBlock",
        "cudaDevAttrReserved93",
        "cudaDevAttrReserved92",
        "cudaDevAttrMemoryPoolsSupported",
        "cudaDevAttrMemoryPoolSupportedHandleTypes",
        "cudaDevAttrMaxTimelineSemaphoreInteropSupported",
        "cudaDevAttrMaxTextureCubemapLayeredLayers",
        "cudaDevAttrMaxTexture2DLayeredLayers",
        "cudaDevAttrMaxTexture1DLayeredLayers",
        "cudaDevAttrMaxSurfaceCubemapLayeredLayers",
        "cudaDevAttrMaxSurface2DLayeredLayers",
        "cudaDevAttrMaxSurface1DLayeredLayers",
        "cudaDevAttrMaxPersistingL2CacheSize",
        "cudaDevAttrMaxAccessPolicyWindowSize",
        "cudaDevAttrMax",
        "cudaDevAttrHostRegisterSupported",
        "cudaDevAttrHostRegisterReadOnlySupported",
        "cudaDevAttrGPUDirectRDMAWritesOrdering",
        "cudaDevAttrGPUDirectRDMASupported",
        "cudaDevAttrGPUDirectRDMAFlushWritesOptions",
        "cudaDevAttrDeferredMappingCudaArraySupported",
        "cudaDevAttrCanFlushRemoteWrites",
        "cudaD3D9UnregisterResource",
        "cudaD3D9UnmapResources",
        "cudaD3D9SetDirect3DDevice",
        "cudaD3D9ResourceSetMapFlags",
        "cudaD3D9ResourceGetSurfaceDimensions",
        "cudaD3D9ResourceGetMappedSize",
        "cudaD3D9ResourceGetMappedPointer",
        "cudaD3D9ResourceGetMappedPitch",
        "cudaD3D9ResourceGetMappedArray",
        "cudaD3D9RegisterResource",
        "cudaD3D9RegisterFlagsNone",
        "cudaD3D9RegisterFlagsArray",
        "cudaD3D9RegisterFlags",
        "cudaD3D9MapResources",
        "cudaD3D9MapFlagsWriteDiscard",
        "cudaD3D9MapFlagsReadOnly",
        "cudaD3D9MapFlagsNone",
        "cudaD3D9MapFlags",
        "cudaD3D9GetDirect3DDevice",
        "cudaD3D9GetDevices",
        "cudaD3D9GetDevice",
        "cudaD3D9DeviceListNextFrame",
        "cudaD3D9DeviceListCurrentFrame",
        "cudaD3D9DeviceListAll",
        "cudaD3D9DeviceList",
        "cudaD3D11SetDirect3DDevice",
        "cudaD3D11GetDirect3DDevice",
        "cudaD3D11GetDevices",
        "cudaD3D11GetDevice",
        "cudaD3D11DeviceListNextFrame",
        "cudaD3D11DeviceListCurrentFrame",
        "cudaD3D11DeviceListAll",
        "cudaD3D11DeviceList",
        "cudaD3D10UnregisterResource",
        "cudaD3D10UnmapResources",
        "cudaD3D10SetDirect3DDevice",
        "cudaD3D10ResourceSetMapFlags",
        "cudaD3D10ResourceGetSurfaceDimensions",
        "cudaD3D10ResourceGetMappedSize",
        "cudaD3D10ResourceGetMappedPointer",
        "cudaD3D10ResourceGetMappedPitch",
        "cudaD3D10ResourceGetMappedArray",
        "cudaD3D10RegisterResource",
        "cudaD3D10RegisterFlagsNone",
        "cudaD3D10RegisterFlagsArray",
        "cudaD3D10RegisterFlags",
        "cudaD3D10MapResources",
        "cudaD3D10MapFlagsWriteDiscard",
        "cudaD3D10MapFlagsReadOnly",
        "cudaD3D10MapFlagsNone",
        "cudaD3D10MapFlags",
        "cudaD3D10GetDirect3DDevice",
        "cudaD3D10GetDevices",
        "cudaD3D10GetDevice",
        "cudaD3D10DeviceListNextFrame",
        "cudaD3D10DeviceListCurrentFrame",
        "cudaD3D10DeviceListAll",
        "cudaD3D10DeviceList",
        "cudaCtxResetPersistingL2Cache",
        "cudaChannelFormatKindUnsignedNormalized8X4",
        "cudaChannelFormatKindUnsignedNormalized8X2",
        "cudaChannelFormatKindUnsignedNormalized8X1",
        "cudaChannelFormatKindUnsignedNormalized16X4",
        "cudaChannelFormatKindUnsignedNormalized16X2",
        "cudaChannelFormatKindUnsignedNormalized16X1",
        "cudaChannelFormatKindUnsignedBlockCompressed7SRGB",
        "cudaChannelFormatKindUnsignedBlockCompressed7",
        "cudaChannelFormatKindUnsignedBlockCompressed6H",
        "cudaChannelFormatKindUnsignedBlockCompressed5",
        "cudaChannelFormatKindUnsignedBlockCompressed4",
        "cudaChannelFormatKindUnsignedBlockCompressed3SRGB",
        "cudaChannelFormatKindUnsignedBlockCompressed3",
        "cudaChannelFormatKindUnsignedBlockCompressed2SRGB",
        "cudaChannelFormatKindUnsignedBlockCompressed2",
        "cudaChannelFormatKindUnsignedBlockCompressed1SRGB",
        "cudaChannelFormatKindUnsignedBlockCompressed1",
        "cudaChannelFormatKindSignedNormalized8X4",
        "cudaChannelFormatKindSignedNormalized8X2",
        "cudaChannelFormatKindSignedNormalized8X1",
        "cudaChannelFormatKindSignedNormalized16X4",
        "cudaChannelFormatKindSignedNormalized16X2",
        "cudaChannelFormatKindSignedNormalized16X1",
        "cudaChannelFormatKindSignedBlockCompressed6H",
        "cudaChannelFormatKindSignedBlockCompressed5",
        "cudaChannelFormatKindSignedBlockCompressed4",
        "cudaChannelFormatKindNV12",
        "cudaCSV",
        "cudaCGScopeMultiGrid",
        "cudaCGScopeInvalid",
        "cudaCGScopeGrid",
        "cudaCGScope",
        "cudaBindSurfaceToArray",
        "cudaArraySparsePropertiesSingleMipTail",
        "cudaArraySparseProperties",
        "cudaArraySparse",
        "cudaArrayMemoryRequirements",
        "cudaArrayGetSparseProperties",
        "cudaArrayGetPlane",
        "cudaArrayGetMemoryRequirements",
        "cudaArrayGetInfo",
        "cudaArrayDeferredMapping",
        "cudaArrayColorAttachment",
        "cudaAccessPropertyStreaming",
        "cudaAccessPropertyPersisting",
        "cudaAccessPropertyNormal",
        "cudaAccessProperty",
        "cudaAccessPolicyWindow",
        "cuWGLGetDevice",
        "cuVDPAUGetDevice",
        "cuVDPAUCtxCreate",
        "cuUserObjectRetain",
        "cuUserObjectRelease",
        "cuUserObjectCreate",
        "cuThreadExchangeStreamCaptureMode",
        "cuTexRefGetBorderColor",
        "cuTexRefDestroy",
        "cuTexRefCreate",
        "cuSurfRefSetArray",
        "cuSurfRefGetArray",
        "cuSurfObjectGetResourceDesc",
        "cuSurfObjectDestroy",
        "cuSurfObjectCreate",
        "cuStreamSetAttribute",
        "cuStreamGetCtx",
        "cuStreamGetAttribute",
        "cuStreamCopyAttributes",
        "cuStreamBeginCapture_ptsz",
        "cuStreamBatchMemOp",
        "cuProfilerInitialize",
        "cuPointerSetAttribute",
        "cuParamSetv",
        "cuParamSeti",
        "cuParamSetf",
        "cuParamSetTexRef",
        "cuParamSetSize",
        "cuOccupancyAvailableDynamicSMemPerBlock",
        "cuModuleLoadFatBinary",
        "cuModuleGetSurfRef",
        "cuMipmappedArrayGetMemoryRequirements",
        "cuMemsetD2D8_v2",
        "cuMemsetD2D8Async",
        "cuMemsetD2D8",
        "cuMemsetD2D32_v2",
        "cuMemsetD2D32Async",
        "cuMemsetD2D32",
        "cuMemsetD2D16_v2",
        "cuMemsetD2D16Async",
        "cuMemsetD2D16",
        "cuMemcpyPeerAsync",
        "cuMemcpyPeer",
        "cuMemcpyHtoAAsync_v2",
        "cuMemcpyHtoAAsync",
        "cuMemcpyDtoA_v2",
        "cuMemcpyDtoA",
        "cuMemcpyAtoHAsync_v2",
        "cuMemcpyAtoHAsync",
        "cuMemcpyAtoD_v2",
        "cuMemcpyAtoD",
        "cuMemcpyAtoA_v2",
        "cuMemcpyAtoA",
        "cuMemcpyAsync",
        "cuMemcpy3DPeerAsync",
        "cuMemcpy3DPeer",
        "cuMemcpy",
        "cuMemUnmap",
        "cuMemSetAccess",
        "cuMemRetainAllocationHandle",
        "cuMemRelease",
        "cuMemPoolTrimTo",
        "cuMemPoolSetAttribute",
        "cuMemPoolSetAccess",
        "cuMemPoolImportPointer",
        "cuMemPoolImportFromShareableHandle",
        "cuMemPoolGetAttribute",
        "cuMemPoolGetAccess",
        "cuMemPoolExportToShareableHandle",
        "cuMemPoolExportPointer",
        "cuMemPoolDestroy",
        "cuMemPoolCreate",
        "cuMemMapArrayAsync",
        "cuMemMap",
        "cuMemImportFromShareableHandle",
        "cuMemGetAllocationPropertiesFromHandle",
        "cuMemGetAllocationGranularity",
        "cuMemGetAccess",
        "cuMemFreeAsync",
        "cuMemExportToShareableHandle",
        "cuMemCreate",
        "cuMemAllocFromPoolAsync",
        "cuMemAllocAsync",
        "cuMemAddressReserve",
        "cuMemAddressFree",
        "cuLinkDestroy",
        "cuLinkCreate_v2",
        "cuLinkCreate",
        "cuLinkComplete",
        "cuLinkAddFile_v2",
        "cuLinkAddFile",
        "cuLinkAddData_v2",
        "cuLinkAddData",
        "cuLaunchHostFunc",
        "cuLaunchGridAsync",
        "cuLaunchGrid",
        "cuLaunchCooperativeKernelMultiDevice",
        "cuLaunchCooperativeKernel",
        "cuLaunch",
        "cuGraphicsVDPAURegisterVideoSurface",
        "cuGraphicsVDPAURegisterOutputSurface",
        "cuGraphicsResourceSetMapFlags_v2",
        "cuGraphicsResourceSetMapFlags",
        "cuGraphicsResourceGetMappedMipmappedArray",
        "cuGraphicsResourceGetMappedEglFrame",
        "cuGraphicsEGLRegisterImage",
        "cuGraphicsD3D9RegisterResource",
        "cuGraphicsD3D11RegisterResource",
        "cuGraphicsD3D10RegisterResource",
        "cuGraphUpload",
        "cuGraphRetainUserObject",
        "cuGraphReleaseUserObject",
        "cuGraphNodeSetEnabled",
        "cuGraphNodeGetEnabled",
        "cuGraphMemFreeNodeGetParams",
        "cuGraphMemAllocNodeGetParams",
        "cuGraphKernelNodeSetAttribute",
        "cuGraphKernelNodeGetAttribute",
        "cuGraphKernelNodeCopyAttributes",
        "cuGraphExternalSemaphoresWaitNodeSetParams",
        "cuGraphExternalSemaphoresWaitNodeGetParams",
        "cuGraphExternalSemaphoresSignalNodeSetParams",
        "cuGraphExternalSemaphoresSignalNodeGetParams",
        "cuGraphExecMemsetNodeSetParams",
        "cuGraphExecMemcpyNodeSetParams",
        "cuGraphExecExternalSemaphoresWaitNodeSetParams",
        "cuGraphExecExternalSemaphoresSignalNodeSetParams",
        "cuGraphDebugDotPrint",
        "cuGraphClone",
        "cuGraphAddMemsetNode",
        "cuGraphAddMemcpyNode",
        "cuGraphAddMemFreeNode",
        "cuGraphAddMemAllocNode",
        "cuGraphAddExternalSemaphoresWaitNode",
        "cuGraphAddExternalSemaphoresSignalNode",
        "cuGetProcAddress",
        "cuGetErrorString",
        "cuGetErrorName",
        "cuGLUnregisterBufferObject",
        "cuGLUnmapBufferObjectAsync",
        "cuGLUnmapBufferObject",
        "cuGLSetBufferObjectMapFlags",
        "cuGLRegisterBufferObject",
        "cuGLMapBufferObjectAsync",
        "cuGLMapBufferObject",
        "cuGLInit",
        "cuGLCtxCreate",
        "cuFuncSetSharedSize",
        "cuFuncSetSharedMemConfig",
        "cuFuncSetCacheConfig",
        "cuFuncSetBlockShape",
        "cuFuncSetAttribute",
        "cuFuncGetModule",
        "cuFlushGPUDirectRDMAWrites",
        "cuExternalMemoryGetMappedMipmappedArray",
        "cuEventRecordWithFlags",
        "cuEventCreateFromEGLSync",
        "cuEGLStreamProducerReturnFrame",
        "cuEGLStreamProducerPresentFrame",
        "cuEGLStreamProducerDisconnect",
        "cuEGLStreamProducerConnect",
        "cuEGLStreamConsumerReleaseFrame",
        "cuEGLStreamConsumerDisconnect",
        "cuEGLStreamConsumerConnectWithFlags",
        "cuEGLStreamConsumerConnect",
        "cuEGLStreamConsumerAcquireFrame",
        "cuDeviceSetMemPool",
        "cuDeviceSetGraphMemAttribute",
        "cuDeviceGraphMemTrim",
        "cuDeviceGetUuid_v2",
        "cuDeviceGetUuid",
        "cuDeviceGetTexture1DLinearMaxWidth",
        "cuDeviceGetProperties",
        "cuDeviceGetNvSciSyncAttributes",
        "cuDeviceGetMemPool",
        "cuDeviceGetLuid",
        "cuDeviceGetGraphMemAttribute",
        "cuDeviceGetExecAffinitySupport",
        "cuDeviceGetDefaultMemPool",
        "cuD3D9UnregisterResource",
        "cuD3D9UnmapResources",
        "cuD3D9ResourceSetMapFlags",
        "cuD3D9ResourceGetSurfaceDimensions",
        "cuD3D9ResourceGetMappedSize",
        "cuD3D9ResourceGetMappedPointer",
        "cuD3D9ResourceGetMappedPitch",
        "cuD3D9ResourceGetMappedArray",
        "cuD3D9RegisterResource",
        "cuD3D9MapResources",
        "cuD3D9GetDirect3DDevice",
        "cuD3D9GetDevices",
        "cuD3D9GetDevice",
        "cuD3D9CtxCreateOnDevice",
        "cuD3D9CtxCreate",
        "cuD3D11GetDirect3DDevice",
        "cuD3D11GetDevices",
        "cuD3D11GetDevice",
        "cuD3D11CtxCreateOnDevice",
        "cuD3D11CtxCreate",
        "cuD3D10UnregisterResource",
        "cuD3D10UnmapResources",
        "cuD3D10ResourceSetMapFlags",
        "cuD3D10ResourceGetSurfaceDimensions",
        "cuD3D10ResourceGetMappedSize",
        "cuD3D10ResourceGetMappedPointer",
        "cuD3D10ResourceGetMappedPitch",
        "cuD3D10ResourceGetMappedArray",
        "cuD3D10RegisterResource",
        "cuD3D10MapResources",
        "cuD3D10GetDirect3DDevice",
        "cuD3D10GetDevices",
        "cuD3D10GetDevice",
        "cuD3D10CtxCreateOnDevice",
        "cuD3D10CtxCreate",
        "cuCtxSetLimit",
        "cuCtxResetPersistingL2Cache",
        "cuCtxGetExecAffinity",
        "cuCtxDetach",
        "cuCtxCreate_v3",
        "cuCtxAttach",
        "cuArrayGetSparseProperties",
        "cuArrayGetPlane",
        "cuArrayGetMemoryRequirements",
        "cuArrayGetDescriptor_v2",
        "cuArrayGetDescriptor",
        "cuArray3DGetDescriptor_v2",
        "cuArray3DGetDescriptor",
        "csrsv2Info",
        "csrsm2Info",
        "csrilu02Info",
        "csrgemm2Info",
        "bsrsv2Info",
        "bsrilu02Info",
        "bsric02Info",
        "__curand_umul",
        "PATCH_LEVEL",
        "MINOR_VERSION",
        "MAX_CUFFT_ERROR",
        "MAJOR_VERSION",
        "CUuuid_st",
        "CUuuid",
        "CUuserObject_st",
        "CUuserObject_flags_enum",
        "CUuserObject_flags",
        "CUuserObjectRetain_flags_enum",
        "CUuserObjectRetain_flags",
        "CUuserObject",
        "CUsynchronizationPolicy_enum",
        "CUsynchronizationPolicy",
        "CUsurfref_st",
        "CUsurfref",
        "CUstream_flags_enum",
        "CUstream_flags",
        "CUstreamWriteValue_flags_enum",
        "CUstreamWriteValue_flags",
        "CUstreamWaitValue_flags_enum",
        "CUstreamWaitValue_flags",
        "CUstreamBatchMemOpType_enum",
        "CUstreamBatchMemOpType",
        "CUstreamBatchMemOpParams_v1",
        "CUstreamBatchMemOpParams_union",
        "CUstreamBatchMemOpParams",
        "CUstreamAttrValue_v1",
        "CUstreamAttrValue_union",
        "CUstreamAttrValue",
        "CUstreamAttrID_enum",
        "CUstreamAttrID",
        "CUshared_carveout_enum",
        "CUshared_carveout",
        "CUoccupancy_flags_enum",
        "CUoccupancy_flags",
        "CUmemoryPool",
        "CUmemPool_attribute_enum",
        "CUmemPool_attribute",
        "CUmemPoolPtrExportData_v1",
        "CUmemPoolPtrExportData_st",
        "CUmemPoolPtrExportData",
        "CUmemPoolProps_v1",
        "CUmemPoolProps_st",
        "CUmemPoolProps",
        "CUmemPoolHandle_st",
        "CUmemOperationType_enum",
        "CUmemOperationType",
        "CUmemLocation_v1",
        "CUmemLocation_st",
        "CUmemLocationType_enum",
        "CUmemLocationType",
        "CUmemLocation",
        "CUmemHandleType_enum",
        "CUmemHandleType",
        "CUmemGenericAllocationHandle_v1",
        "CUmemGenericAllocationHandle",
        "CUmemAttach_flags_enum",
        "CUmemAttach_flags",
        "CUmemAllocationType_enum",
        "CUmemAllocationType",
        "CUmemAllocationProp_v1",
        "CUmemAllocationProp_st",
        "CUmemAllocationProp",
        "CUmemAllocationHandleType_enum",
        "CUmemAllocationHandleType",
        "CUmemAllocationGranularity_flags_enum",
        "CUmemAllocationGranularity_flags",
        "CUmemAccess_flags_enum",
        "CUmemAccess_flags",
        "CUmemAccessDesc_v1",
        "CUmemAccessDesc_st",
        "CUmemAccessDesc",
        "CUkernelNodeAttrValue_v1",
        "CUkernelNodeAttrValue_union",
        "CUkernelNodeAttrValue",
        "CUkernelNodeAttrID_enum",
        "CUkernelNodeAttrID",
        "CUjit_target_enum",
        "CUjit_target",
        "CUjit_fallback_enum",
        "CUjit_fallback",
        "CUjit_cacheMode_enum",
        "CUjit_cacheMode",
        "CUjitInputType_enum",
        "CUjitInputType",
        "CUipcMem_flags_enum",
        "CUipcMem_flags",
        "CUgraphicsMapResourceFlags_enum",
        "CUgraphicsMapResourceFlags",
        "CUgraphMem_attribute_enum",
        "CUgraphMem_attribute",
        "CUgraphInstantiate_flags_enum",
        "CUgraphInstantiate_flags",
        "CUgraphDebugDot_flags_enum",
        "CUgraphDebugDot_flags",
        "CUflushGPUDirectRDMAWritesTarget_enum",
        "CUflushGPUDirectRDMAWritesTarget",
        "CUflushGPUDirectRDMAWritesScope_enum",
        "CUflushGPUDirectRDMAWritesScope",
        "CUflushGPUDirectRDMAWritesOptions_enum",
        "CUflushGPUDirectRDMAWritesOptions",
        "CUexternalSemaphore_st",
        "CUexternalMemory_st",
        "CUextSemaphore_st",
        "CUextMemory_st",
        "CUexecAffinityType_enum",
        "CUexecAffinityType",
        "CUexecAffinitySmCount_v1",
        "CUexecAffinitySmCount_st",
        "CUexecAffinitySmCount",
        "CUexecAffinityParam_v1",
        "CUexecAffinityParam_st",
        "CUexecAffinityParam",
        "CUevent_wait_flags_enum",
        "CUevent_wait_flags",
        "CUevent_record_flags_enum",
        "CUevent_record_flags",
        "CUevent_flags_enum",
        "CUevent_flags",
        "CUeglStreamConnection_st",
        "CUeglStreamConnection",
        "CUeglResourceLocationFlags_enum",
        "CUeglResourceLocationFlags",
        "CUeglFrameType_enum",
        "CUeglFrameType",
        "CUeglColorFormate_enum",
        "CUeglColorFormat",
        "CUdriverProcAddress_flags_enum",
        "CUdriverProcAddress_flags",
        "CUdevprop_v1",
        "CUdevprop_st",
        "CUdevprop",
        "CUd3d9register_flags_enum",
        "CUd3d9register_flags",
        "CUd3d9map_flags_enum",
        "CUd3d9map_flags",
        "CUd3d9DeviceList_enum",
        "CUd3d9DeviceList",
        "CUd3d11DeviceList_enum",
        "CUd3d11DeviceList",
        "CUd3d10register_flags_enum",
        "CUd3d10register_flags",
        "CUd3d10map_flags_enum",
        "CUd3d10map_flags",
        "CUd3d10DeviceList_enum",
        "CUd3d10DeviceList",
        "CUctx_flags_enum",
        "CUctx_flags",
        "CUarray_cubemap_face_enum",
        "CUarray_cubemap_face",
        "CUarraySparseSubresourceType_enum",
        "CUarraySparseSubresourceType",
        "CUarrayMapInfo_v1",
        "CUarrayMapInfo_st",
        "CUarrayMapInfo",
        "CUaccessProperty_enum",
        "CUaccessProperty",
        "CUaccessPolicyWindow_st",
        "CUaccessPolicyWindow",
        "CU_USER_OBJECT_NO_DESTRUCTOR_SYNC",
        "CU_TRSF_SEAMLESS_CUBEMAP",
        "CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION",
        "CU_TARGET_COMPUTE_86",
        "CU_TARGET_COMPUTE_80",
        "CU_TARGET_COMPUTE_75",
        "CU_TARGET_COMPUTE_73",
        "CU_TARGET_COMPUTE_72",
        "CU_TARGET_COMPUTE_70",
        "CU_TARGET_COMPUTE_62",
        "CU_TARGET_COMPUTE_61",
        "CU_TARGET_COMPUTE_60",
        "CU_TARGET_COMPUTE_53",
        "CU_TARGET_COMPUTE_52",
        "CU_TARGET_COMPUTE_50",
        "CU_TARGET_COMPUTE_37",
        "CU_TARGET_COMPUTE_35",
        "CU_TARGET_COMPUTE_32",
        "CU_TARGET_COMPUTE_30",
        "CU_TARGET_COMPUTE_21",
        "CU_TARGET_COMPUTE_20",
        "CU_TARGET_COMPUTE_13",
        "CU_TARGET_COMPUTE_12",
        "CU_TARGET_COMPUTE_11",
        "CU_TARGET_COMPUTE_10",
        "CU_SYNC_POLICY_YIELD",
        "CU_SYNC_POLICY_SPIN",
        "CU_SYNC_POLICY_BLOCKING_SYNC",
        "CU_SYNC_POLICY_AUTO",
        "CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER",
        "CU_STREAM_WRITE_VALUE_DEFAULT",
        "CU_STREAM_WAIT_VALUE_FLUSH",
        "CU_STREAM_MEM_OP_WRITE_VALUE_64",
        "CU_STREAM_MEM_OP_WRITE_VALUE_32",
        "CU_STREAM_MEM_OP_WAIT_VALUE_64",
        "CU_STREAM_MEM_OP_WAIT_VALUE_32",
        "CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES",
        "CU_STREAM_LEGACY",
        "CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY",
        "CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW",
        "CU_SHAREDMEM_CARVEOUT_MAX_SHARED",
        "CU_SHAREDMEM_CARVEOUT_MAX_L1",
        "CU_SHAREDMEM_CARVEOUT_DEFAULT",
        "CU_PREFER_PTX",
        "CU_PREFER_BINARY",
        "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE",
        "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ",
        "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE",
        "CU_PARAM_TR_DEFAULT",
        "CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE",
        "CU_MEM_OPERATION_TYPE_UNMAP",
        "CU_MEM_OPERATION_TYPE_MAP",
        "CU_MEM_LOCATION_TYPE_MAX",
        "CU_MEM_LOCATION_TYPE_INVALID",
        "CU_MEM_LOCATION_TYPE_DEVICE",
        "CU_MEM_HANDLE_TYPE_WIN32_KMT",
        "CU_MEM_HANDLE_TYPE_WIN32",
        "CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR",
        "CU_MEM_HANDLE_TYPE_NONE",
        "CU_MEM_HANDLE_TYPE_MAX",
        "CU_MEM_HANDLE_TYPE_GENERIC",
        "CU_MEM_CREATE_USAGE_TILE_POOL",
        "CU_MEM_ALLOC_GRANULARITY_RECOMMENDED",
        "CU_MEM_ALLOC_GRANULARITY_MINIMUM",
        "CU_MEM_ALLOCATION_TYPE_PINNED",
        "CU_MEM_ALLOCATION_TYPE_MAX",
        "CU_MEM_ALLOCATION_TYPE_INVALID",
        "CU_MEM_ACCESS_FLAGS_PROT_READWRITE",
        "CU_MEM_ACCESS_FLAGS_PROT_READ",
        "CU_MEM_ACCESS_FLAGS_PROT_NONE",
        "CU_MEM_ACCESS_FLAGS_PROT_MAX",
        "CU_MEMPOOL_ATTR_USED_MEM_HIGH",
        "CU_MEMPOOL_ATTR_USED_MEM_CURRENT",
        "CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES",
        "CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC",
        "CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES",
        "CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH",
        "CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT",
        "CU_MEMPOOL_ATTR_RELEASE_THRESHOLD",
        "CU_MEMHOSTREGISTER_READ_ONLY",
        "CU_LIMIT_STACK_SIZE",
        "CU_LIMIT_PERSISTING_L2_CACHE_SIZE",
        "CU_LIMIT_MAX_L2_FETCH_GRANULARITY",
        "CU_LIMIT_MAX",
        "CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH",
        "CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT",
        "CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE",
        "CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW",
        "CU_JIT_PREC_SQRT",
        "CU_JIT_PREC_DIV",
        "CU_JIT_NUM_INPUT_TYPES",
        "CU_JIT_LTO",
        "CU_JIT_INPUT_PTX",
        "CU_JIT_INPUT_OBJECT",
        "CU_JIT_INPUT_NVVM",
        "CU_JIT_INPUT_LIBRARY",
        "CU_JIT_INPUT_FATBINARY",
        "CU_JIT_INPUT_CUBIN",
        "CU_JIT_GLOBAL_SYMBOL_NAMES",
        "CU_JIT_GLOBAL_SYMBOL_COUNT",
        "CU_JIT_GLOBAL_SYMBOL_ADDRESSES",
        "CU_JIT_FTZ",
        "CU_JIT_FMA",
        "CU_JIT_CACHE_OPTION_NONE",
        "CU_JIT_CACHE_OPTION_CG",
        "CU_JIT_CACHE_OPTION_CA",
        "CU_GRAPH_USER_OBJECT_MOVE",
        "CU_GRAPH_NODE_TYPE_MEM_FREE",
        "CU_GRAPH_NODE_TYPE_MEM_ALLOC",
        "CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT",
        "CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL",
        "CU_GRAPH_MEM_ATTR_USED_MEM_HIGH",
        "CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT",
        "CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH",
        "CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT",
        "CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED",
        "CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE",
        "CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES",
        "CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS",
        "CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS",
        "CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS",
        "CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS",
        "CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS",
        "CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES",
        "CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS",
        "CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES",
        "CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS",
        "CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS",
        "CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS",
        "CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD",
        "CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY",
        "CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE",
        "CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER",
        "CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE",
        "CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES",
        "CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD",
        "CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY",
        "CU_GL_MAP_RESOURCE_FLAGS_NONE",
        "CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM",
        "CU_GET_PROC_ADDRESS_LEGACY_STREAM",
        "CU_GET_PROC_ADDRESS_DEFAULT",
        "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER",
        "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES",
        "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX",
        "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS",
        "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE",
        "CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF",
        "CU_EXEC_AFFINITY_TYPE_SM_COUNT",
        "CU_EXEC_AFFINITY_TYPE_MAX",
        "CU_EVENT_WAIT_EXTERNAL",
        "CU_EVENT_WAIT_DEFAULT",
        "CU_EVENT_RECORD_EXTERNAL",
        "CU_EVENT_RECORD_DEFAULT",
        "CU_EGL_RESOURCE_LOCATION_VIDMEM",
        "CU_EGL_RESOURCE_LOCATION_SYSMEM",
        "CU_EGL_FRAME_TYPE_PITCH",
        "CU_EGL_FRAME_TYPE_ARRAY",
        "CU_EGL_COLOR_FORMAT_YVYU_ER",
        "CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YVU444_PLANAR",
        "CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YVU422_PLANAR",
        "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YVU420_PLANAR",
        "CU_EGL_COLOR_FORMAT_YUYV_ER",
        "CU_EGL_COLOR_FORMAT_YUYV_422",
        "CU_EGL_COLOR_FORMAT_YUV_ER",
        "CU_EGL_COLOR_FORMAT_YUVA_ER",
        "CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YUV444_PLANAR",
        "CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YUV422_PLANAR",
        "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER",
        "CU_EGL_COLOR_FORMAT_YUV420_PLANAR",
        "CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR",
        "CU_EGL_COLOR_FORMAT_VYUY_ER",
        "CU_EGL_COLOR_FORMAT_UYVY_ER",
        "CU_EGL_COLOR_FORMAT_UYVY_422",
        "CU_EGL_COLOR_FORMAT_RGBA",
        "CU_EGL_COLOR_FORMAT_RGB",
        "CU_EGL_COLOR_FORMAT_RG",
        "CU_EGL_COLOR_FORMAT_R",
        "CU_EGL_COLOR_FORMAT_MAX",
        "CU_EGL_COLOR_FORMAT_L",
        "CU_EGL_COLOR_FORMAT_BGRA",
        "CU_EGL_COLOR_FORMAT_BGR",
        "CU_EGL_COLOR_FORMAT_BAYER_RGGB",
        "CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB",
        "CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG",
        "CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG",
        "CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR",
        "CU_EGL_COLOR_FORMAT_BAYER_GRBG",
        "CU_EGL_COLOR_FORMAT_BAYER_GBRG",
        "CU_EGL_COLOR_FORMAT_BAYER_BGGR",
        "CU_EGL_COLOR_FORMAT_BAYER20_RGGB",
        "CU_EGL_COLOR_FORMAT_BAYER20_GRBG",
        "CU_EGL_COLOR_FORMAT_BAYER20_GBRG",
        "CU_EGL_COLOR_FORMAT_BAYER20_BGGR",
        "CU_EGL_COLOR_FORMAT_BAYER14_RGGB",
        "CU_EGL_COLOR_FORMAT_BAYER14_GRBG",
        "CU_EGL_COLOR_FORMAT_BAYER14_GBRG",
        "CU_EGL_COLOR_FORMAT_BAYER14_BGGR",
        "CU_EGL_COLOR_FORMAT_BAYER12_RGGB",
        "CU_EGL_COLOR_FORMAT_BAYER12_GRBG",
        "CU_EGL_COLOR_FORMAT_BAYER12_GBRG",
        "CU_EGL_COLOR_FORMAT_BAYER12_BGGR",
        "CU_EGL_COLOR_FORMAT_BAYER10_RGGB",
        "CU_EGL_COLOR_FORMAT_BAYER10_GRBG",
        "CU_EGL_COLOR_FORMAT_BAYER10_GBRG",
        "CU_EGL_COLOR_FORMAT_BAYER10_BGGR",
        "CU_EGL_COLOR_FORMAT_AYUV_ER",
        "CU_EGL_COLOR_FORMAT_AYUV",
        "CU_EGL_COLOR_FORMAT_ARGB",
        "CU_EGL_COLOR_FORMAT_ABGR",
        "CU_EGL_COLOR_FORMAT_A",
        "CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK",
        "CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES",
        "CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE",
        "CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAX",
        "CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING",
        "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS",
        "CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS",
        "CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS",
        "CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER",
        "CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES",
        "CU_D3D9_REGISTER_FLAGS_NONE",
        "CU_D3D9_REGISTER_FLAGS_ARRAY",
        "CU_D3D9_MAPRESOURCE_FLAGS_WRITEDISCARD",
        "CU_D3D9_MAPRESOURCE_FLAGS_READONLY",
        "CU_D3D9_MAPRESOURCE_FLAGS_NONE",
        "CU_D3D9_DEVICE_LIST_NEXT_FRAME",
        "CU_D3D9_DEVICE_LIST_CURRENT_FRAME",
        "CU_D3D9_DEVICE_LIST_ALL",
        "CU_D3D11_DEVICE_LIST_NEXT_FRAME",
        "CU_D3D11_DEVICE_LIST_CURRENT_FRAME",
        "CU_D3D11_DEVICE_LIST_ALL",
        "CU_D3D10_REGISTER_FLAGS_NONE",
        "CU_D3D10_REGISTER_FLAGS_ARRAY",
        "CU_D3D10_MAPRESOURCE_FLAGS_WRITEDISCARD",
        "CU_D3D10_MAPRESOURCE_FLAGS_READONLY",
        "CU_D3D10_MAPRESOURCE_FLAGS_NONE",
        "CU_D3D10_DEVICE_LIST_NEXT_FRAME",
        "CU_D3D10_DEVICE_LIST_CURRENT_FRAME",
        "CU_D3D10_DEVICE_LIST_ALL",
        "CU_CUBEMAP_FACE_POSITIVE_Z",
        "CU_CUBEMAP_FACE_POSITIVE_Y",
        "CU_CUBEMAP_FACE_POSITIVE_X",
        "CU_CUBEMAP_FACE_NEGATIVE_Z",
        "CU_CUBEMAP_FACE_NEGATIVE_Y",
        "CU_CUBEMAP_FACE_NEGATIVE_X",
        "CU_CTX_FLAGS_MASK",
        "CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL",
        "CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL",
        "CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL",
        "CU_AD_FORMAT_UNORM_INT8X4",
        "CU_AD_FORMAT_UNORM_INT8X2",
        "CU_AD_FORMAT_UNORM_INT8X1",
        "CU_AD_FORMAT_UNORM_INT16X4",
        "CU_AD_FORMAT_UNORM_INT16X2",
        "CU_AD_FORMAT_UNORM_INT16X1",
        "CU_AD_FORMAT_SNORM_INT8X4",
        "CU_AD_FORMAT_SNORM_INT8X2",
        "CU_AD_FORMAT_SNORM_INT8X1",
        "CU_AD_FORMAT_SNORM_INT16X4",
        "CU_AD_FORMAT_SNORM_INT16X2",
        "CU_AD_FORMAT_SNORM_INT16X1",
        "CU_AD_FORMAT_NV12",
        "CU_AD_FORMAT_BC7_UNORM_SRGB",
        "CU_AD_FORMAT_BC7_UNORM",
        "CU_AD_FORMAT_BC6H_UF16",
        "CU_AD_FORMAT_BC6H_SF16",
        "CU_AD_FORMAT_BC5_UNORM",
        "CU_AD_FORMAT_BC5_SNORM",
        "CU_AD_FORMAT_BC4_UNORM",
        "CU_AD_FORMAT_BC4_SNORM",
        "CU_AD_FORMAT_BC3_UNORM_SRGB",
        "CU_AD_FORMAT_BC3_UNORM",
        "CU_AD_FORMAT_BC2_UNORM_SRGB",
        "CU_AD_FORMAT_BC2_UNORM",
        "CU_AD_FORMAT_BC1_UNORM_SRGB",
        "CU_AD_FORMAT_BC1_UNORM",
        "CU_ACCESS_PROPERTY_STREAMING",
        "CU_ACCESS_PROPERTY_PERSISTING",
        "CU_ACCESS_PROPERTY_NORMAL",
        "CUSPARSE_VER_PATCH",
        "CUSPARSE_VER_MINOR",
        "CUSPARSE_VER_MAJOR",
        "CUSPARSE_VER_BUILD",
        "CUSPARSE_VERSION",
        "CUSPARSE_SPMM_OP_ALG_DEFAULT",
        "CUSPARSE_SPMMA_PREPROCESS",
        "CUSPARSE_SPMMA_ALG4",
        "CUSPARSE_SPMMA_ALG3",
        "CUSPARSE_SPMMA_ALG2",
        "CUSPARSE_SPMMA_ALG1",
        "CUSPARSE_SPGEMM_CSR_ALG_NONDETERMINITIC",
        "CUSPARSE_SPGEMM_CSR_ALG_DETERMINITIC",
        "CUSPARSE_SIDE_RIGHT",
        "CUSPARSE_SIDE_LEFT",
        "CUSPARSE_DENSETOSPARSE_ALG_DEFAULT",
        "CUSPARSE_CSR2CSC_ALG2",
        "CUSPARSE_CSR2CSC_ALG1",
        "CUSPARSE_ALG_NAIVE",
        "CUSPARSE_ALG_MERGE_PATH",
        "CUSPARSE_ALG1",
        "CUSPARSE_ALG0",
        "CURAND_VER_PATCH",
        "CURAND_VER_MINOR",
        "CURAND_VER_MAJOR",
        "CURAND_VER_BUILD",
        "CURAND_SCRAMBLED_DIRECTION_VECTORS_64_JOEKUO6",
        "CURAND_SCRAMBLED_DIRECTION_VECTORS_32_JOEKUO6",
        "CURAND_REJECTION",
        "CURAND_POISSON",
        "CURAND_ORDERING_QUASI_DEFAULT",
        "CURAND_ORDERING_PSEUDO_SEEDED",
        "CURAND_ORDERING_PSEUDO_LEGACY",
        "CURAND_ORDERING_PSEUDO_DYNAMIC",
        "CURAND_ORDERING_PSEUDO_DEFAULT",
        "CURAND_ORDERING_PSEUDO_BEST",
        "CURAND_M2",
        "CURAND_M1",
        "CURAND_KNUTH",
        "CURAND_ITR",
        "CURAND_HITR",
        "CURAND_FAST_REJECTION",
        "CURAND_DISCRETE_GAUSS",
        "CURAND_DIRECTION_VECTORS_64_JOEKUO6",
        "CURAND_DIRECTION_VECTORS_32_JOEKUO6",
        "CURAND_DEVICE_API",
        "CURAND_DEFINITION",
        "CURAND_CHOOSE_BEST",
        "CURAND_BINARY_SEARCH",
        "CURAND_3RD",
        "CUGPUDirectRDMAWritesOrdering_enum",
        "CUGPUDirectRDMAWritesOrdering",
        "CUGLmap_flags_enum",
        "CUGLmap_flags",
        "CUFFT_XT_FORMAT_OUTPUT",
        "CUFFT_XT_FORMAT_INPUT",
        "CUFFT_XT_FORMAT_INPLACE_SHUFFLED",
        "CUFFT_XT_FORMAT_INPLACE",
        "CUFFT_XT_FORMAT_1D_INPUT_SHUFFLED",
        "CUFFT_WORKAREA_USER",
        "CUFFT_WORKAREA_PERFORMANCE",
        "CUFFT_WORKAREA_MINIMAL",
        "CUFFT_VER_PATCH",
        "CUFFT_VER_MINOR",
        "CUFFT_VER_MAJOR",
        "CUFFT_VER_BUILD",
        "CUFFT_VERSION",
        "CUFFT_QUERY_UNDEFINED",
        "CUFFT_QUERY_1D_FACTORS",
        "CUFFT_LICENSE_ERROR",
        "CUFFT_FORMAT_UNDEFINED",
        "CUFFT_COPY_UNDEFINED",
        "CUFFT_COPY_HOST_TO_DEVICE",
        "CUFFT_COPY_DEVICE_TO_HOST",
        "CUFFT_COPY_DEVICE_TO_DEVICE",
        "CUFFT_COMPATIBILITY_FFTW_PADDING",
        "CUFFT_COMPATIBILITY_DEFAULT",
        "CUDNN_WGRAD_MODE_SET",
        "CUDNN_WGRAD_MODE_ADD",
        "CUDNN_TYPE_VOID_PTR",
        "CUDNN_TYPE_REDUCTION_OPERATOR_TYPE",
        "CUDNN_TYPE_POINTWISE_MODE",
        "CUDNN_TYPE_NUMERICAL_NOTE",
        "CUDNN_TYPE_NAN_PROPOGATION",
        "CUDNN_TYPE_LAYOUT_TYPE",
        "CUDNN_TYPE_KNOB_TYPE",
        "CUDNN_TYPE_INT64",
        "CUDNN_TYPE_HEUR_MODE",
        "CUDNN_TYPE_HANDLE",
        "CUDNN_TYPE_GENSTATS_MODE",
        "CUDNN_TYPE_FLOAT",
        "CUDNN_TYPE_DOUBLE",
        "CUDNN_TYPE_DATA_TYPE",
        "CUDNN_TYPE_CONVOLUTION_MODE",
        "CUDNN_TYPE_BOOLEAN",
        "CUDNN_TYPE_BN_FINALIZE_STATS_MODE",
        "CUDNN_TYPE_BEHAVIOR_NOTE",
        "CUDNN_TYPE_BACKEND_DESCRIPTOR",
        "CUDNN_TYPE_ATTRIB_NAME",
        "CUDNN_TRANSFORM_UNFOLD",
        "CUDNN_TRANSFORM_FOLD",
        "CUDNN_TENSOR_OP_MATH_ALLOW_CONVERSION",
        "CUDNN_STATUS_VERSION_MISMATCH",
        "CUDNN_STATUS_RUNTIME_IN_PROGRESS",
        "CUDNN_STATUS_RUNTIME_FP_OVERFLOW",
        "CUDNN_SEV_WARNING_EN",
        "CUDNN_SEV_WARNING",
        "CUDNN_SEV_INFO_EN",
        "CUDNN_SEV_INFO",
        "CUDNN_SEV_FATAL",
        "CUDNN_SEV_ERROR_EN",
        "CUDNN_SEV_ERROR",
        "CUDNN_SEQDATA_VECT_DIM",
        "CUDNN_SEQDATA_TIME_DIM",
        "CUDNN_SEQDATA_DIM_COUNT",
        "CUDNN_SEQDATA_BEAM_DIM",
        "CUDNN_SEQDATA_BATCH_DIM",
        "CUDNN_SCALAR_SIZE_T_WORKSPACE_SIZE_IN_BYTES",
        "CUDNN_SCALAR_INT64_T_BN_ACCUMULATION_COUNT",
        "CUDNN_SCALAR_DOUBLE_BN_EXP_AVG_FACTOR",
        "CUDNN_SCALAR_DOUBLE_BN_EPSILON",
        "CUDNN_SAMPLER_BILINEAR",
        "CUDNN_RNN_PADDED_IO_ENABLED",
        "CUDNN_RNN_PADDED_IO_DISABLED",
        "CUDNN_RNN_DATA_LAYOUT_SEQ_MAJOR_UNPACKED",
        "CUDNN_RNN_DATA_LAYOUT_SEQ_MAJOR_PACKED",
        "CUDNN_RNN_DATA_LAYOUT_BATCH_MAJOR_UNPACKED",
        "CUDNN_RNN_CLIP_NONE",
        "CUDNN_RNN_CLIP_MINMAX",
        "CUDNN_RNN_ALGO_COUNT",
        "CUDNN_PTR_ZDATA",
        "CUDNN_PTR_YSUM",
        "CUDNN_PTR_YSQSUM",
        "CUDNN_PTR_YDATA",
        "CUDNN_PTR_XDATA",
        "CUDNN_PTR_WORKSPACE",
        "CUDNN_PTR_WDATA",
        "CUDNN_PTR_NULL",
        "CUDNN_PTR_ELEM_ALIGNED",
        "CUDNN_PTR_DZDATA",
        "CUDNN_PTR_DYDATA",
        "CUDNN_PTR_DXDATA",
        "CUDNN_PTR_DWDATA",
        "CUDNN_PTR_BN_Z_EQSCALE",
        "CUDNN_PTR_BN_Z_EQBIAS",
        "CUDNN_PTR_BN_SCALE",
        "CUDNN_PTR_BN_SAVED_MEAN",
        "CUDNN_PTR_BN_SAVED_INVSTD",
        "CUDNN_PTR_BN_RUNNING_VAR",
        "CUDNN_PTR_BN_RUNNING_MEAN",
        "CUDNN_PTR_BN_EQSCALE",
        "CUDNN_PTR_BN_EQBIAS",
        "CUDNN_PTR_BN_DSCALE",
        "CUDNN_PTR_BN_DBIAS",
        "CUDNN_PTR_BN_BIAS",
        "CUDNN_PTR_ACTIVATION_BITMASK",
        "CUDNN_PTR_16B_ALIGNED",
        "CUDNN_POINTWISE_TANH_FWD",
        "CUDNN_POINTWISE_TANH_BWD",
        "CUDNN_POINTWISE_SWISH_FWD",
        "CUDNN_POINTWISE_SWISH_BWD",
        "CUDNN_POINTWISE_SQRT",
        "CUDNN_POINTWISE_SOFTPLUS_FWD",
        "CUDNN_POINTWISE_SOFTPLUS_BWD",
        "CUDNN_POINTWISE_SIGMOID_FWD",
        "CUDNN_POINTWISE_SIGMOID_BWD",
        "CUDNN_POINTWISE_RELU_FWD",
        "CUDNN_POINTWISE_RELU_BWD",
        "CUDNN_POINTWISE_MUL",
        "CUDNN_POINTWISE_MIN",
        "CUDNN_POINTWISE_MAX",
        "CUDNN_POINTWISE_GELU_FWD",
        "CUDNN_POINTWISE_GELU_BWD",
        "CUDNN_POINTWISE_ELU_FWD",
        "CUDNN_POINTWISE_ELU_BWD",
        "CUDNN_POINTWISE_ADD",
        "CUDNN_PATCHLEVEL",
        "CUDNN_PARAM_ZDESC",
        "CUDNN_PARAM_ZDATA_PLACEHOLDER",
        "CUDNN_PARAM_YSUM_PLACEHOLDER",
        "CUDNN_PARAM_YSTATS_DESC",
        "CUDNN_PARAM_YSQSUM_PLACEHOLDER",
        "CUDNN_PARAM_YDESC",
        "CUDNN_PARAM_YDATA_PLACEHOLDER",
        "CUDNN_PARAM_XDESC",
        "CUDNN_PARAM_XDATA_PLACEHOLDER",
        "CUDNN_PARAM_WDESC",
        "CUDNN_PARAM_WDATA_PLACEHOLDER",
        "CUDNN_PARAM_DZDESC",
        "CUDNN_PARAM_DZDATA_PLACEHOLDER",
        "CUDNN_PARAM_DYDESC",
        "CUDNN_PARAM_DYDATA_PLACEHOLDER",
        "CUDNN_PARAM_DXDESC",
        "CUDNN_PARAM_DXDATA_PLACEHOLDER",
        "CUDNN_PARAM_DWDESC",
        "CUDNN_PARAM_DWDATA_PLACEHOLDER",
        "CUDNN_PARAM_CONV_DESC",
        "CUDNN_PARAM_BN_Z_EQSCALE_PLACEHOLDER",
        "CUDNN_PARAM_BN_Z_EQSCALEBIAS_DESC",
        "CUDNN_PARAM_BN_Z_EQBIAS_PLACEHOLDER",
        "CUDNN_PARAM_BN_SCALE_PLACEHOLDER",
        "CUDNN_PARAM_BN_SCALEBIAS_MEANVAR_DESC",
        "CUDNN_PARAM_BN_SAVED_MEAN_PLACEHOLDER",
        "CUDNN_PARAM_BN_SAVED_INVSTD_PLACEHOLDER",
        "CUDNN_PARAM_BN_RUNNING_VAR_PLACEHOLDER",
        "CUDNN_PARAM_BN_RUNNING_MEAN_PLACEHOLDER",
        "CUDNN_PARAM_BN_MODE",
        "CUDNN_PARAM_BN_EQSCALE_PLACEHOLDER",
        "CUDNN_PARAM_BN_EQSCALEBIAS_DESC",
        "CUDNN_PARAM_BN_EQBIAS_PLACEHOLDER",
        "CUDNN_PARAM_BN_DSCALE_PLACEHOLDER",
        "CUDNN_PARAM_BN_DBIAS_PLACEHOLDER",
        "CUDNN_PARAM_BN_BIAS_PLACEHOLDER",
        "CUDNN_PARAM_ACTIVATION_DESC",
        "CUDNN_PARAM_ACTIVATION_BITMASK_PLACEHOLDER",
        "CUDNN_PARAM_ACTIVATION_BITMASK_DESC",
        "CUDNN_OP_TENSOR_NOT",
        "CUDNN_OPS_TRAIN_PATCH",
        "CUDNN_OPS_TRAIN_MINOR",
        "CUDNN_OPS_TRAIN_MAJOR",
        "CUDNN_OPS_INFER_PATCH",
        "CUDNN_OPS_INFER_MINOR",
        "CUDNN_OPS_INFER_MAJOR",
        "CUDNN_NUMERICAL_NOTE_WINOGRAD",
        "CUDNN_NUMERICAL_NOTE_TYPE_COUNT",
        "CUDNN_NUMERICAL_NOTE_TENSOR_CORE",
        "CUDNN_NUMERICAL_NOTE_REDUCED_PRECISION_REDUCTION",
        "CUDNN_NUMERICAL_NOTE_NONDETERMINISTIC",
        "CUDNN_NUMERICAL_NOTE_FFT",
        "CUDNN_NUMERICAL_NOTE_DOWN_CONVERT_INPUTS",
        "CUDNN_NO_REORDER",
        "CUDNN_NORM_PER_CHANNEL",
        "CUDNN_NORM_PER_ACTIVATION",
        "CUDNN_NORM_OPS_NORM_ADD_ACTIVATION",
        "CUDNN_NORM_OPS_NORM_ACTIVATION",
        "CUDNN_NORM_OPS_NORM",
        "CUDNN_NORM_ALGO_STANDARD",
        "CUDNN_NORM_ALGO_PERSIST",
        "CUDNN_NON_DETERMINISTIC",
        "CUDNN_MINOR",
        "CUDNN_MH_ATTN_V_WEIGHTS",
        "CUDNN_MH_ATTN_V_BIASES",
        "CUDNN_MH_ATTN_Q_WEIGHTS",
        "CUDNN_MH_ATTN_Q_BIASES",
        "CUDNN_MH_ATTN_O_WEIGHTS",
        "CUDNN_MH_ATTN_O_BIASES",
        "CUDNN_MH_ATTN_K_WEIGHTS",
        "CUDNN_MH_ATTN_K_BIASES",
        "CUDNN_MAJOR",
        "CUDNN_LRN_MIN_N",
        "CUDNN_LRN_MIN_K",
        "CUDNN_LRN_MIN_BETA",
        "CUDNN_LRN_MAX_N",
        "CUDNN_LOSS_NORMALIZATION_SOFTMAX",
        "CUDNN_LOSS_NORMALIZATION_NONE",
        "CUDNN_LAYOUT_TYPE_PREFERRED_PAD8CK",
        "CUDNN_LAYOUT_TYPE_PREFERRED_PAD4CK",
        "CUDNN_LAYOUT_TYPE_PREFERRED_NHWC",
        "CUDNN_LAYOUT_TYPE_PREFERRED_NCHW",
        "CUDNN_LAYOUT_TYPE_COUNT",
        "CUDNN_KNOB_TYPE_WINO_TILE",
        "CUDNN_KNOB_TYPE_USE_TEX",
        "CUDNN_KNOB_TYPE_TILE_SIZE",
        "CUDNN_KNOB_TYPE_TILEK",
        "CUDNN_KNOB_TYPE_SWIZZLE",
        "CUDNN_KNOB_TYPE_STAGES",
        "CUDNN_KNOB_TYPE_SPLIT_RS",
        "CUDNN_KNOB_TYPE_SPLIT_K_SLC",
        "CUDNN_KNOB_TYPE_SPLIT_K_BUF",
        "CUDNN_KNOB_TYPE_SPLIT_K",
        "CUDNN_KNOB_TYPE_SPLIT_H",
        "CUDNN_KNOB_TYPE_SPECFILT",
        "CUDNN_KNOB_TYPE_SLICED",
        "CUDNN_KNOB_TYPE_SINGLEBUFFER",
        "CUDNN_KNOB_TYPE_REDUCTION_MODE",
        "CUDNN_KNOB_TYPE_MULTIPLY",
        "CUDNN_KNOB_TYPE_LDGC",
        "CUDNN_KNOB_TYPE_LDGB",
        "CUDNN_KNOB_TYPE_LDGA",
        "CUDNN_KNOB_TYPE_KERNEL_CFG",
        "CUDNN_KNOB_TYPE_KBLOCK",
        "CUDNN_KNOB_TYPE_IDX_MODE",
        "CUDNN_KNOB_TYPE_EDGE",
        "CUDNN_KNOB_TYPE_CTA_SPLIT_K_MODE",
        "CUDNN_KNOB_TYPE_COUNTS",
        "CUDNN_KNOB_TYPE_CHUNK_K",
        "CUDNN_HEUR_MODE_INSTANT",
        "CUDNN_HEUR_MODE_B",
        "CUDNN_HEUR_MODES_COUNT",
        "CUDNN_GENSTATS_SUM_SQSUM",
        "CUDNN_FWD_MODE_TRAINING",
        "CUDNN_FWD_MODE_INFERENCE",
        "CUDNN_FUSED_SCALE_BIAS_ADD_ACTIVATION_GEN_BITMASK",
        "CUDNN_FUSED_SCALE_BIAS_ACTIVATION_WGRAD",
        "CUDNN_FUSED_SCALE_BIAS_ACTIVATION_CONV_BNSTATS",
        "CUDNN_FUSED_DACTIVATION_FORK_DBATCHNORM",
        "CUDNN_FUSED_CONV_SCALE_BIAS_ADD_ACTIVATION",
        "CUDNN_FUSED_BN_FINALIZE_STATISTICS_TRAINING",
        "CUDNN_FUSED_BN_FINALIZE_STATISTICS_INFERENCE",
        "CUDNN_FMA_MATH",
        "CUDNN_ERRQUERY_RAWCODE",
        "CUDNN_ERRQUERY_NONBLOCKING",
        "CUDNN_ERRQUERY_BLOCKING",
        "CUDNN_DIVNORM_PRECOMPUTED_MEANS",
        "CUDNN_DIM_MAX",
        "CUDNN_DETERMINISTIC",
        "CUDNN_DEFAULT_REORDER",
        "CUDNN_DATA_UINT8x4",
        "CUDNN_DATA_UINT8",
        "CUDNN_DATA_INT8x32",
        "CUDNN_DATA_INT64",
        "CUDNN_DATA_BFLOAT16",
        "CUDNN_CTC_LOSS_ALGO_NON_DETERMINISTIC",
        "CUDNN_CTC_LOSS_ALGO_DETERMINISTIC",
        "CUDNN_CNN_TRAIN_PATCH",
        "CUDNN_CNN_TRAIN_MINOR",
        "CUDNN_CNN_TRAIN_MAJOR",
        "CUDNN_CNN_INFER_PATCH",
        "CUDNN_CNN_INFER_MINOR",
        "CUDNN_CNN_INFER_MAJOR",
        "CUDNN_BN_FINALIZE_STATISTICS_TRAINING",
        "CUDNN_BN_FINALIZE_STATISTICS_INFERENCE",
        "CUDNN_BEHAVIOR_NOTE_TYPE_COUNT",
        "CUDNN_BEHAVIOR_NOTE_RUNTIME_COMPILATION",
        "CUDNN_BATCHNORM_OPS_BN_ADD_ACTIVATION",
        "CUDNN_BATCHNORM_OPS_BN_ACTIVATION",
        "CUDNN_BATCHNORM_OPS_BN",
        "CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR",
        "CUDNN_BACKEND_TENSOR_DESCRIPTOR",
        "CUDNN_BACKEND_REDUCTION_DESCRIPTOR",
        "CUDNN_BACKEND_POINTWISE_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATION_BN_FINALIZE_STATISTICS_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATION_BN_BWD_WEIGHTS_DESCRIPTOR",
        "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR",
        "CUDNN_BACKEND_MATMUL_DESCRIPTOR",
        "CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR",
        "CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR",
        "CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR",
        "CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR",
        "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR",
        "CUDNN_BACKEND_ENGINE_DESCRIPTOR",
        "CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR",
        "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR",
        "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR",
        "CUDNN_ATTR_VARIANT_PACK_WORKSPACE",
        "CUDNN_ATTR_VARIANT_PACK_UNIQUE_IDS",
        "CUDNN_ATTR_VARIANT_PACK_INTERMEDIATES",
        "CUDNN_ATTR_VARIANT_PACK_DATA_POINTERS",
        "CUDNN_ATTR_TENSOR_VECTOR_COUNT",
        "CUDNN_ATTR_TENSOR_VECTORIZED_DIMENSION",
        "CUDNN_ATTR_TENSOR_UNIQUE_ID",
        "CUDNN_ATTR_TENSOR_STRIDES",
        "CUDNN_ATTR_TENSOR_IS_VIRTUAL",
        "CUDNN_ATTR_TENSOR_IS_BY_VALUE",
        "CUDNN_ATTR_TENSOR_DIMENSIONS",
        "CUDNN_ATTR_TENSOR_DATA_TYPE",
        "CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT",
        "CUDNN_ATTR_REDUCTION_OPERATOR",
        "CUDNN_ATTR_REDUCTION_COMP_TYPE",
        "CUDNN_ATTR_POINTWISE_SWISH_BETA",
        "CUDNN_ATTR_POINTWISE_SOFTPLUS_BETA",
        "CUDNN_ATTR_POINTWISE_RELU_UPPER_CLIP",
        "CUDNN_ATTR_POINTWISE_RELU_LOWER_CLIP_SLOPE",
        "CUDNN_ATTR_POINTWISE_RELU_LOWER_CLIP",
        "CUDNN_ATTR_POINTWISE_NAN_PROPAGATION",
        "CUDNN_ATTR_POINTWISE_MODE",
        "CUDNN_ATTR_POINTWISE_MATH_PREC",
        "CUDNN_ATTR_POINTWISE_ELU_ALPHA",
        "CUDNN_ATTR_OPERATION_REDUCTION_YDESC",
        "CUDNN_ATTR_OPERATION_REDUCTION_XDESC",
        "CUDNN_ATTR_OPERATION_REDUCTION_DESC",
        "CUDNN_ATTR_OPERATION_POINTWISE_YDESC",
        "CUDNN_ATTR_OPERATION_POINTWISE_XDESC",
        "CUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR",
        "CUDNN_ATTR_OPERATION_POINTWISE_DYDESC",
        "CUDNN_ATTR_OPERATION_POINTWISE_DXDESC",
        "CUDNN_ATTR_OPERATION_POINTWISE_BDESC",
        "CUDNN_ATTR_OPERATION_POINTWISE_ALPHA2",
        "CUDNN_ATTR_OPERATION_POINTWISE_ALPHA1",
        "CUDNN_ATTR_OPERATION_MATMUL_IRREGULARLY_STRIDED_BATCH_COUNT",
        "CUDNN_ATTR_OPERATION_MATMUL_DESC",
        "CUDNN_ATTR_OPERATION_MATMUL_CDESC",
        "CUDNN_ATTR_OPERATION_MATMUL_BDESC",
        "CUDNN_ATTR_OPERATION_MATMUL_ADESC",
        "CUDNN_ATTR_OPERATION_GENSTATS_XDESC",
        "CUDNN_ATTR_OPERATION_GENSTATS_SUMDESC",
        "CUDNN_ATTR_OPERATION_GENSTATS_SQSUMDESC",
        "CUDNN_ATTR_OPERATION_GENSTATS_MODE",
        "CUDNN_ATTR_OPERATION_GENSTATS_MATH_PREC",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA",
        "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_Y_SUM_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_Y_SQ_SUM_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_VAR_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_MEAN_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_STATS_MODE",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_SCALE_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_SAVED_MEAN_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_SAVED_INV_STD_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_VAR_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_MEAN_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_MATH_PREC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_EXP_AVERATE_FACTOR_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_EQ_SCALE_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_EQ_BIAS_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_EPSILON_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_BIAS_DESC",
        "CUDNN_ATTR_OPERATION_BN_FINALIZE_ACCUM_COUNT_DESC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_X_DESC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_MEAN_DESC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_MATH_PREC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_INVSTD_DESC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_X_SCALE_DESC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_DY_SCALE_DESC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_BIAS",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DY_DESC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_SCALE_DESC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC",
        "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC",
        "CUDNN_ATTR_OPERATIONGRAPH_OPS",
        "CUDNN_ATTR_OPERATIONGRAPH_HANDLE",
        "CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT",
        "CUDNN_ATTR_MATMUL_COMP_TYPE",
        "CUDNN_ATTR_LAYOUT_INFO_TYPES",
        "CUDNN_ATTR_LAYOUT_INFO_TENSOR_UID",
        "CUDNN_ATTR_KNOB_INFO_TYPE",
        "CUDNN_ATTR_KNOB_INFO_STRIDE",
        "CUDNN_ATTR_KNOB_INFO_MINIMUM_VALUE",
        "CUDNN_ATTR_KNOB_INFO_MAXIMUM_VALUE",
        "CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE",
        "CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE",
        "CUDNN_ATTR_INTERMEDIATE_INFO_UNIQUE_ID",
        "CUDNN_ATTR_INTERMEDIATE_INFO_SIZE",
        "CUDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_DATA_UIDS",
        "CUDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_ATTRIBUTES",
        "CUDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE",
        "CUDNN_ATTR_EXECUTION_PLAN_RUN_ONLY_INTERMEDIATE_UIDS",
        "CUDNN_ATTR_EXECUTION_PLAN_HANDLE",
        "CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG",
        "CUDNN_ATTR_EXECUTION_PLAN_COMPUTED_INTERMEDIATE_UIDS",
        "CUDNN_ATTR_ENGINE_OPERATION_GRAPH",
        "CUDNN_ATTR_ENGINE_NUMERICAL_NOTE",
        "CUDNN_ATTR_ENGINE_LAYOUT_INFO",
        "CUDNN_ATTR_ENGINE_KNOB_INFO",
        "CUDNN_ATTR_ENGINE_GLOBAL_INDEX",
        "CUDNN_ATTR_ENGINE_BEHAVIOR_NOTE",
        "CUDNN_ATTR_ENGINEHEUR_RESULTS",
        "CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH",
        "CUDNN_ATTR_ENGINEHEUR_MODE",
        "CUDNN_ATTR_ENGINECFG_KNOB_CHOICES",
        "CUDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO",
        "CUDNN_ATTR_ENGINECFG_ENGINE",
        "CUDNN_ATTR_CONVOLUTION_SPATIAL_DIMS",
        "CUDNN_ATTR_CONVOLUTION_PRE_PADDINGS",
        "CUDNN_ATTR_CONVOLUTION_POST_PADDINGS",
        "CUDNN_ATTR_CONVOLUTION_FILTER_STRIDES",
        "CUDNN_ATTR_CONVOLUTION_DILATIONS",
        "CUDNN_ATTR_CONVOLUTION_CONV_MODE",
        "CUDNN_ATTR_CONVOLUTION_COMP_TYPE",
        "CUDNN_ATTN_WKIND_COUNT",
        "CUDNN_ATTN_QUERYMAP_ONE_TO_ONE",
        "CUDNN_ATTN_QUERYMAP_ALL_TO_ONE",
        "CUDNN_ATTN_ENABLE_PROJ_BIASES",
        "CUDNN_ATTN_DISABLE_PROJ_BIASES",
        "CUDNN_ADV_TRAIN_PATCH",
        "CUDNN_ADV_TRAIN_MINOR",
        "CUDNN_ADV_TRAIN_MAJOR",
        "CUDNN_ADV_INFER_PATCH",
        "CUDNN_ADV_INFER_MINOR",
        "CUDNN_ADV_INFER_MAJOR",
        "CUDA_R_64U",
        "CUDA_R_64I",
        "CUDA_R_4U",
        "CUDA_R_4I",
        "CUDA_R_16U",
        "CUDA_R_16I",
        "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1",
        "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st",
        "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS",
        "CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum",
        "CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS",
        "CUDA_NVSCISYNC_ATTR_WAIT",
        "CUDA_NVSCISYNC_ATTR_SIGNAL",
        "CUDA_MEM_ALLOC_NODE_PARAMS_st",
        "CUDA_MEM_ALLOC_NODE_PARAMS",
        "CUDA_MEMCPY3D_PEER_v1",
        "CUDA_MEMCPY3D_PEER_st",
        "CUDA_MEMCPY3D_PEER",
        "CUDA_LAUNCH_PARAMS_v1",
        "CUDA_LAUNCH_PARAMS_st",
        "CUDA_LAUNCH_PARAMS",
        "CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH",
        "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1",
        "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st",
        "CUDA_EXT_SEM_WAIT_NODE_PARAMS",
        "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1",
        "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st",
        "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS",
        "CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC",
        "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC",
        "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1",
        "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st",
        "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC",
        "CUDA_EXTERNAL_MEMORY_DEDICATED",
        "CUDA_ERROR_UNSUPPORTED_PTX_VERSION",
        "CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY",
        "CUDA_ERROR_TOO_MANY_PEERS",
        "CUDA_ERROR_TIMEOUT",
        "CUDA_ERROR_SYSTEM_NOT_READY",
        "CUDA_ERROR_SYSTEM_DRIVER_MISMATCH",
        "CUDA_ERROR_STUB_LIBRARY",
        "CUDA_ERROR_NVLINK_UNCORRECTABLE",
        "CUDA_ERROR_NOT_PERMITTED",
        "CUDA_ERROR_MPS_SERVER_NOT_READY",
        "CUDA_ERROR_MPS_RPC_FAILURE",
        "CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED",
        "CUDA_ERROR_MPS_MAX_CLIENTS_REACHED",
        "CUDA_ERROR_MPS_CONNECTION_FAILED",
        "CUDA_ERROR_MISALIGNED_ADDRESS",
        "CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING",
        "CUDA_ERROR_JIT_COMPILER_NOT_FOUND",
        "CUDA_ERROR_JIT_COMPILATION_DISABLED",
        "CUDA_ERROR_INVALID_PC",
        "CUDA_ERROR_INVALID_ADDRESS_SPACE",
        "CUDA_ERROR_ILLEGAL_INSTRUCTION",
        "CUDA_ERROR_HARDWARE_STACK_ERROR",
        "CUDA_ERROR_EXTERNAL_DEVICE",
        "CUDA_ERROR_DEVICE_NOT_LICENSED",
        "CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE",
        "CUDA_EGL_MAX_PLANES",
        "CUDA_C_64U",
        "CUDA_C_64I",
        "CUDA_C_4U",
        "CUDA_C_4I",
        "CUDA_C_16U",
        "CUDA_C_16I",
        "CUDA_CB",
        "CUDA_ARRAY_SPARSE_PROPERTIES_v1",
        "CUDA_ARRAY_SPARSE_PROPERTIES_st",
        "CUDA_ARRAY_SPARSE_PROPERTIES",
        "CUDA_ARRAY_MEMORY_REQUIREMENTS_v1",
        "CUDA_ARRAY_MEMORY_REQUIREMENTS_st",
        "CUDA_ARRAY_MEMORY_REQUIREMENTS",
        "CUDA_ARRAY3D_SPARSE",
        "CUDA_ARRAY3D_DEPTH_TEXTURE",
        "CUDA_ARRAY3D_DEFERRED_MAPPING",
        "CUDA_ARRAY3D_COLOR_ATTACHMENT",
        "CUDA_ARRAY3D_2DARRAY"
    )
    {
        my $mt = m/($func)/g;
        if ($mt) {
            $k += $mt;
            print STDERR "  warning: $fileName:$line_num: unsupported identifier \"$func\"\n";
        }
    }
    return $k;
}

sub warnHipOnlyUnsupportedFunctions {
    my $line_num = shift;
    my $k = 0;
    foreach $func (
        "cublasZtrttp",
        "cublasZtpttr",
        "cublasZmatinvBatched",
        "cublasZgemm3m",
        "cublasZgelsBatched",
        "cublasXerbla",
        "cublasUint8gemmBias",
        "cublasSwapEx",
        "cublasStrttp",
        "cublasStpttr",
        "cublasSmatinvBatched",
        "cublasShutdown",
        "cublasSgemmEx",
        "cublasSgelsBatched",
        "cublasSetSmCountTarget",
        "cublasSetMathMode",
        "cublasSetLoggerCallback",
        "cublasSetKernelStream",
        "cublasRotmgEx",
        "cublasRotmEx",
        "cublasRotgEx",
        "cublasMigrateComputeType",
        "cublasMath_t",
        "cublasLoggerConfigure",
        "cublasLogCallback",
        "cublasInit",
        "cublasIaminEx",
        "cublasIamaxEx",
        "cublasGetVersion_v2",
        "cublasGetVersion",
        "cublasGetStatusString",
        "cublasGetStatusName",
        "cublasGetSmCountTarget",
        "cublasGetProperty",
        "cublasGetMathMode",
        "cublasGetLoggerCallback",
        "cublasGetError",
        "cublasGetCudartVersion",
        "cublasFree",
        "cublasDtrttp",
        "cublasDtpttr",
        "cublasDmatinvBatched",
        "cublasDgelsBatched",
        "cublasCtrttp",
        "cublasCtpttr",
        "cublasCsyrkEx",
        "cublasCsyrk3mEx",
        "cublasCopyEx",
        "cublasContext",
        "cublasComputeType_t",
        "cublasCmatinvBatched",
        "cublasCherkEx",
        "cublasCherk3mEx",
        "cublasCgemmEx",
        "cublasCgemm3mStridedBatched",
        "cublasCgemm3mEx",
        "cublasCgemm3mBatched",
        "cublasCgemm3m",
        "cublasCgelsBatched",
        "cublasAsumEx",
        "cublasAlloc",
        "CUBLAS_VER_PATCH",
        "CUBLAS_VER_MINOR",
        "CUBLAS_VER_MAJOR",
        "CUBLAS_VER_BUILD",
        "CUBLAS_VERSION",
        "CUBLAS_TF32_TENSOR_OP_MATH",
        "CUBLAS_TENSOR_OP_MATH",
        "CUBLAS_PEDANTIC_MATH",
        "CUBLAS_OP_CONJG",
        "CUBLAS_MATH_DISALLOW_REDUCED_PRECISION_REDUCTION",
        "CUBLAS_GEMM_DFALT_TENSOR_OP",
        "CUBLAS_GEMM_DEFAULT_TENSOR_OP",
        "CUBLAS_GEMM_ALGO9_TENSOR_OP",
        "CUBLAS_GEMM_ALGO9",
        "CUBLAS_GEMM_ALGO8_TENSOR_OP",
        "CUBLAS_GEMM_ALGO8",
        "CUBLAS_GEMM_ALGO7_TENSOR_OP",
        "CUBLAS_GEMM_ALGO7",
        "CUBLAS_GEMM_ALGO6_TENSOR_OP",
        "CUBLAS_GEMM_ALGO6",
        "CUBLAS_GEMM_ALGO5_TENSOR_OP",
        "CUBLAS_GEMM_ALGO5",
        "CUBLAS_GEMM_ALGO4_TENSOR_OP",
        "CUBLAS_GEMM_ALGO4",
        "CUBLAS_GEMM_ALGO3_TENSOR_OP",
        "CUBLAS_GEMM_ALGO3",
        "CUBLAS_GEMM_ALGO2_TENSOR_OP",
        "CUBLAS_GEMM_ALGO23",
        "CUBLAS_GEMM_ALGO22",
        "CUBLAS_GEMM_ALGO21",
        "CUBLAS_GEMM_ALGO20",
        "CUBLAS_GEMM_ALGO2",
        "CUBLAS_GEMM_ALGO1_TENSOR_OP",
        "CUBLAS_GEMM_ALGO19",
        "CUBLAS_GEMM_ALGO18",
        "CUBLAS_GEMM_ALGO17",
        "CUBLAS_GEMM_ALGO16",
        "CUBLAS_GEMM_ALGO15_TENSOR_OP",
        "CUBLAS_GEMM_ALGO15",
        "CUBLAS_GEMM_ALGO14_TENSOR_OP",
        "CUBLAS_GEMM_ALGO14",
        "CUBLAS_GEMM_ALGO13_TENSOR_OP",
        "CUBLAS_GEMM_ALGO13",
        "CUBLAS_GEMM_ALGO12_TENSOR_OP",
        "CUBLAS_GEMM_ALGO12",
        "CUBLAS_GEMM_ALGO11_TENSOR_OP",
        "CUBLAS_GEMM_ALGO11",
        "CUBLAS_GEMM_ALGO10_TENSOR_OP",
        "CUBLAS_GEMM_ALGO10",
        "CUBLAS_GEMM_ALGO1",
        "CUBLAS_GEMM_ALGO0_TENSOR_OP",
        "CUBLAS_GEMM_ALGO0",
        "CUBLAS_DEFAULT_MATH",
        "CUBLAS_COMPUTE_64F_PEDANTIC",
        "CUBLAS_COMPUTE_64F",
        "CUBLAS_COMPUTE_32I_PEDANTIC",
        "CUBLAS_COMPUTE_32I",
        "CUBLAS_COMPUTE_32F_PEDANTIC",
        "CUBLAS_COMPUTE_32F_FAST_TF32",
        "CUBLAS_COMPUTE_32F_FAST_16F",
        "CUBLAS_COMPUTE_32F_FAST_16BF",
        "CUBLAS_COMPUTE_32F",
        "CUBLAS_COMPUTE_16F_PEDANTIC",
        "CUBLAS_COMPUTE_16F"
    )
    {
        my $mt = m/($func)/g;
        if ($mt) {
            $k += $mt;
            print STDERR "  warning: $fileName:$line_num: unsupported identifier \"$func\"\n";
        }
    }
    return $k;
}

sub warnRocOnlyUnsupportedFunctions {
    my $line_num = shift;
    my $k = 0;
    foreach $func (
        "cublasZtrttp",
        "cublasZtpttr",
        "cublasZmatinvBatched",
        "cublasZgetrsBatched",
        "cublasZgetriBatched",
        "cublasZgetrfBatched",
        "cublasZgeqrfBatched",
        "cublasZgemm3m",
        "cublasZgelsBatched",
        "cublasXerbla",
        "cublasUint8gemmBias",
        "cublasSwapEx",
        "cublasStrttp",
        "cublasStpttr",
        "cublasSmatinvBatched",
        "cublasShutdown",
        "cublasSgetrsBatched",
        "cublasSgetriBatched",
        "cublasSgetrfBatched",
        "cublasSgeqrfBatched",
        "cublasSgemmEx",
        "cublasSgelsBatched",
        "cublasSetSmCountTarget",
        "cublasSetMathMode",
        "cublasSetLoggerCallback",
        "cublasSetKernelStream",
        "cublasSetAtomicsMode",
        "cublasRotmgEx",
        "cublasRotmEx",
        "cublasRotgEx",
        "cublasMigrateComputeType",
        "cublasMath_t",
        "cublasLoggerConfigure",
        "cublasLogCallback",
        "cublasInit",
        "cublasIaminEx",
        "cublasIamaxEx",
        "cublasGetVersion_v2",
        "cublasGetVersion",
        "cublasGetStatusString",
        "cublasGetStatusName",
        "cublasGetSmCountTarget",
        "cublasGetProperty",
        "cublasGetMathMode",
        "cublasGetLoggerCallback",
        "cublasGetError",
        "cublasGetCudartVersion",
        "cublasGetAtomicsMode",
        "cublasFree",
        "cublasDtrttp",
        "cublasDtpttr",
        "cublasDmatinvBatched",
        "cublasDgetrsBatched",
        "cublasDgetriBatched",
        "cublasDgetrfBatched",
        "cublasDgeqrfBatched",
        "cublasDgelsBatched",
        "cublasCtrttp",
        "cublasCtpttr",
        "cublasCsyrkEx",
        "cublasCsyrk3mEx",
        "cublasCopyEx",
        "cublasComputeType_t",
        "cublasCmatinvBatched",
        "cublasCherkEx",
        "cublasCherk3mEx",
        "cublasCgetrsBatched",
        "cublasCgetriBatched",
        "cublasCgetrfBatched",
        "cublasCgeqrfBatched",
        "cublasCgemmEx",
        "cublasCgemm3mStridedBatched",
        "cublasCgemm3mEx",
        "cublasCgemm3mBatched",
        "cublasCgemm3m",
        "cublasCgelsBatched",
        "cublasAsumEx",
        "cublasAlloc",
        "CUBLAS_VER_PATCH",
        "CUBLAS_VER_MINOR",
        "CUBLAS_VER_MAJOR",
        "CUBLAS_VER_BUILD",
        "CUBLAS_VERSION",
        "CUBLAS_TF32_TENSOR_OP_MATH",
        "CUBLAS_TENSOR_OP_MATH",
        "CUBLAS_STATUS_LICENSE_ERROR",
        "CUBLAS_PEDANTIC_MATH",
        "CUBLAS_OP_CONJG",
        "CUBLAS_MATH_DISALLOW_REDUCED_PRECISION_REDUCTION",
        "CUBLAS_GEMM_DFALT_TENSOR_OP",
        "CUBLAS_GEMM_DEFAULT_TENSOR_OP",
        "CUBLAS_GEMM_ALGO9_TENSOR_OP",
        "CUBLAS_GEMM_ALGO9",
        "CUBLAS_GEMM_ALGO8_TENSOR_OP",
        "CUBLAS_GEMM_ALGO8",
        "CUBLAS_GEMM_ALGO7_TENSOR_OP",
        "CUBLAS_GEMM_ALGO7",
        "CUBLAS_GEMM_ALGO6_TENSOR_OP",
        "CUBLAS_GEMM_ALGO6",
        "CUBLAS_GEMM_ALGO5_TENSOR_OP",
        "CUBLAS_GEMM_ALGO5",
        "CUBLAS_GEMM_ALGO4_TENSOR_OP",
        "CUBLAS_GEMM_ALGO4",
        "CUBLAS_GEMM_ALGO3_TENSOR_OP",
        "CUBLAS_GEMM_ALGO3",
        "CUBLAS_GEMM_ALGO2_TENSOR_OP",
        "CUBLAS_GEMM_ALGO23",
        "CUBLAS_GEMM_ALGO22",
        "CUBLAS_GEMM_ALGO21",
        "CUBLAS_GEMM_ALGO20",
        "CUBLAS_GEMM_ALGO2",
        "CUBLAS_GEMM_ALGO1_TENSOR_OP",
        "CUBLAS_GEMM_ALGO19",
        "CUBLAS_GEMM_ALGO18",
        "CUBLAS_GEMM_ALGO17",
        "CUBLAS_GEMM_ALGO16",
        "CUBLAS_GEMM_ALGO15_TENSOR_OP",
        "CUBLAS_GEMM_ALGO15",
        "CUBLAS_GEMM_ALGO14_TENSOR_OP",
        "CUBLAS_GEMM_ALGO14",
        "CUBLAS_GEMM_ALGO13_TENSOR_OP",
        "CUBLAS_GEMM_ALGO13",
        "CUBLAS_GEMM_ALGO12_TENSOR_OP",
        "CUBLAS_GEMM_ALGO12",
        "CUBLAS_GEMM_ALGO11_TENSOR_OP",
        "CUBLAS_GEMM_ALGO11",
        "CUBLAS_GEMM_ALGO10_TENSOR_OP",
        "CUBLAS_GEMM_ALGO10",
        "CUBLAS_GEMM_ALGO1",
        "CUBLAS_GEMM_ALGO0_TENSOR_OP",
        "CUBLAS_GEMM_ALGO0",
        "CUBLAS_DEFAULT_MATH",
        "CUBLAS_COMPUTE_64F_PEDANTIC",
        "CUBLAS_COMPUTE_64F",
        "CUBLAS_COMPUTE_32I_PEDANTIC",
        "CUBLAS_COMPUTE_32I",
        "CUBLAS_COMPUTE_32F_PEDANTIC",
        "CUBLAS_COMPUTE_32F_FAST_TF32",
        "CUBLAS_COMPUTE_32F_FAST_16F",
        "CUBLAS_COMPUTE_32F_FAST_16BF",
        "CUBLAS_COMPUTE_32F",
        "CUBLAS_COMPUTE_16F_PEDANTIC",
        "CUBLAS_COMPUTE_16F"
    )
    {
        my $mt = m/($func)/g;
        if ($mt) {
            $k += $mt;
            print STDERR "  warning: $fileName:$line_num: unsupported by ROC identifier \"$func\"\n";
        }
    }
    return $k;
}

# Count of transforms in all files
my %tt;
clearStats(\%tt, \@statNames);
$Twarnings = 0;
$TlineCount = 0;
my %TwarningTags;
my $fileCount = @ARGV;
if ($help) {
    print STDERR "$USAGE\n";
}
if ($version) {
    print STDERR "HIP version 4.2.0\n";
}
while (@ARGV) {
    $fileName=shift (@ARGV);
    my $direxclude = 0;
    my $fileDir = dirname(Cwd::realpath($fileName));
    if ($exclude_dirhash{$fileDir}) {
        print STDERR "Skipping the file: $fileName in the excluded directory: $fileDir \n";
        $direxclude = 1;
    } else {
        $fileDir = dirname($fileDir);
    }
    if ($exclude_filehash{$fileName}) {
        print STDERR "Skipping the excluded file: $fileName \n";
    }
    unless ($direxclude or $exclude_filehash{$fileName}) {
        if ($inplace) {
            my $file_prehip = "$fileName" . ".prehip";
            my $infile;
            my $outfile;
            if (-e $file_prehip) {
                $infile  = $file_prehip;
                $outfile = $fileName;
            } else {
                system ("cp $fileName $file_prehip");
                $infile = $file_prehip;
                $outfile = $fileName;
            }
            open(INFILE,"<", $infile) or die "error: could not open $infile";
            open(OUTFILE,">", $outfile) or die "error: could not open $outfile";
            $OUTFILE = OUTFILE;
        } else {
            open(INFILE,"<", $fileName) or die "error: could not open $fileName";
            if ($hipFileName ne "") {
                open(OUTFILE,">", $hipFileName) or die "error: could not open $hipFileName";
                $OUTFILE = OUTFILE;
            } else {
                $OUTFILE = STDOUT;
            }
        }
        # Count of transforms in this file
        clearStats(\%ft, \@statNames);
        my $countIncludes = 0;
        my $countKeywords = 0;
        my $warnings = 0;
        my %warningTags;
        my $lineCount = 0;
        undef $/;
        # Read whole file at once, so we can match newlines
        while (<INFILE>) {
            $countKeywords += m/__global__/;
            $countKeywords += m/__shared__/;
            unless ($quiet_warnings) {
                my @lines = split /\n/, $_;
                # Copy the whole file
                my $tmp = $_;
                my $line_num = 0;
                foreach (@lines) {
                    $line_num++;
                    if (!$experimental) {
                        $s = warnExperimentalFunctions($line_num);
                        $warnings += $s;
                    }
                    $s = warnRemovedFunctions($line_num);
                    $warnings += $s;
                    $s = warnDeprecatedFunctions($line_num);
                    $warnings += $s;
                    $s = warnUnsupportedFunctions($line_num);
                    $warnings += $s;
                    if ($roc) {
                        $s = warnRocOnlyUnsupportedFunctions($line_num);
                        $warnings += $s;
                    } else {
                        $s = warnHipOnlyUnsupportedFunctions($line_num);
                        $warnings += $s;
                    }
                    $s = warnUnsupportedDeviceFunctions($line_num);
                    $warnings += $s;
                }
                $_ = $tmp;
            }
            if ($roc) {
                rocSubstitutions();
            }
            if ($experimental) {
                experimentalSubstitutions();
            }
            simpleSubstitutions();
            transformKernelLaunch();
            transformCubNamespace();
            if ($print_stats) {
                while (/(\b(hip|HIP)([A-Z]|_)\w+\b)/g) {
                    $convertedTags{$1}++;
                }
            }
            my $hasDeviceCode = $countKeywords + $ft{'device_function'};
            unless ($quiet_warnings) {
                # Copy into array of lines, process line-by-line to show warnings
                if ($hasDeviceCode or (/\bcu|CU/) or (/<<<.*>>>/)) {
                    my @lines = split /\n/, $_;
                    # Copy the whole file
                    my $tmp = $_;
                    my $line_num = 0;
                    foreach (@lines) {
                        $line_num++;
                        # Remove any whitelisted words
                        foreach $w (@whitelist) {
                            redo if s/\b$w\b/ZAP/
                        }
                        my $tag;
                        if ((/(\bcuda[A-Z]\w+)/) or (/<<<.*>>>/)) {
                            # Flag any remaining code that look like cuda API calls: may want to add these to hipify
                            $tag = (defined $1) ? $1 : "Launch";
                        }
                        if (defined $tag) {
                            $warnings++;
                            $warningTags{$tag}++;
                            print STDERR "  warning: $fileName:#$line_num : $_\n";
                        }
                    }
                    $_ = $tmp;
                }
            }
            if ($hasDeviceCode > 0) {
                $ft{'device_function'} += countSupportedDeviceFunctions();
            }
            transformHostFunctions();
            # TODO: would like to move this code outside loop but it uses $_ which contains the whole file
            unless ($no_output) {
                my $apiCalls   = $ft{'error'} + $ft{'init'} + $ft{'version'} + $ft{'device'} + $ft{'context'} + $ft{'module'} + $ft{'memory'} + $ft{'virtual_memory'} + $ft{'stream_ordered_memory'} + $ft{'addressing'} + $ft{'stream'} + $ft{'event'} + $ft{'external_resource_interop'} + $ft{'stream_memory'} + $ft{'execution'} + $ft{'graph'} + $ft{'occupancy'} + $ft{'texture'} + $ft{'surface'} + $ft{'peer'} + $ft{'graphics'} + $ft{'interactions'} + $ft{'profiler'} + $ft{'openGL'} + $ft{'D3D9'} + $ft{'D3D10'} + $ft{'D3D11'} + $ft{'VDPAU'} + $ft{'EGL'} + $ft{'thread'} + $ft{'complex'} + $ft{'library'} + $ft{'device_library'} + $ft{'include'} + $ft{'include_cuda_main_header'} + $ft{'type'} + $ft{'literal'} + $ft{'numeric_literal'} + $ft{'define'};
                my $kernStuff  = $hasDeviceCode + $ft{'kernel_launch'} + $ft{'device_function'};
                my $totalCalls = $apiCalls + $kernStuff;
                $is_dos = m/\r\n$/;
                if ($totalCalls and ($countIncludes == 0) and ($kernStuff != 0)) {
                    # TODO: implement hipify-clang's logic with header files AMAP
                    print $OUTFILE '#include "hip/hip_runtime.h"' . ($is_dos ? "\r\n" : "\n");
                }
                print $OUTFILE  "$_";
            }
            $lineCount = $_ =~ tr/\n//;
        }
        my $totalConverted = totalStats(\%ft);
        if (($totalConverted+$warnings) and $print_stats) {
            printStats("  info: converted", \@statNames, \%ft, $warnings, $lineCount);
            print STDERR " in '$fileName'\n";
        }
        # Update totals for all files
        addStats(\%tt, \%ft);
        $Twarnings += $warnings;
        $TlineCount += $lineCount;
        foreach $key (keys %warningTags) {
            $TwarningTags{$key} += $warningTags{$key};
        }
    }   # Unless filtered direcotry or file 
}
# Print total stats for all files processed:
if ($print_stats and ($fileCount > 1)) {
    print STDERR "\n";
    printStats("  info: TOTAL-converted", \@statNames, \%tt, $Twarnings, $TlineCount);
    print STDERR "\n";
    foreach my $key (sort { $TwarningTags{$b} <=> $TwarningTags{$a} } keys %TwarningTags) {
        printf STDERR "  warning: unconverted %s : %d\n", $key, $TwarningTags{$key};
    }
    my $kernelCnt = keys %Tkernels;
    printf STDERR "  kernels (%d total) : ", $kernelCnt;
    foreach my $key (sort { $Tkernels{$b} <=> $Tkernels{$a} } keys %Tkernels) {
        printf STDERR "  %s(%d)", $key, $Tkernels{$key};
    }
    print STDERR "\n\n";
}
if ($print_stats) {
    foreach my $key (sort { $convertedTags{$b} <=> $convertedTags{$a} } keys %convertedTags) {
        printf STDERR "  %s %d\n", $key, $convertedTags{$key};
    }
}
