#!/usr/bin/perl -w

##
# 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 hipify-perl [OPTIONS] INPUT_FILE

use Getopt::Long;
use File::Basename;
my $whitelist = "";
my $exclude_dirs =  "";
my $exclude_files = "";
my $fileName = "";
my %ft;
my %Tkernels;

GetOptions(
      "examine" => \$examine                  # Combines -no-output and -print-stats options.
    , "inplace" => \$inplace                  # Modify input file inplace, replacing input with hipified output, save backup in .prehip file.
    , "no-output" => \$no_output              # Don't write any translated output to stdout.
    , "print-stats" => \$print_stats          # Print translation statistics.
    , "quiet-warnings" => \$quiet_warnings    # Don't print warnings on unknown CUDA functions.
    , "whitelist=s" => \$whitelist            # Whitelist of identifiers.
    , "exclude-dirs=s" => \$exclude_dirs      # Exclude directories.
    , "exclude-files=s" => \$exclude_files    # Exclude files.
);

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",
    "cusparseZcsrsm_solve" => "10.2",
    "cusparseZcsrsm_analysis" => "10.2",
    "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",
    "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",
    "cusparseScsrsm_solve" => "10.2",
    "cusparseScsrsm_analysis" => "10.2",
    "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",
    "cusparseDestroyCsrgemm2Info" => "11.0",
    "cusparseDdoti" => "10.2",
    "cusparseDdense2hyb" => "10.2",
    "cusparseDdense2csr" => "11.1",
    "cusparseDdense2csc" => "11.1",
    "cusparseDcsrsv_solve" => "10.2",
    "cusparseDcsrsv_analysis" => "10.2",
    "cusparseDcsrsm_solve" => "10.2",
    "cusparseDcsrsm_analysis" => "10.2",
    "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",
    "cusparseCsrilu0Ex" => "10.2",
    "cusparseCsr2cscEx" => "10.2",
    "cusparseCsctr" => "11.0",
    "cusparseCreateSolveAnalysisInfo" => "10.2",
    "cusparseCreateHybMat" => "10.2",
    "cusparseCreateCsrgemm2Info" => "11.0",
    "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",
    "cusparseCcsrsm_solve" => "10.2",
    "cusparseCcsrsm_analysis" => "10.2",
    "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",
    "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",
    "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",
    "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_HYB_PARTITION_USER" => "10.2",
    "CUSPARSE_HYB_PARTITION_MAX" => "10.2",
    "CUSPARSE_HYB_PARTITION_AUTO" => "10.2",
    "CUSPARSE_CSRMM_ALG1" => "11.0",
    "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",
    "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_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"
);

$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 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/\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/hipHostMalloc/g;
    $ft{'memory'} += s/\bcuMemAllocHost_v2\b/hipHostMalloc/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/hipHostMalloc/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/\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/hipHostMalloc/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/\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/\bcuMemRangeGetAttribute\b/hipMemRangeGetAttribute/g;
    $ft{'addressing'} += s/\bcuMemRangeGetAttributes\b/hipMemRangeGetAttributes/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/\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/\bcuStreamGetFlags\b/hipStreamGetFlags/g;
    $ft{'stream'} += s/\bcuStreamGetPriority\b/hipStreamGetPriority/g;
    $ft{'stream'} += s/\bcuStreamQuery\b/hipStreamQuery/g;
    $ft{'stream'} += s/\bcuStreamSynchronize\b/hipStreamSynchronize/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/\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/\bcudaStreamGetFlags\b/hipStreamGetFlags/g;
    $ft{'stream'} += s/\bcudaStreamGetPriority\b/hipStreamGetPriority/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{'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{'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{'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{'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/\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/\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/\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/\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/\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/\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/\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/\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/\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/\bcusparseCcsr2dense\b/hipsparseCcsr2dense/g;
    $ft{'library'} += s/\bcusparseCcsr2hyb\b/hipsparseCcsr2hyb/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/\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/\bcusparseCgemmi\b/hipsparseCgemmi/g;
    $ft{'library'} += s/\bcusparseCgthr\b/hipsparseCgthr/g;
    $ft{'library'} += s/\bcusparseCgthrz\b/hipsparseCgthrz/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/\bcusparseCreate\b/hipsparseCreate/g;
    $ft{'library'} += s/\bcusparseCreateBsric02Info\b/hipsparseCreateBsric02Info/g;
    $ft{'library'} += s/\bcusparseCreateBsrilu02Info\b/hipsparseCreateBsrilu02Info/g;
    $ft{'library'} += s/\bcusparseCreateBsrsv2Info\b/hipsparseCreateBsrsv2Info/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/\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/\bcusparseCsctr\b/hipsparseCsctr/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/\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/\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/\bcusparseDcsr2dense\b/hipsparseDcsr2dense/g;
    $ft{'library'} += s/\bcusparseDcsr2hyb\b/hipsparseDcsr2hyb/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/\bcusparseDdense2csc\b/hipsparseDdense2csc/g;
    $ft{'library'} += s/\bcusparseDdense2csr\b/hipsparseDdense2csr/g;
    $ft{'library'} += s/\bcusparseDdoti\b/hipsparseDdoti/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/\bcusparseDestroyBsrsv2Info\b/hipsparseDestroyBsrsv2Info/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/\bcusparseDestroyHybMat\b/hipsparseDestroyHybMat/g;
    $ft{'library'} += s/\bcusparseDestroyMatDescr\b/hipsparseDestroyMatDescr/g;
    $ft{'library'} += s/\bcusparseDestroyPruneInfo\b/hipsparseDestroyPruneInfo/g;
    $ft{'library'} += s/\bcusparseDgemmi\b/hipsparseDgemmi/g;
    $ft{'library'} += s/\bcusparseDgthr\b/hipsparseDgthr/g;
    $ft{'library'} += s/\bcusparseDgthrz\b/hipsparseDgthrz/g;
    $ft{'library'} += s/\bcusparseDhyb2csr\b/hipsparseDhyb2csr/g;
    $ft{'library'} += s/\bcusparseDhybmv\b/hipsparseDhybmv/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/\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/\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/\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/\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/\bcusparseScsr2dense\b/hipsparseScsr2dense/g;
    $ft{'library'} += s/\bcusparseScsr2hyb\b/hipsparseScsr2hyb/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/\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/\bcusparseSgemmi\b/hipsparseSgemmi/g;
    $ft{'library'} += s/\bcusparseSgthr\b/hipsparseSgthr/g;
    $ft{'library'} += s/\bcusparseSgthrz\b/hipsparseSgthrz/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/\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/\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/\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/\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/\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/\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/\bcusparseZcsr2dense\b/hipsparseZcsr2dense/g;
    $ft{'library'} += s/\bcusparseZcsr2hyb\b/hipsparseZcsr2hyb/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/\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/\bcusparseZgemmi\b/hipsparseZgemmi/g;
    $ft{'library'} += s/\bcusparseZgthr\b/hipsparseZgthr/g;
    $ft{'library'} += s/\bcusparseZgthrz\b/hipsparseZgthrz/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{'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/\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{'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_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_LAUNCH_PARAMS\b/hipLaunchParams/g;
    $ft{'type'} += s/\bCUDA_LAUNCH_PARAMS_st\b/hipLaunchParams/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_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_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_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_TEXTURE_DESC\b/HIP_TEXTURE_DESC/g;
    $ft{'type'} += s/\bCUDA_TEXTURE_DESC_st\b/HIP_TEXTURE_DESC_st/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 */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/\bCUdeviceptr\b/hipDeviceptr_t/g;
    $ft{'type'} += s/\bCUdeviceptr_v1\b/hipDeviceptr_t/g;
    $ft{'type'} += s/\bCUevent\b/hipEvent_t/g;
    $ft{'type'} += s/\bCUevent_st\b/ihipEvent_t/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/\bCUipcEventHandle\b/hipIpcEventHandle_t/g;
    $ft{'type'} += s/\bCUipcEventHandle_st\b/hipIpcEventHandle_st/g;
    $ft{'type'} += s/\bCUipcMemHandle\b/hipIpcMemHandle_t/g;
    $ft{'type'} += s/\bCUipcMemHandle_st\b/hipIpcMemHandle_st/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/\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/\bCUstream_st\b/ihipStream_t/g;
    $ft{'type'} += s/\bCUtexObject\b/hipTextureObject_t/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/\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/\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/\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/\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/\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/\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/\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/\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/\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/\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/\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/\bcusparseDiagType_t\b/hipsparseDiagType_t/g;
    $ft{'type'} += s/\bcusparseDirection_t\b/hipsparseDirection_t/g;
    $ft{'type'} += s/\bcusparseFillMode_t\b/hipsparseFillMode_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/\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/\bcusparsePointerMode_t\b/hipsparsePointerMode_t/g;
    $ft{'type'} += s/\bcusparseSolvePolicy_t\b/hipsparseSolvePolicy_t/g;
    $ft{'type'} += s/\bcusparseStatus_t\b/hipsparseStatus_t/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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_CAN_MAP_HOST_MEMORY\b/hipDeviceAttributeCanMapHostMemory/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_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_MEMORY_BUS_WIDTH\b/hipDeviceAttributeMemoryBusWidth/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_MANAGED_MEMORY\b/hipDeviceAttributeManagedMemory/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH\b/hipDeviceAttributeMaxTexture1DWidth/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT\b/hipDeviceAttributeMaxTexture2DHeight/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_HEIGHT\b/hipDeviceAttributeMaxTexture3DHeight/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH\b/hipDeviceAttributeMaxTexture3DWidth/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_SHARED_MEMORY_PER_BLOCK\b/hipDeviceAttributeMaxSharedMemoryPerBlock/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_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_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_TEXTURE_ALIGNMENT\b/hipDeviceAttributeTextureAlignment/g;
    $ft{'numeric_literal'} += s/\bCU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY\b/hipDeviceAttributeTotalConstantMemory/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_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_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_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_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_DEFAULT\b/hipStreamDefault/g;
    $ft{'numeric_literal'} += s/\bCU_STREAM_NON_BLOCKING\b/hipStreamNonBlocking/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/\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/\bcudaDevAttrCanMapHostMemory\b/hipDeviceAttributeCanMapHostMemory/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/\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/\bcudaDevAttrGlobalMemoryBusWidth\b/hipDeviceAttributeMemoryBusWidth/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/\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/\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/\bcudaDevAttrMaxSharedMemoryPerBlock\b/hipDeviceAttributeMaxSharedMemoryPerBlock/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxSharedMemoryPerMultiprocessor\b/hipDeviceAttributeMaxSharedMemoryPerMultiprocessor/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture1DWidth\b/hipDeviceAttributeMaxTexture1DWidth/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DHeight\b/hipDeviceAttributeMaxTexture2DHeight/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture2DWidth\b/hipDeviceAttributeMaxTexture2DWidth/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture3DDepth\b/hipDeviceAttributeMaxTexture3DDepth/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture3DHeight\b/hipDeviceAttributeMaxTexture3DHeight/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrMaxTexture3DWidth\b/hipDeviceAttributeMaxTexture3DWidth/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/\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/\bcudaDevAttrTextureAlignment\b/hipDeviceAttributeTextureAlignment/g;
    $ft{'numeric_literal'} += s/\bcudaDevAttrTotalConstantMemory\b/hipDeviceAttributeTotalConstantMemory/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/\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/\bcudaErrorDeviceUninitilialized\b/hipErrorInvalidContext/g;
    $ft{'numeric_literal'} += s/\bcudaErrorECCUncorrectable\b/hipErrorECCNotCorrectable/g;
    $ft{'numeric_literal'} += s/\bcudaErrorFileNotFound\b/hipErrorFileNotFound/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/\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/\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/\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/\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/\bcudaLimitMallocHeapSize\b/hipLimitMallocHeapSize/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/\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/\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_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/\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 extern __shared__ syntax replace with HIP_DYNAMIC_SHARED() macro
sub transformExternShared {
    no warnings qw/uninitialized/;
    my $k = 0;
    $k += s/extern\s+([\w\(\)]+)?\s*__shared__\s+([\w:<>\s]+)\s+(\w+)\s*\[\s*\]\s*;/HIP_DYNAMIC_SHARED($1 $2, $3)/g;
    $ft{'extern_shared'} += $k;
}

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

    # Handle the kern<...><<<Dg, Db, Ns, S>>>() syntax with empty args:
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\((\s*)\)/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), dim3($3), dim3($4), $5, $6)/g;
    # Handle the kern<<<Dg, Db, Ns, S>>>() syntax with empty args:
    $k += s/([:|\w]+)\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\((\s*)\)/hipLaunchKernelGGL($1, dim3($2), dim3($3), $4, $5)/g;

    # Handle the kern<...><<<Dg, Db, Ns, S>>>(...) syntax with non-empty args:
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\(/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), dim3($3), dim3($4), $5, $6, /g;
    # Handle the kern<<<Dg, Db, Ns, S>>>(...) syntax with non-empty args:
    $k += s/([:|\w]+)\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\(/hipLaunchKernelGGL($1, dim3($2), dim3($3), $4, $5, /g;

    # Handle the kern<...><<<Dg, Db, Ns>>>() syntax with empty args:
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\((\s*)\)/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), dim3($3), dim3($4), $5, 0)/g;
    # Handle the kern<<<Dg, Db, Ns>>>() syntax with empty args:
    $k += s/([:|\w]+)\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\((\s*)\)/hipLaunchKernelGGL($1, dim3($2), dim3($3), $4, 0)/g;

    # Handle the kern<...><<Dg, Db, Ns>>>(...) syntax with non-empty args:
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\(/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), dim3($3), dim3($4), $5, 0, /g;
    # Handle the kern<<<Dg, Db, Ns>>>(...) syntax with non-empty args:
    $k += s/([:|\w]+)\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\(/hipLaunchKernelGGL($1, dim3($2), dim3($3), $4, 0, /g;

    # Handle the kern<...><<<Dg, Db>>>() syntax with empty args:
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\((\s*)\)/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), dim3($3), dim3($4), 0, 0)/g;
    # Handle the kern<<<Dg, Db>>>() syntax with empty args:
    $k += s/([:|\w]+)\s*<<<\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\((\s*)\)/hipLaunchKernelGGL($1, dim3($2), dim3($3), 0, 0)/g;

    # Handle the kern<...><<<Dg, Db>>>(...) syntax with non-empty args:
    $k += s/([:|\w]+)\s*<(.+)>\s*<<<\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\(/hipLaunchKernelGGL(HIP_KERNEL_NAME($1<$2>), dim3($3), dim3($4), 0, 0, /g;
    # Handle the kern<<<Dg, Db>>>(...) syntax with non-empty args:
    $k += s/([:|\w]+)\s*<<<\s*(.+)\s*,\s*(.+)\s*>>>(\s*)\(/hipLaunchKernelGGL($1, dim3($2), dim3($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;
    }
    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",
        "atomicSub",
        "atomicOr",
        "atomicMin",
        "atomicMax",
        "atomicInc",
        "atomicExch",
        "atomicDec",
        "atomicCAS",
        "atomicAnd",
        "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",
        "__fsub_rz",
        "__fsub_ru",
        "__fsub_rn",
        "__fsub_rd",
        "__fsqrt_rz",
        "__fsqrt_ru",
        "__fsqrt_rn",
        "__fsqrt_rd",
        "__frsqrt_rn",
        "__frcp_rz",
        "__frcp_ru",
        "__frcp_rn",
        "__frcp_rd",
        "__fmul_rz",
        "__fmul_ru",
        "__fmul_rn",
        "__fmul_rd",
        "__fmaf_rz",
        "__fmaf_ru",
        "__fmaf_rn",
        "__fmaf_rd",
        "__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_rz",
        "__fdiv_ru",
        "__fdiv_rn",
        "__fdiv_rd",
        "__fadd_rz",
        "__fadd_ru",
        "__fadd_rn",
        "__fadd_rd",
        "__expf",
        "__exp10f",
        "__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",
        "__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",
        "__finitel",
        "__finitef",
        "__finite",
        "__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 warnDeprecatedFunctions {
    my $line_num = shift;
    my $k = 0;
    while (my($func, $val) = each %deprecated_funcs)
    {
        my $mt = m/($func)/g;
        if ($mt) {
            $k += $mt;
            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;
            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",
        "libraryPropertyType_t",
        "libraryPropertyType",
        "cusparseZhybsv_solve",
        "cusparseZhybsv_analysis",
        "cusparseZhyb2dense",
        "cusparseZhyb2csc",
        "cusparseZgtsv_nopivot",
        "cusparseZgtsvStridedBatch",
        "cusparseZgtsvInterleavedBatch_bufferSizeExt",
        "cusparseZgtsvInterleavedBatch",
        "cusparseZgtsv2_nopivot_bufferSizeExt",
        "cusparseZgtsv2_nopivot",
        "cusparseZgtsv2_bufferSizeExt",
        "cusparseZgtsv2StridedBatch_bufferSizeExt",
        "cusparseZgtsv2StridedBatch",
        "cusparseZgtsv2",
        "cusparseZgtsv",
        "cusparseZgpsvInterleavedBatch_bufferSizeExt",
        "cusparseZgpsvInterleavedBatch",
        "cusparseZgemvi_bufferSize",
        "cusparseZgemvi",
        "cusparseZgebsr2gebsr_bufferSizeExt",
        "cusparseZgebsr2gebsr_bufferSize",
        "cusparseZgebsr2gebsr",
        "cusparseZgebsr2gebsc_bufferSizeExt",
        "cusparseZgebsr2gebsc_bufferSize",
        "cusparseZgebsr2gebsc",
        "cusparseZgebsr2csr",
        "cusparseZdense2hyb",
        "cusparseZcsru2csr_bufferSizeExt",
        "cusparseZcsrsv_solve",
        "cusparseZcsrsv_analysis",
        "cusparseZcsrsm_solve",
        "cusparseZcsrsm_analysis",
        "cusparseZcsrmv_mp",
        "cusparseZcsrilu0",
        "cusparseZcsric0",
        "cusparseZcsrcolor",
        "cusparseZcsr2gebsr_bufferSizeExt",
        "cusparseZcsr2gebsr_bufferSize",
        "cusparseZcsr2gebsr",
        "cusparseZcsr2csru",
        "cusparseZcsc2hyb",
        "cusparseZbsrxmv",
        "cusparseZbsrsm2_solve",
        "cusparseZbsrsm2_bufferSizeExt",
        "cusparseZbsrsm2_bufferSize",
        "cusparseZbsrsm2_analysis",
        "cusparseZbsrilu02_bufferSizeExt",
        "cusparseZbsric02_bufferSizeExt",
        "cusparseXgebsr2gebsrNnz",
        "cusparseXgebsr2csr",
        "cusparseXcsr2gebsrNnz",
        "cusparseXbsrsm2_zeroPivot",
        "cusparseSparseToDense_bufferSize",
        "cusparseSparseToDenseAlg_t",
        "cusparseSparseToDense",
        "cusparseSpVecSetValues",
        "cusparseSpVecGetValues",
        "cusparseSpVecGetIndexBase",
        "cusparseSpVecGet",
        "cusparseSpVecDescr_t",
        "cusparseSpVecDescr",
        "cusparseSpVV_bufferSize",
        "cusparseSpVV",
        "cusparseSpMatSetValues",
        "cusparseSpMatSetStridedBatch",
        "cusparseSpMatSetNumBatches",
        "cusparseSpMatGetValues",
        "cusparseSpMatGetStridedBatch",
        "cusparseSpMatGetSize",
        "cusparseSpMatGetNumBatches",
        "cusparseSpMatGetIndexBase",
        "cusparseSpMatGetFormat",
        "cusparseSpMatDescr_t",
        "cusparseSpMatDescr",
        "cusparseSpMV_bufferSize",
        "cusparseSpMVAlg_t",
        "cusparseSpMV",
        "cusparseSpMM_bufferSize",
        "cusparseSpMMAlg_t",
        "cusparseSpMM",
        "cusparseSpGEMM_workEstimation",
        "cusparseSpGEMM_destroyDescr",
        "cusparseSpGEMM_createDescr",
        "cusparseSpGEMM_copy",
        "cusparseSpGEMM_compute",
        "cusparseSpGEMMDescr_t",
        "cusparseSpGEMMDescr",
        "cusparseSpGEMMAlg_t",
        "cusparseSolveAnalysisInfo_t",
        "cusparseSolveAnalysisInfo",
        "cusparseShybsv_solve",
        "cusparseShybsv_analysis",
        "cusparseShyb2dense",
        "cusparseShyb2csc",
        "cusparseSgtsv_nopivot",
        "cusparseSgtsvStridedBatch",
        "cusparseSgtsvInterleavedBatch_bufferSizeExt",
        "cusparseSgtsvInterleavedBatch",
        "cusparseSgtsv2_nopivot_bufferSizeExt",
        "cusparseSgtsv2_nopivot",
        "cusparseSgtsv2_bufferSizeExt",
        "cusparseSgtsv2StridedBatch_bufferSizeExt",
        "cusparseSgtsv2StridedBatch",
        "cusparseSgtsv2",
        "cusparseSgtsv",
        "cusparseSgpsvInterleavedBatch_bufferSizeExt",
        "cusparseSgpsvInterleavedBatch",
        "cusparseSgemvi_bufferSize",
        "cusparseSgemvi",
        "cusparseSgebsr2gebsr_bufferSizeExt",
        "cusparseSgebsr2gebsr_bufferSize",
        "cusparseSgebsr2gebsr",
        "cusparseSgebsr2gebsc_bufferSizeExt",
        "cusparseSgebsr2gebsc_bufferSize",
        "cusparseSgebsr2gebsc",
        "cusparseSgebsr2csr",
        "cusparseSdense2hyb",
        "cusparseScsru2csr_bufferSizeExt",
        "cusparseScsrsv_solve",
        "cusparseScsrsv_analysis",
        "cusparseScsrsm_solve",
        "cusparseScsrsm_analysis",
        "cusparseScsrmv_mp",
        "cusparseScsrilu0",
        "cusparseScsric0",
        "cusparseScsrcolor",
        "cusparseScsr2gebsr_bufferSizeExt",
        "cusparseScsr2gebsr_bufferSize",
        "cusparseScsr2gebsr",
        "cusparseScsr2csru",
        "cusparseScsc2hyb",
        "cusparseScatter",
        "cusparseSbsrxmv",
        "cusparseSbsrsm2_solve",
        "cusparseSbsrsm2_bufferSizeExt",
        "cusparseSbsrsm2_bufferSize",
        "cusparseSbsrsm2_analysis",
        "cusparseSbsrilu02_bufferSizeExt",
        "cusparseSbsric02_bufferSizeExt",
        "cusparseRot",
        "cusparseOrder_t",
        "cusparseMatDescr",
        "cusparseIndexType_t",
        "cusparseHybMat",
        "cusparseHpruneDense2csr_bufferSizeExt",
        "cusparseHpruneDense2csrNnzByPercentage",
        "cusparseHpruneDense2csrNnz",
        "cusparseHpruneDense2csrByPercentage_bufferSizeExt",
        "cusparseHpruneDense2csrByPercentage",
        "cusparseHpruneDense2csr",
        "cusparseHpruneCsr2csr_bufferSizeExt",
        "cusparseHpruneCsr2csrNnzByPercentage",
        "cusparseHpruneCsr2csrNnz",
        "cusparseHpruneCsr2csrByPercentage_bufferSizeExt",
        "cusparseHpruneCsr2csrByPercentage",
        "cusparseHpruneCsr2csr",
        "cusparseGetLevelInfo",
        "cusparseGather",
        "cusparseFormat_t",
        "cusparseDnVecSetValues",
        "cusparseDnVecGetValues",
        "cusparseDnVecGet",
        "cusparseDnVecDescr_t",
        "cusparseDnVecDescr",
        "cusparseDnMatSetValues",
        "cusparseDnMatSetStridedBatch",
        "cusparseDnMatGetValues",
        "cusparseDnMatGetStridedBatch",
        "cusparseDnMatGet",
        "cusparseDnMatDescr_t",
        "cusparseDnMatDescr",
        "cusparseDhybsv_solve",
        "cusparseDhybsv_analysis",
        "cusparseDhyb2dense",
        "cusparseDhyb2csc",
        "cusparseDgtsv_nopivot",
        "cusparseDgtsvStridedBatch",
        "cusparseDgtsvInterleavedBatch_bufferSizeExt",
        "cusparseDgtsvInterleavedBatch",
        "cusparseDgtsv2_nopivot_bufferSizeExt",
        "cusparseDgtsv2_nopivot",
        "cusparseDgtsv2_bufferSizeExt",
        "cusparseDgtsv2StridedBatch_bufferSizeExt",
        "cusparseDgtsv2StridedBatch",
        "cusparseDgtsv2",
        "cusparseDgtsv",
        "cusparseDgpsvInterleavedBatch_bufferSizeExt",
        "cusparseDgpsvInterleavedBatch",
        "cusparseDgemvi_bufferSize",
        "cusparseDgemvi",
        "cusparseDgebsr2gebsr_bufferSizeExt",
        "cusparseDgebsr2gebsr_bufferSize",
        "cusparseDgebsr2gebsr",
        "cusparseDgebsr2gebsc_bufferSizeExt",
        "cusparseDgebsr2gebsc_bufferSize",
        "cusparseDgebsr2gebsc",
        "cusparseDgebsr2csr",
        "cusparseDestroySpVec",
        "cusparseDestroySpMat",
        "cusparseDestroySolveAnalysisInfo",
        "cusparseDestroyDnVec",
        "cusparseDestroyDnMat",
        "cusparseDestroyCsru2csrInfo",
        "cusparseDestroyBsrsm2Info",
        "cusparseDenseToSparse_convert",
        "cusparseDenseToSparse_bufferSize",
        "cusparseDenseToSparse_analysis",
        "cusparseDenseToSparseAlg_t",
        "cusparseDdense2hyb",
        "cusparseDcsru2csr_bufferSizeExt",
        "cusparseDcsrsv_solve",
        "cusparseDcsrsv_analysis",
        "cusparseDcsrsm_solve",
        "cusparseDcsrsm_analysis",
        "cusparseDcsrmv_mp",
        "cusparseDcsrilu0",
        "cusparseDcsric0",
        "cusparseDcsrcolor",
        "cusparseDcsr2gebsr_bufferSizeExt",
        "cusparseDcsr2gebsr_bufferSize",
        "cusparseDcsr2gebsr",
        "cusparseDcsr2csru",
        "cusparseDcsc2hyb",
        "cusparseDbsrxmv",
        "cusparseDbsrsm2_solve",
        "cusparseDbsrsm2_bufferSizeExt",
        "cusparseDbsrsm2_bufferSize",
        "cusparseDbsrsm2_analysis",
        "cusparseDbsrilu02_bufferSizeExt",
        "cusparseDbsric02_bufferSizeExt",
        "cusparseCsrsv_solveEx",
        "cusparseCsrsv_analysisEx",
        "cusparseCsrmvEx_bufferSize",
        "cusparseCsrmvEx",
        "cusparseCsrilu0Ex",
        "cusparseCsrSetStridedBatch",
        "cusparseCsrSetPointers",
        "cusparseCsrGet",
        "cusparseCsr2cscEx2_bufferSize",
        "cusparseCsr2cscEx2",
        "cusparseCsr2cscEx",
        "cusparseCsr2CscAlg_t",
        "cusparseCscSetPointers",
        "cusparseCreateSpVec",
        "cusparseCreateSolveAnalysisInfo",
        "cusparseCreateDnVec",
        "cusparseCreateDnMat",
        "cusparseCreateCsru2csrInfo",
        "cusparseCreateCsr",
        "cusparseCreateCsc",
        "cusparseCreateCooAoS",
        "cusparseCreateCoo",
        "cusparseCreateBsrsm2Info",
        "cusparseCooSetStridedBatch",
        "cusparseCooSetPointers",
        "cusparseCooGet",
        "cusparseCooAoSGet",
        "cusparseContext",
        "cusparseConstrainedGeMM_bufferSize",
        "cusparseConstrainedGeMM",
        "cusparseColorInfo_t",
        "cusparseColorInfo",
        "cusparseChybsv_solve",
        "cusparseChybsv_analysis",
        "cusparseChyb2dense",
        "cusparseChyb2csc",
        "cusparseCgtsv_nopivot",
        "cusparseCgtsvStridedBatch",
        "cusparseCgtsvInterleavedBatch_bufferSizeExt",
        "cusparseCgtsvInterleavedBatch",
        "cusparseCgtsv2_nopivot_bufferSizeExt",
        "cusparseCgtsv2_nopivot",
        "cusparseCgtsv2_bufferSizeExt",
        "cusparseCgtsv2StridedBatch_bufferSizeExt",
        "cusparseCgtsv2StridedBatch",
        "cusparseCgtsv2",
        "cusparseCgtsv",
        "cusparseCgpsvInterleavedBatch_bufferSizeExt",
        "cusparseCgpsvInterleavedBatch",
        "cusparseCgemvi_bufferSize",
        "cusparseCgemvi",
        "cusparseCgebsr2gebsr_bufferSizeExt",
        "cusparseCgebsr2gebsr_bufferSize",
        "cusparseCgebsr2gebsr",
        "cusparseCgebsr2gebsc_bufferSizeExt",
        "cusparseCgebsr2gebsc_bufferSize",
        "cusparseCgebsr2gebsc",
        "cusparseCgebsr2csr",
        "cusparseCdense2hyb",
        "cusparseCcsru2csr_bufferSizeExt",
        "cusparseCcsrsv_solve",
        "cusparseCcsrsv_analysis",
        "cusparseCcsrsm_solve",
        "cusparseCcsrsm_analysis",
        "cusparseCcsrmv_mp",
        "cusparseCcsrilu0",
        "cusparseCcsric0",
        "cusparseCcsrcolor",
        "cusparseCcsr2gebsr_bufferSizeExt",
        "cusparseCcsr2gebsr_bufferSize",
        "cusparseCcsr2gebsr",
        "cusparseCcsr2csru",
        "cusparseCcsc2hyb",
        "cusparseCbsrxmv",
        "cusparseCbsrsm2_solve",
        "cusparseCbsrsm2_bufferSizeExt",
        "cusparseCbsrsm2_bufferSize",
        "cusparseCbsrsm2_analysis",
        "cusparseCbsrilu02_bufferSizeExt",
        "cusparseCbsric02_bufferSizeExt",
        "cusparseAxpby",
        "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",
        "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",
        "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",
        "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",
        "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",
        "cudnnBackendAttributeType_t",
        "cudnnBackendAttributeName_t",
        "cudnnAttnStruct",
        "cudnnAttnQueryMap_t",
        "cudnnAttnDescriptor_t",
        "cudnnAlgorithm_t",
        "cudnnAlgorithmStruct",
        "cudnnAlgorithmPerformance_t",
        "cudnnAlgorithmPerformanceStruct",
        "cudnnAlgorithmDescriptor_t",
        "cudnnAdvTrainVersionCheck",
        "cudnnAdvInferVersionCheck",
        "cudnnActivationStruct",
        "cudaWaitExternalSemaphoresAsync",
        "cudaWGLGetDevice",
        "cudaVDPAUSetVDPAUDevice",
        "cudaVDPAUGetDevice",
        "cudaUUID_t",
        "cudaThreadSetLimit",
        "cudaThreadGetLimit",
        "cudaThreadExchangeStreamCaptureMode",
        "cudaSynchronizationPolicy",
        "cudaSyncPolicyYield",
        "cudaSyncPolicySpin",
        "cudaSyncPolicyBlockingSync",
        "cudaSyncPolicyAuto",
        "cudaSurfaceFormatMode",
        "cudaStreamSetAttribute",
        "cudaStreamPerThread",
        "cudaStreamLegacy",
        "cudaStreamIsCapturing",
        "cudaStreamGetCaptureInfo",
        "cudaStreamGetAttribute",
        "cudaStreamEndCapture",
        "cudaStreamCopyAttributes",
        "cudaStreamCaptureStatusNone",
        "cudaStreamCaptureStatusInvalidated",
        "cudaStreamCaptureStatusActive",
        "cudaStreamCaptureStatus",
        "cudaStreamCaptureModeThreadLocal",
        "cudaStreamCaptureModeRelaxed",
        "cudaStreamCaptureModeGlobal",
        "cudaStreamCaptureMode",
        "cudaStreamBeginCapture",
        "cudaStreamAttributeSynchronizationPolicy",
        "cudaStreamAttributeAccessPolicyWindow",
        "cudaStreamAttrValue",
        "cudaStreamAttrID",
        "cudaSignalExternalSemaphoresAsync",
        "cudaSharedmemCarveoutMaxShared",
        "cudaSharedmemCarveoutMaxL1",
        "cudaSharedmemCarveoutDefault",
        "cudaSharedCarveout",
        "cudaSetValidDevices",
        "cudaSetDoubleForHost",
        "cudaSetDoubleForDevice",
        "cudaProfilerInitialize",
        "cudaOutputMode_t",
        "cudaOutputMode",
        "cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags",
        "cudaOccupancyMaxPotentialBlockSizeVariableSMem",
        "cudaOccupancyDisableCachingOverride",
        "cudaOccupancyAvailableDynamicSMemPerBlock",
        "cudaNvSciSyncAttrWait",
        "cudaNvSciSyncAttrSignal",
        "cudaMemsetParams",
        "cudaMemoryTypeUnregistered",
        "cudaMemoryTypeManaged",
        "cudaMemoryTypeHost",
        "cudaMemoryTypeDevice",
        "cudaMemoryType",
        "cudaMemcpyToArrayAsync",
        "cudaMemcpyFromArrayAsync",
        "cudaMemcpyArrayToArray",
        "cudaMemcpy3DPeerParms",
        "cudaMemcpy3DPeerAsync",
        "cudaMemcpy3DPeer",
        "cudaMemcpy2DToArrayAsync",
        "cudaMemcpy2DArrayToArray",
        "cudaMemPool_t",
        "cudaMemPoolTrimTo",
        "cudaMemPoolSetAttribute",
        "cudaMemPoolSetAccess",
        "cudaMemPoolReuseFollowEventDependencies",
        "cudaMemPoolReuseAllowOpportunistic",
        "cudaMemPoolReuseAllowInternalDependencies",
        "cudaMemPoolPtrExportData",
        "cudaMemPoolProps",
        "cudaMemPoolImportPointer",
        "cudaMemPoolImportFromShareableHandle",
        "cudaMemPoolGetAttribute",
        "cudaMemPoolGetAccess",
        "cudaMemPoolExportToShareableHandle",
        "cudaMemPoolExportPointer",
        "cudaMemPoolDestroy",
        "cudaMemPoolCreate",
        "cudaMemPoolAttrReleaseThreshold",
        "cudaMemPoolAttr",
        "cudaMemLocationTypeInvalid",
        "cudaMemLocationTypeDevice",
        "cudaMemLocationType",
        "cudaMemLocation",
        "cudaMemHandleTypeWin32Kmt",
        "cudaMemHandleTypeWin32",
        "cudaMemHandleTypePosixFileDescriptor",
        "cudaMemHandleTypeNone",
        "cudaMemAllocationTypePinned",
        "cudaMemAllocationTypeMax",
        "cudaMemAllocationTypeInvalid",
        "cudaMemAllocationType",
        "cudaMemAllocationHandleType",
        "cudaMemAccessFlagsProtReadWrite",
        "cudaMemAccessFlagsProtRead",
        "cudaMemAccessFlagsProtNone",
        "cudaMemAccessFlags",
        "cudaMemAccessDesc",
        "cudaMallocFromPoolAsync",
        "cudaMallocAsync",
        "cudaLimitStackSize",
        "cudaLimitPrintfFifoSize",
        "cudaLimitPersistingL2CacheSize",
        "cudaLimitMaxL2FetchGranularity",
        "cudaLimitDevRuntimeSyncDepth",
        "cudaLimitDevRuntimePendingLaunchCount",
        "cudaLaunchHostFunc",
        "cudaKeyValuePair",
        "cudaKernelNodeParams",
        "cudaKernelNodeAttributeCooperative",
        "cudaKernelNodeAttributeAccessPolicyWindow",
        "cudaKernelNodeAttrValue",
        "cudaKernelNodeAttrID",
        "cudaImportExternalSemaphore",
        "cudaImportExternalMemory",
        "cudaHostRegisterReadOnly",
        "cudaHostNodeParams",
        "cudaHostFn_t",
        "cudaGraphicsVDPAURegisterVideoSurface",
        "cudaGraphicsVDPAURegisterOutputSurface",
        "cudaGraphicsUnregisterResource",
        "cudaGraphicsUnmapResources",
        "cudaGraphicsSubResourceGetMappedArray",
        "cudaGraphicsResource_t",
        "cudaGraphicsResourceSetMapFlags",
        "cudaGraphicsResourceGetMappedPointer",
        "cudaGraphicsResourceGetMappedMipmappedArray",
        "cudaGraphicsResourceGetMappedEglFrame",
        "cudaGraphicsResource",
        "cudaGraphicsRegisterFlagsWriteDiscard",
        "cudaGraphicsRegisterFlagsTextureGather",
        "cudaGraphicsRegisterFlagsSurfaceLoadStore",
        "cudaGraphicsRegisterFlagsReadOnly",
        "cudaGraphicsRegisterFlagsNone",
        "cudaGraphicsRegisterFlags",
        "cudaGraphicsMapResources",
        "cudaGraphicsMapFlagsWriteDiscard",
        "cudaGraphicsMapFlagsReadOnly",
        "cudaGraphicsMapFlagsNone",
        "cudaGraphicsMapFlags",
        "cudaGraphicsGLRegisterImage",
        "cudaGraphicsGLRegisterBuffer",
        "cudaGraphicsEGLRegisterImage",
        "cudaGraphicsD3D9RegisterResource",
        "cudaGraphicsD3D11RegisterResource",
        "cudaGraphicsD3D10RegisterResource",
        "cudaGraphicsCubeFacePositiveZ",
        "cudaGraphicsCubeFacePositiveY",
        "cudaGraphicsCubeFacePositiveX",
        "cudaGraphicsCubeFaceNegativeZ",
        "cudaGraphicsCubeFaceNegativeY",
        "cudaGraphicsCubeFaceNegativeX",
        "cudaGraphicsCubeFace",
        "cudaGraph_t",
        "cudaGraphUpload",
        "cudaGraphRemoveDependencies",
        "cudaGraphNode_t",
        "cudaGraphNodeTypeWaitEvent",
        "cudaGraphNodeTypeMemset",
        "cudaGraphNodeTypeMemcpy",
        "cudaGraphNodeTypeKernel",
        "cudaGraphNodeTypeHost",
        "cudaGraphNodeTypeGraph",
        "cudaGraphNodeTypeEventRecord",
        "cudaGraphNodeTypeEmpty",
        "cudaGraphNodeTypeCount",
        "cudaGraphNodeType",
        "cudaGraphNodeGetType",
        "cudaGraphNodeGetDependentNodes",
        "cudaGraphNodeGetDependencies",
        "cudaGraphNodeFindInClone",
        "cudaGraphMemsetNodeSetParams",
        "cudaGraphMemsetNodeGetParams",
        "cudaGraphMemcpyNodeSetParamsToSymbol",
        "cudaGraphMemcpyNodeSetParamsFromSymbol",
        "cudaGraphMemcpyNodeSetParams1D",
        "cudaGraphMemcpyNodeSetParams",
        "cudaGraphMemcpyNodeGetParams",
        "cudaGraphLaunch",
        "cudaGraphKernelNodeSetParams",
        "cudaGraphKernelNodeSetAttribute",
        "cudaGraphKernelNodeGetParams",
        "cudaGraphKernelNodeGetAttribute",
        "cudaGraphKernelNodeCopyAttributes",
        "cudaGraphInstantiate",
        "cudaGraphHostNodeSetParams",
        "cudaGraphHostNodeGetParams",
        "cudaGraphGetRootNodes",
        "cudaGraphGetNodes",
        "cudaGraphGetEdges",
        "cudaGraphExternalSemaphoresWaitNodeSetParams",
        "cudaGraphExternalSemaphoresWaitNodeGetParams",
        "cudaGraphExternalSemaphoresSignalNodeSetParams",
        "cudaGraphExternalSemaphoresSignalNodeGetParams",
        "cudaGraphExec_t",
        "cudaGraphExecUpdateSuccess",
        "cudaGraphExecUpdateResult",
        "cudaGraphExecUpdateErrorUnsupportedFunctionChange",
        "cudaGraphExecUpdateErrorTopologyChanged",
        "cudaGraphExecUpdateErrorParametersChanged",
        "cudaGraphExecUpdateErrorNotSupported",
        "cudaGraphExecUpdateErrorNodeTypeChanged",
        "cudaGraphExecUpdateErrorFunctionChanged",
        "cudaGraphExecUpdateError",
        "cudaGraphExecUpdate",
        "cudaGraphExecMemsetNodeSetParams",
        "cudaGraphExecMemcpyNodeSetParamsToSymbol",
        "cudaGraphExecMemcpyNodeSetParamsFromSymbol",
        "cudaGraphExecMemcpyNodeSetParams1D",
        "cudaGraphExecMemcpyNodeSetParams",
        "cudaGraphExecKernelNodeSetParams",
        "cudaGraphExecHostNodeSetParams",
        "cudaGraphExecExternalSemaphoresWaitNodeSetParams",
        "cudaGraphExecExternalSemaphoresSignalNodeSetParams",
        "cudaGraphExecEventWaitNodeSetEvent",
        "cudaGraphExecEventRecordNodeSetEvent",
        "cudaGraphExecDestroy",
        "cudaGraphExecChildGraphNodeSetParams",
        "cudaGraphEventWaitNodeSetEvent",
        "cudaGraphEventWaitNodeGetEvent",
        "cudaGraphEventRecordNodeSetEvent",
        "cudaGraphEventRecordNodeGetEvent",
        "cudaGraphDestroyNode",
        "cudaGraphDestroy",
        "cudaGraphCreate",
        "cudaGraphClone",
        "cudaGraphChildGraphNodeGetGraph",
        "cudaGraphAddMemsetNode",
        "cudaGraphAddMemcpyNodeToSymbol",
        "cudaGraphAddMemcpyNodeFromSymbol",
        "cudaGraphAddMemcpyNode1D",
        "cudaGraphAddMemcpyNode",
        "cudaGraphAddKernelNode",
        "cudaGraphAddHostNode",
        "cudaGraphAddExternalSemaphoresWaitNode",
        "cudaGraphAddExternalSemaphoresSignalNode",
        "cudaGraphAddEventWaitNode",
        "cudaGraphAddEventRecordNode",
        "cudaGraphAddEmptyNode",
        "cudaGraphAddDependencies",
        "cudaGraphAddChildGraphNode",
        "cudaGetSurfaceReference",
        "cudaGetSurfaceObjectResourceDesc",
        "cudaGetParameterBufferV2",
        "cudaGetParameterBuffer",
        "cudaGetFuncBySymbol",
        "cudaGLUnregisterBufferObject",
        "cudaGLUnmapBufferObjectAsync",
        "cudaGLUnmapBufferObject",
        "cudaGLSetGLDevice",
        "cudaGLSetBufferObjectMapFlags",
        "cudaGLRegisterBufferObject",
        "cudaGLMapFlagsWriteDiscard",
        "cudaGLMapFlagsReadOnly",
        "cudaGLMapFlagsNone",
        "cudaGLMapFlags",
        "cudaGLMapBufferObjectAsync",
        "cudaGLMapBufferObject",
        "cudaGLGetDevices",
        "cudaGLDeviceListNextFrame",
        "cudaGLDeviceListCurrentFrame",
        "cudaGLDeviceListAll",
        "cudaGLDeviceList",
        "cudaFreeAsync",
        "cudaFormatModeForced",
        "cudaFormatModeAuto",
        "cudaExternalSemaphore_t",
        "cudaExternalSemaphoreWaitSkipNvSciBufMemSync",
        "cudaExternalSemaphoreWaitParams_v1",
        "cudaExternalSemaphoreWaitParams",
        "cudaExternalSemaphoreWaitNodeParams",
        "cudaExternalSemaphoreSignalSkipNvSciBufMemSync",
        "cudaExternalSemaphoreSignalParams_v1",
        "cudaExternalSemaphoreSignalParams",
        "cudaExternalSemaphoreSignalNodeParams",
        "cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32",
        "cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd",
        "cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt",
        "cudaExternalSemaphoreHandleTypeOpaqueWin32",
        "cudaExternalSemaphoreHandleTypeOpaqueFd",
        "cudaExternalSemaphoreHandleTypeNvSciSync",
        "cudaExternalSemaphoreHandleTypeKeyedMutexKmt",
        "cudaExternalSemaphoreHandleTypeKeyedMutex",
        "cudaExternalSemaphoreHandleTypeD3D12Fence",
        "cudaExternalSemaphoreHandleTypeD3D11Fence",
        "cudaExternalSemaphoreHandleType",
        "cudaExternalSemaphoreHandleDesc",
        "cudaExternalMemory_t",
        "cudaExternalMemoryMipmappedArrayDesc",
        "cudaExternalMemoryHandleTypeOpaqueWin32Kmt",
        "cudaExternalMemoryHandleTypeOpaqueWin32",
        "cudaExternalMemoryHandleTypeOpaqueFd",
        "cudaExternalMemoryHandleTypeNvSciBuf",
        "cudaExternalMemoryHandleTypeD3D12Resource",
        "cudaExternalMemoryHandleTypeD3D12Heap",
        "cudaExternalMemoryHandleTypeD3D11ResourceKmt",
        "cudaExternalMemoryHandleTypeD3D11Resource",
        "cudaExternalMemoryHandleType",
        "cudaExternalMemoryHandleDesc",
        "cudaExternalMemoryGetMappedMipmappedArray",
        "cudaExternalMemoryGetMappedBuffer",
        "cudaExternalMemoryDedicated",
        "cudaExternalMemoryBufferDesc",
        "cudaEventWaitExternal",
        "cudaEventWaitDefault",
        "cudaEventRecordWithFlags",
        "cudaEventRecordExternal",
        "cudaEventRecordDefault",
        "cudaEventCreateFromEGLSync",
        "cudaErrorUnsupportedPtxVersion",
        "cudaErrorTooManyPeers",
        "cudaErrorTimeout",
        "cudaErrorTextureNotBound",
        "cudaErrorTextureFetchFailed",
        "cudaErrorSystemNotReady",
        "cudaErrorSystemDriverMismatch",
        "cudaErrorSynchronizationError",
        "cudaErrorSyncDepthExceeded",
        "cudaErrorStubLibrary",
        "cudaErrorStreamCaptureWrongThread",
        "cudaErrorStreamCaptureUnsupported",
        "cudaErrorStreamCaptureUnmatched",
        "cudaErrorStreamCaptureUnjoined",
        "cudaErrorStreamCaptureMerge",
        "cudaErrorStreamCaptureIsolation",
        "cudaErrorStreamCaptureInvalidated",
        "cudaErrorStreamCaptureImplicit",
        "cudaErrorStartupFailure",
        "cudaErrorSoftwareValidityNotEstablished",
        "cudaErrorNvlinkUncorrectable",
        "cudaErrorNotYetImplemented",
        "cudaErrorNotPermitted",
        "cudaErrorMixedDeviceExecution",
        "cudaErrorMisalignedAddress",
        "cudaErrorMemoryValueTooLarge",
        "cudaErrorLaunchPendingCountExceeded",
        "cudaErrorLaunchMaxDepthExceeded",
        "cudaErrorLaunchIncompatibleTexturing",
        "cudaErrorLaunchFileScopedTex",
        "cudaErrorLaunchFileScopedSurf",
        "cudaErrorJitCompilerNotFound",
        "cudaErrorJitCompilationDisabled",
        "cudaErrorInvalidTextureBinding",
        "cudaErrorInvalidTexture",
        "cudaErrorInvalidSurface",
        "cudaErrorInvalidPitchValue",
        "cudaErrorInvalidPc",
        "cudaErrorInvalidNormSetting",
        "cudaErrorInvalidHostPointer",
        "cudaErrorInvalidFilterSetting",
        "cudaErrorInvalidChannelDescriptor",
        "cudaErrorInvalidAddressSpace",
        "cudaErrorIncompatibleDriverContext",
        "cudaErrorIllegalState",
        "cudaErrorIllegalInstruction",
        "cudaErrorHardwareStackError",
        "cudaErrorGraphExecUpdateFailure",
        "cudaErrorDuplicateVariableName",
        "cudaErrorDuplicateTextureName",
        "cudaErrorDuplicateSurfaceName",
        "cudaErrorDevicesUnavailable",
        "cudaErrorDeviceNotLicensed",
        "cudaErrorContextIsDestroyed",
        "cudaErrorCompatNotSupportedOnDevice",
        "cudaErrorCapturedEvent",
        "cudaErrorCallRequiresNewerDriver",
        "cudaErrorApiFailureBase",
        "cudaErrorAddressOfConstant",
        "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",
        "cudaDevicePropDontCare",
        "cudaDeviceMask",
        "cudaDeviceGetTexture1DLinearMaxWidth",
        "cudaDeviceGetNvSciSyncAttributes",
        "cudaDeviceGetMemPool",
        "cudaDeviceGetDefaultMemPool",
        "cudaDevAttrUnifiedAddressing",
        "cudaDevAttrTexturePitchAlignment",
        "cudaDevAttrTccDriver",
        "cudaDevAttrSurfaceAlignment",
        "cudaDevAttrStreamPrioritiesSupported",
        "cudaDevAttrSparseCudaArraySupported",
        "cudaDevAttrSingleToDoublePrecisionPerfRatio",
        "cudaDevAttrReservedSharedMemoryPerBlock",
        "cudaDevAttrReserved94",
        "cudaDevAttrReserved93",
        "cudaDevAttrReserved92",
        "cudaDevAttrPciDomainId",
        "cudaDevAttrMultiGpuBoardGroupID",
        "cudaDevAttrMemoryPoolsSupported",
        "cudaDevAttrMaxTimelineSemaphoreInteropSupported",
        "cudaDevAttrMaxTextureCubemapWidth",
        "cudaDevAttrMaxTextureCubemapLayeredWidth",
        "cudaDevAttrMaxTextureCubemapLayeredLayers",
        "cudaDevAttrMaxTexture3DWidthAlt",
        "cudaDevAttrMaxTexture3DHeightAlt",
        "cudaDevAttrMaxTexture3DDepthAlt",
        "cudaDevAttrMaxTexture2DMipmappedWidth",
        "cudaDevAttrMaxTexture2DMipmappedHeight",
        "cudaDevAttrMaxTexture2DLinearWidth",
        "cudaDevAttrMaxTexture2DLinearPitch",
        "cudaDevAttrMaxTexture2DLinearHeight",
        "cudaDevAttrMaxTexture2DLayeredWidth",
        "cudaDevAttrMaxTexture2DLayeredLayers",
        "cudaDevAttrMaxTexture2DLayeredHeight",
        "cudaDevAttrMaxTexture2DGatherWidth",
        "cudaDevAttrMaxTexture2DGatherHeight",
        "cudaDevAttrMaxTexture1DMipmappedWidth",
        "cudaDevAttrMaxTexture1DLinearWidth",
        "cudaDevAttrMaxTexture1DLayeredWidth",
        "cudaDevAttrMaxTexture1DLayeredLayers",
        "cudaDevAttrMaxSurfaceCubemapWidth",
        "cudaDevAttrMaxSurfaceCubemapLayeredWidth",
        "cudaDevAttrMaxSurfaceCubemapLayeredLayers",
        "cudaDevAttrMaxSurface3DWidth",
        "cudaDevAttrMaxSurface3DHeight",
        "cudaDevAttrMaxSurface3DDepth",
        "cudaDevAttrMaxSurface2DWidth",
        "cudaDevAttrMaxSurface2DLayeredWidth",
        "cudaDevAttrMaxSurface2DLayeredLayers",
        "cudaDevAttrMaxSurface2DLayeredHeight",
        "cudaDevAttrMaxSurface2DHeight",
        "cudaDevAttrMaxSurface1DWidth",
        "cudaDevAttrMaxSurface1DLayeredWidth",
        "cudaDevAttrMaxSurface1DLayeredLayers",
        "cudaDevAttrMaxSharedMemoryPerBlockOptin",
        "cudaDevAttrMaxRegistersPerMultiprocessor",
        "cudaDevAttrMaxBlocksPerMultiprocessor",
        "cudaDevAttrLocalL1CacheSupported",
        "cudaDevAttrHostRegisterSupported",
        "cudaDevAttrHostRegisterReadOnlySupported",
        "cudaDevAttrHostNativeAtomicSupported",
        "cudaDevAttrGpuOverlap",
        "cudaDevAttrGlobalL1CacheSupported",
        "cudaDevAttrComputePreemptionSupported",
        "cudaDevAttrCanUseHostPointerForRegisteredMem",
        "cudaDevAttrCanFlushRemoteWrites",
        "cudaDevAttrAsyncEngineCount",
        "cudaDestroyExternalSemaphore",
        "cudaDestroyExternalMemory",
        "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",
        "cudaChannelFormatKindNV12",
        "cudaCSV",
        "cudaCGScopeMultiGrid",
        "cudaCGScopeInvalid",
        "cudaCGScopeGrid",
        "cudaCGScope",
        "cudaBindSurfaceToArray",
        "cudaArraySparsePropertiesSingleMipTail",
        "cudaArraySparseProperties",
        "cudaArraySparse",
        "cudaArrayGetSparseProperties",
        "cudaArrayGetPlane",
        "cudaArrayGetInfo",
        "cudaArrayColorAttachment",
        "cudaAccessPropertyStreaming",
        "cudaAccessPropertyPersisting",
        "cudaAccessPropertyNormal",
        "cudaAccessProperty",
        "cudaAccessPolicyWindow",
        "cublasZtrttp",
        "cublasZtpttr",
        "cublasZmatinvBatched",
        "cublasZgemm3m",
        "cublasZgelsBatched",
        "cublasXerbla",
        "cublasUint8gemmBias",
        "cublasSwapEx",
        "cublasStrttp",
        "cublasStpttr",
        "cublasSmatinvBatched",
        "cublasShutdown",
        "cublasSgemmEx",
        "cublasSgelsBatched",
        "cublasSetMathMode",
        "cublasSetLoggerCallback",
        "cublasSetKernelStream",
        "cublasScalEx",
        "cublasRotmgEx",
        "cublasRotmEx",
        "cublasRotgEx",
        "cublasRotEx",
        "cublasNrm2Ex",
        "cublasMigrateComputeType",
        "cublasMath_t",
        "cublasLoggerConfigure",
        "cublasLogCallback",
        "cublasInit",
        "cublasIaminEx",
        "cublasIamaxEx",
        "cublasGetVersion_v2",
        "cublasGetVersion",
        "cublasGetProperty",
        "cublasGetMathMode",
        "cublasGetLoggerCallback",
        "cublasGetError",
        "cublasGetCudartVersion",
        "cublasFree",
        "cublasDtrttp",
        "cublasDtpttr",
        "cublasDotcEx",
        "cublasDotEx",
        "cublasDmatinvBatched",
        "cublasDgelsBatched",
        "cublasCtrttp",
        "cublasCtpttr",
        "cublasCsyrkEx",
        "cublasCsyrk3mEx",
        "cublasCopyEx",
        "cublasContext",
        "cublasComputeType_t",
        "cublasCmatinvBatched",
        "cublasCherkEx",
        "cublasCherk3mEx",
        "cublasCgemmEx",
        "cublasCgemm3mStridedBatched",
        "cublasCgemm3mEx",
        "cublasCgemm3mBatched",
        "cublasCgemm3m",
        "cublasCgelsBatched",
        "cublasAxpyEx",
        "cublasAsumEx",
        "cublasAlloc",
        "cuWaitExternalSemaphoresAsync",
        "cuWGLGetDevice",
        "cuVDPAUGetDevice",
        "cuVDPAUCtxCreate",
        "cuThreadExchangeStreamCaptureMode",
        "cuTexRefGetBorderColor",
        "cuTexRefDestroy",
        "cuTexRefCreate",
        "cuSurfRefSetArray",
        "cuSurfRefGetArray",
        "cuSurfObjectGetResourceDesc",
        "cuSurfObjectDestroy",
        "cuSurfObjectCreate",
        "cuStreamWriteValue64",
        "cuStreamWriteValue32",
        "cuStreamWaitValue64",
        "cuStreamWaitValue32",
        "cuStreamSetAttribute",
        "cuStreamIsCapturing",
        "cuStreamGetCtx",
        "cuStreamGetCaptureInfo",
        "cuStreamGetAttribute",
        "cuStreamEndCapture",
        "cuStreamCopyAttributes",
        "cuStreamBeginCapture_v2",
        "cuStreamBeginCapture_ptsz",
        "cuStreamBeginCapture",
        "cuStreamBatchMemOp",
        "cuSignalExternalSemaphoresAsync",
        "cuProfilerInitialize",
        "cuPointerSetAttribute",
        "cuPointerGetAttributes",
        "cuPointerGetAttribute",
        "cuParamSetv",
        "cuParamSeti",
        "cuParamSetf",
        "cuParamSetTexRef",
        "cuParamSetSize",
        "cuOccupancyAvailableDynamicSMemPerBlock",
        "cuModuleLoadFatBinary",
        "cuModuleGetSurfRef",
        "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",
        "cuMemcpy2DUnaligned_v2",
        "cuMemcpy2DUnaligned",
        "cuMemcpy",
        "cuMemUnmap",
        "cuMemSetAccess",
        "cuMemRetainAllocationHandle",
        "cuMemRelease",
        "cuMemPrefetchAsync",
        "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",
        "cuImportExternalSemaphore",
        "cuImportExternalMemory",
        "cuGraphicsVDPAURegisterVideoSurface",
        "cuGraphicsVDPAURegisterOutputSurface",
        "cuGraphicsUnregisterResource",
        "cuGraphicsUnmapResources",
        "cuGraphicsSubResourceGetMappedArray",
        "cuGraphicsResourceSetMapFlags_v2",
        "cuGraphicsResourceSetMapFlags",
        "cuGraphicsResourceGetMappedPointer_v2",
        "cuGraphicsResourceGetMappedPointer",
        "cuGraphicsResourceGetMappedMipmappedArray",
        "cuGraphicsResourceGetMappedEglFrame",
        "cuGraphicsMapResources",
        "cuGraphicsGLRegisterImage",
        "cuGraphicsGLRegisterBuffer",
        "cuGraphicsEGLRegisterImage",
        "cuGraphicsD3D9RegisterResource",
        "cuGraphicsD3D11RegisterResource",
        "cuGraphicsD3D10RegisterResource",
        "cuGraphUpload",
        "cuGraphRemoveDependencies",
        "cuGraphNodeGetType",
        "cuGraphNodeGetDependentNodes",
        "cuGraphNodeGetDependencies",
        "cuGraphNodeFindInClone",
        "cuGraphMemsetNodeSetParams",
        "cuGraphMemsetNodeGetParams",
        "cuGraphMemcpyNodeSetParams",
        "cuGraphMemcpyNodeGetParams",
        "cuGraphLaunch",
        "cuGraphKernelNodeSetParams",
        "cuGraphKernelNodeSetAttribute",
        "cuGraphKernelNodeGetParams",
        "cuGraphKernelNodeGetAttribute",
        "cuGraphKernelNodeCopyAttributes",
        "cuGraphInstantiate_v2",
        "cuGraphInstantiate",
        "cuGraphHostNodeSetParams",
        "cuGraphHostNodeGetParams",
        "cuGraphGetRootNodes",
        "cuGraphGetNodes",
        "cuGraphGetEdges",
        "cuGraphExternalSemaphoresWaitNodeSetParams",
        "cuGraphExternalSemaphoresWaitNodeGetParams",
        "cuGraphExternalSemaphoresSignalNodeSetParams",
        "cuGraphExternalSemaphoresSignalNodeGetParams",
        "cuGraphExecUpdate",
        "cuGraphExecMemsetNodeSetParams",
        "cuGraphExecMemcpyNodeSetParams",
        "cuGraphExecKernelNodeSetParams",
        "cuGraphExecHostNodeSetParams",
        "cuGraphExecExternalSemaphoresWaitNodeSetParams",
        "cuGraphExecExternalSemaphoresSignalNodeSetParams",
        "cuGraphExecEventWaitNodeSetEvent",
        "cuGraphExecEventRecordNodeSetEvent",
        "cuGraphExecDestroy",
        "cuGraphExecChildGraphNodeSetParams",
        "cuGraphEventWaitNodeSetEvent",
        "cuGraphEventWaitNodeGetEvent",
        "cuGraphEventRecordNodeSetEvent",
        "cuGraphEventRecordNodeGetEvent",
        "cuGraphDestroyNode",
        "cuGraphDestroy",
        "cuGraphCreate",
        "cuGraphClone",
        "cuGraphChildGraphNodeGetGraph",
        "cuGraphAddMemsetNode",
        "cuGraphAddMemcpyNode",
        "cuGraphAddKernelNode",
        "cuGraphAddHostNode",
        "cuGraphAddExternalSemaphoresWaitNode",
        "cuGraphAddExternalSemaphoresSignalNode",
        "cuGraphAddEventWaitNode",
        "cuGraphAddEventRecordNode",
        "cuGraphAddEmptyNode",
        "cuGraphAddDependencies",
        "cuGraphAddChildGraphNode",
        "cuGetErrorString",
        "cuGetErrorName",
        "cuGLUnregisterBufferObject",
        "cuGLUnmapBufferObjectAsync",
        "cuGLUnmapBufferObject",
        "cuGLSetBufferObjectMapFlags",
        "cuGLRegisterBufferObject",
        "cuGLMapBufferObjectAsync",
        "cuGLMapBufferObject",
        "cuGLInit",
        "cuGLGetDevices",
        "cuGLCtxCreate",
        "cuFuncSetSharedSize",
        "cuFuncSetSharedMemConfig",
        "cuFuncSetCacheConfig",
        "cuFuncSetBlockShape",
        "cuFuncSetAttribute",
        "cuFuncGetModule",
        "cuExternalMemoryGetMappedMipmappedArray",
        "cuExternalMemoryGetMappedBuffer",
        "cuEventRecordWithFlags",
        "cuEventCreateFromEGLSync",
        "cuEGLStreamProducerReturnFrame",
        "cuEGLStreamProducerPresentFrame",
        "cuEGLStreamProducerDisconnect",
        "cuEGLStreamProducerConnect",
        "cuEGLStreamConsumerReleaseFrame",
        "cuEGLStreamConsumerDisconnect",
        "cuEGLStreamConsumerConnectWithFlags",
        "cuEGLStreamConsumerConnect",
        "cuEGLStreamConsumerAcquireFrame",
        "cuDeviceSetMemPool",
        "cuDeviceGetUuid",
        "cuDeviceGetTexture1DLinearMaxWidth",
        "cuDeviceGetProperties",
        "cuDeviceGetNvSciSyncAttributes",
        "cuDeviceGetMemPool",
        "cuDeviceGetLuid",
        "cuDeviceGetDefaultMemPool",
        "cuDestroyExternalSemaphore",
        "cuDestroyExternalMemory",
        "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",
        "cuCtxDetach",
        "cuCtxAttach",
        "cuArrayGetSparseProperties",
        "cuArrayGetPlane",
        "cuArrayGetDescriptor_v2",
        "cuArrayGetDescriptor",
        "cuArrayDestroy",
        "cuArray3DGetDescriptor_v2",
        "cuArray3DGetDescriptor",
        "csru2csrInfo_t",
        "csru2csrInfo",
        "csrsv2Info",
        "csrsm2Info",
        "csrilu02Info",
        "csrgemm2Info",
        "bsrsv2Info",
        "bsrsm2Info_t",
        "bsrsm2Info",
        "bsrilu02Info",
        "bsric02Info",
        "PATCH_LEVEL",
        "MINOR_VERSION",
        "MAX_CUFFT_ERROR",
        "MAJOR_VERSION",
        "CUuuid_st",
        "CUuuid",
        "CUtexref",
        "CUsynchronizationPolicy_enum",
        "CUsynchronizationPolicy",
        "CUsurfref_st",
        "CUsurfref",
        "CUsurfObject",
        "CUstream_flags_enum",
        "CUstream_flags",
        "CUstreamWriteValue_flags_enum",
        "CUstreamWriteValue_flags",
        "CUstreamWaitValue_flags_enum",
        "CUstreamWaitValue_flags",
        "CUstreamCaptureStatus_enum",
        "CUstreamCaptureStatus",
        "CUstreamCaptureMode_enum",
        "CUstreamCaptureMode",
        "CUstreamBatchMemOpType_enum",
        "CUstreamBatchMemOpType",
        "CUstreamBatchMemOpParams_union",
        "CUstreamBatchMemOpParams",
        "CUstreamAttrValue_union",
        "CUstreamAttrValue",
        "CUstreamAttrID_enum",
        "CUstreamAttrID",
        "CUshared_carveout_enum",
        "CUshared_carveout",
        "CUpointer_attribute_enum",
        "CUpointer_attribute",
        "CUoccupancy_flags_enum",
        "CUoccupancy_flags",
        "CUoccupancyB2DSize",
        "CUmemoryPool",
        "CUmemPool_attribute_enum",
        "CUmemPool_attribute",
        "CUmemPoolPtrExportData_st",
        "CUmemPoolPtrExportData",
        "CUmemPoolProps_st",
        "CUmemPoolProps",
        "CUmemPoolHandle_st",
        "CUmemOperationType_enum",
        "CUmemOperationType",
        "CUmemLocation_st",
        "CUmemLocationType_enum",
        "CUmemLocationType",
        "CUmemLocation",
        "CUmemHandleType_enum",
        "CUmemHandleType",
        "CUmemGenericAllocationHandle",
        "CUmemAttach_flags_enum",
        "CUmemAttach_flags",
        "CUmemAllocationType_enum",
        "CUmemAllocationType",
        "CUmemAllocationProp_st",
        "CUmemAllocationProp",
        "CUmemAllocationHandleType_enum",
        "CUmemAllocationHandleType",
        "CUmemAllocationGranularity_flags_enum",
        "CUmemAllocationGranularity_flags",
        "CUmemAccess_flags_enum",
        "CUmemAccess_flags",
        "CUmemAccessDesc_st",
        "CUmemAccessDesc",
        "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",
        "CUhostFn",
        "CUgraphicsResource_st",
        "CUgraphicsResource",
        "CUgraphicsRegisterFlags_enum",
        "CUgraphicsRegisterFlags",
        "CUgraphicsMapResourceFlags_enum",
        "CUgraphicsMapResourceFlags",
        "CUgraph_st",
        "CUgraphNode_st",
        "CUgraphNodeType_enum",
        "CUgraphNodeType",
        "CUgraphNode",
        "CUgraphExec_st",
        "CUgraphExecUpdateResult_enum",
        "CUgraphExecUpdateResult",
        "CUgraphExec",
        "CUgraph",
        "CUexternalSemaphore_st",
        "CUexternalSemaphoreHandleType_enum",
        "CUexternalSemaphoreHandleType",
        "CUexternalSemaphore",
        "CUexternalMemory_st",
        "CUexternalMemoryHandleType_enum",
        "CUexternalMemoryHandleType",
        "CUexternalMemory",
        "CUextSemaphore_st",
        "CUextMemory_st",
        "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",
        "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_st",
        "CUarrayMapInfo",
        "CUaccessProperty_enum",
        "CUaccessProperty",
        "CUaccessPolicyWindow_st",
        "CUaccessPolicyWindow",
        "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_GEQ",
        "CU_STREAM_WAIT_VALUE_FLUSH",
        "CU_STREAM_WAIT_VALUE_EQ",
        "CU_STREAM_WAIT_VALUE_AND",
        "CU_STREAM_PER_THREAD",
        "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_CAPTURE_STATUS_NONE",
        "CU_STREAM_CAPTURE_STATUS_INVALIDATED",
        "CU_STREAM_CAPTURE_STATUS_ACTIVE",
        "CU_STREAM_CAPTURE_MODE_THREAD_LOCAL",
        "CU_STREAM_CAPTURE_MODE_RELAXED",
        "CU_STREAM_CAPTURE_MODE_GLOBAL",
        "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_SYNC_MEMOPS",
        "CU_POINTER_ATTRIBUTE_RANGE_START_ADDR",
        "CU_POINTER_ATTRIBUTE_RANGE_SIZE",
        "CU_POINTER_ATTRIBUTE_P2P_TOKENS",
        "CU_POINTER_ATTRIBUTE_MEMORY_TYPE",
        "CU_POINTER_ATTRIBUTE_MAPPED",
        "CU_POINTER_ATTRIBUTE_IS_MANAGED",
        "CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE",
        "CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE",
        "CU_POINTER_ATTRIBUTE_HOST_POINTER",
        "CU_POINTER_ATTRIBUTE_DEVICE_POINTER",
        "CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL",
        "CU_POINTER_ATTRIBUTE_CONTEXT",
        "CU_POINTER_ATTRIBUTE_BUFFER_ID",
        "CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES",
        "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE",
        "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ",
        "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE",
        "CU_POINTER_ATTRIBUTE_ACCESS_FLAGS",
        "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_REUSE_FOLLOW_EVENT_DEPENDENCIES",
        "CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC",
        "CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES",
        "CU_MEMPOOL_ATTR_RELEASE_THRESHOLD",
        "CU_MEMHOSTREGISTER_READ_ONLY",
        "CU_LIMIT_STACK_SIZE",
        "CU_LIMIT_PRINTF_FIFO_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_NUM_INPUT_TYPES",
        "CU_JIT_INPUT_PTX",
        "CU_JIT_INPUT_OBJECT",
        "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_CACHE_OPTION_NONE",
        "CU_JIT_CACHE_OPTION_CG",
        "CU_JIT_CACHE_OPTION_CA",
        "CU_GRAPH_NODE_TYPE_WAIT_EVENT",
        "CU_GRAPH_NODE_TYPE_MEMSET",
        "CU_GRAPH_NODE_TYPE_MEMCPY",
        "CU_GRAPH_NODE_TYPE_KERNEL",
        "CU_GRAPH_NODE_TYPE_HOST",
        "CU_GRAPH_NODE_TYPE_GRAPH",
        "CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT",
        "CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL",
        "CU_GRAPH_NODE_TYPE_EVENT_RECORD",
        "CU_GRAPH_NODE_TYPE_EMPTY",
        "CU_GRAPH_NODE_TYPE_COUNT",
        "CU_GRAPH_EXEC_UPDATE_SUCCESS",
        "CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE",
        "CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED",
        "CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED",
        "CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED",
        "CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED",
        "CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED",
        "CU_GRAPH_EXEC_UPDATE_ERROR",
        "CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD",
        "CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER",
        "CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST",
        "CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY",
        "CU_GRAPHICS_REGISTER_FLAGS_NONE",
        "CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD",
        "CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY",
        "CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE",
        "CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD",
        "CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY",
        "CU_GL_MAP_RESOURCE_FLAGS_NONE",
        "CU_GL_DEVICE_LIST_NEXT_FRAME",
        "CU_GL_DEVICE_LIST_CURRENT_FRAME",
        "CU_GL_DEVICE_LIST_ALL",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC",
        "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE",
        "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_OPAQUE_WIN32_KMT",
        "CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32",
        "CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD",
        "CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF",
        "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE",
        "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP",
        "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT",
        "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE",
        "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_UNIFIED_ADDRESSING",
        "CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT",
        "CU_DEVICE_ATTRIBUTE_TCC_DRIVER",
        "CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT",
        "CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO",
        "CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK",
        "CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID",
        "CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID",
        "CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN",
        "CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR",
        "CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE",
        "CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR",
        "CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH",
        "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS",
        "CU_DEVICE_ATTRIBUTE_MAX",
        "CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_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_OVERLAP",
        "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED",
        "CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR",
        "CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS",
        "CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM",
        "CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS",
        "CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER",
        "CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES",
        "CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT",
        "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_NV12",
        "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_STATUS_NOT_SUPPORTED",
        "CUSPARSE_STATUS_INSUFFICIENT_RESOURCES",
        "CUSPARSE_SPMM_CSR_ALG2",
        "CUSPARSE_SPMM_CSR_ALG1",
        "CUSPARSE_SPMM_COO_ALG4",
        "CUSPARSE_SPMM_COO_ALG3",
        "CUSPARSE_SPMM_COO_ALG2",
        "CUSPARSE_SPMM_COO_ALG1",
        "CUSPARSE_SPMM_ALG_DEFAULT",
        "CUSPARSE_SPMMA_PREPROCESS",
        "CUSPARSE_SPMMA_ALG4",
        "CUSPARSE_SPMMA_ALG3",
        "CUSPARSE_SPMMA_ALG2",
        "CUSPARSE_SPMMA_ALG1",
        "CUSPARSE_SPGEMM_DEFAULT",
        "CUSPARSE_SPARSETODENSE_ALG_DEFAULT",
        "CUSPARSE_ORDER_ROW",
        "CUSPARSE_ORDER_COL",
        "CUSPARSE_MV_ALG_DEFAULT",
        "CUSPARSE_MM_ALG_DEFAULT",
        "CUSPARSE_INDEX_64I",
        "CUSPARSE_INDEX_32I",
        "CUSPARSE_INDEX_16U",
        "CUSPARSE_FORMAT_CSR",
        "CUSPARSE_FORMAT_CSC",
        "CUSPARSE_FORMAT_COO_AOS",
        "CUSPARSE_FORMAT_COO",
        "CUSPARSE_DENSETOSPARSE_ALG_DEFAULT",
        "CUSPARSE_CSRMV_ALG2",
        "CUSPARSE_CSRMV_ALG1",
        "CUSPARSE_CSRMM_ALG1",
        "CUSPARSE_CSR2CSC_ALG2",
        "CUSPARSE_CSR2CSC_ALG1",
        "CUSPARSE_COOMV_ALG",
        "CUSPARSE_COOMM_ALG3",
        "CUSPARSE_COOMM_ALG2",
        "CUSPARSE_COOMM_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_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",
        "CUGLmap_flags_enum",
        "CUGLmap_flags",
        "CUGLDeviceList_enum",
        "CUGLDeviceList",
        "CUFFT_VER_PATCH",
        "CUFFT_VER_MINOR",
        "CUFFT_VER_MAJOR",
        "CUFFT_VER_BUILD",
        "CUFFT_VERSION",
        "CUFFT_LICENSE_ERROR",
        "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_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_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_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_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_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_VERSION",
        "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_MEMSET_NODE_PARAMS_st",
        "CUDA_MEMSET_NODE_PARAMS",
        "CUDA_MEMCPY3D_PEER_st",
        "CUDA_MEMCPY3D_PEER",
        "CUDA_KERNEL_NODE_PARAMS_st",
        "CUDA_KERNEL_NODE_PARAMS",
        "CUDA_HOST_NODE_PARAMS_st",
        "CUDA_HOST_NODE_PARAMS",
        "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st",
        "CUDA_EXT_SEM_WAIT_NODE_PARAMS",
        "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st",
        "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS",
        "CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC",
        "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st",
        "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS",
        "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC",
        "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st",
        "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS",
        "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st",
        "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC",
        "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st",
        "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC",
        "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st",
        "CUDA_EXTERNAL_MEMORY_HANDLE_DESC",
        "CUDA_EXTERNAL_MEMORY_DEDICATED",
        "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st",
        "CUDA_EXTERNAL_MEMORY_BUFFER_DESC",
        "CUDA_ERROR_UNSUPPORTED_PTX_VERSION",
        "CUDA_ERROR_TOO_MANY_PEERS",
        "CUDA_ERROR_TIMEOUT",
        "CUDA_ERROR_SYSTEM_NOT_READY",
        "CUDA_ERROR_SYSTEM_DRIVER_MISMATCH",
        "CUDA_ERROR_STUB_LIBRARY",
        "CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD",
        "CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED",
        "CUDA_ERROR_STREAM_CAPTURE_UNMATCHED",
        "CUDA_ERROR_STREAM_CAPTURE_UNJOINED",
        "CUDA_ERROR_STREAM_CAPTURE_MERGE",
        "CUDA_ERROR_STREAM_CAPTURE_ISOLATION",
        "CUDA_ERROR_STREAM_CAPTURE_INVALIDATED",
        "CUDA_ERROR_STREAM_CAPTURE_IMPLICIT",
        "CUDA_ERROR_NVLINK_UNCORRECTABLE",
        "CUDA_ERROR_NOT_PERMITTED",
        "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_STATE",
        "CUDA_ERROR_ILLEGAL_INSTRUCTION",
        "CUDA_ERROR_HARDWARE_STACK_ERROR",
        "CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE",
        "CUDA_ERROR_DEVICE_NOT_LICENSED",
        "CUDA_ERROR_CONTEXT_IS_DESTROYED",
        "CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE",
        "CUDA_ERROR_CAPTURED_EVENT",
        "CUDA_EGL_MAX_PLANES",
        "CUDA_CB",
        "CUDA_ARRAY_SPARSE_PROPERTIES_st",
        "CUDA_ARRAY_SPARSE_PROPERTIES",
        "CUDA_ARRAY3D_SPARSE",
        "CUDA_ARRAY3D_DEPTH_TEXTURE",
        "CUDA_ARRAY3D_COLOR_ATTACHMENT",
        "CUDA_ARRAY3D_2DARRAY",
        "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 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;

while (@ARGV) {
    $fileName=shift (@ARGV);
    my $direxclude = 0;
    $fileDir=dirname($fileName);
    while (($direxclude == 0) and ($fileDir ne "." and $fileDir ne "/"))  { 
        if ($exclude_dirhash{$fileDir}) {
            print STDERR "Skipping file: $fileName in excluded directory $fileDir \n";
            $direxclude += 1;
        } else {
            $fileDir = dirname($fileDir);
        }
    }
    if ($exclude_filehash{$fileName}) { 
        print STDERR "Skipping  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";
            $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++;
                    $s = warnRemovedFunctions($line_num);
                    $warnings += $s;
                    $s = warnDeprecatedFunctions($line_num);
                    $warnings += $s;
                    $s = warnUnsupportedFunctions($line_num);
                    $warnings += $s;
                    $s = warnUnsupportedDeviceFunctions($line_num);
                    $warnings += $s;
                }
                $_ = $tmp;
            }
            simpleSubstitutions();
            transformExternShared();
            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};
    }
}
