Files
rocm-systems/bin/hipify-perl
T
Maneesh Gupta a0b5dfd625 Merge in the rocclr based hip runtime (#2032)
* Merge master-next changes in master (include vdi development in master branch)
2020-04-23 09:12:06 -07:00

2703 γραμμές
160 KiB
Perl
Εκτελέσιμο Αρχείο

#!/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;
my $whitelist = "";
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 # TODO: test it beforehand
);
$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"
, "cudaDevice"
, "cudaDeviceId"
, "cudaDevice_t"
, "cudaDevices"
, "cudaDimBlock"
, "cudaDimGrid"
, "cudaFatLink"
, "cudaGauge"
, "cudaGaugeField"
, "cudaGradInput"
, "cudaGradOutput"
, "cudaGridDim"
, "cudaIDs"
, "cudaInGauge"
, "cudaIndices"
, "cudaInput"
, "cudaMom"
, "cudaOutput"
, "cudaParam"
, "cudaSiteLink"
, "cudaStaple"
);
push(@whitelist, split(',', $whitelist));
@statNames = ("error", "init", "version", "device", "context", "module", "memory", "virtual_memory", "addressing", "stream", "event", "external_resource_interop", "stream_memory", "execution", "graph", "occupancy", "texture", "surface", "peer", "graphics", "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 warn:%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/hipGetDevice/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/\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/\bcudaDeviceSetLimit\b/hipDeviceSetLimit/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/hipCtxGetFlags/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/\bcuCtxSetLimit\b/hipDeviceSetLimit/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/\bcuDevicePrimaryCtxReset\b/hipDevicePrimaryCtxReset/g;
$ft{'context'} += s/\bcuDevicePrimaryCtxRetain\b/hipDevicePrimaryCtxRetain/g;
$ft{'context'} += s/\bcuDevicePrimaryCtxSetFlags\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/\bcuIpcGetMemHandle\b/hipIpcGetMemHandle/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/\bcuMemcpy3D_v2\b/hipDrvMemcpy3D/g;
$ft{'memory'} += s/\bcuMemcpy3DAsync_v2\b/hipDrvMemcpy3DAsync/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/\bcudaFree\b/hipFree/g;
$ft{'memory'} += s/\bcudaFreeArray\b/hipFreeArray/g;
$ft{'memory'} += s/\bcudaFreeHost\b/hipHostFree/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/\bcudaMallocPitch\b/hipMallocPitch/g;
$ft{'memory'} += s/\bcudaMemGetInfo\b/hipMemGetInfo/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/\bcudaMemcpyToArrayAsync\b/hipMemcpyToArrayAsync/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/\bcudaPointerGetAttributes\b/hipPointerGetAttributes/g;
$ft{'stream'} += s/\bcuStreamAddCallback\b/hipStreamAddCallback/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/\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/\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/hipDrvOccupancyMaxActiveBlocksPerMultiprocessor/g;
$ft{'occupancy'} += s/\bcuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\b/hipDrvOccupancyMaxActiveBlocksPerMultiprocessorWithFlags/g;
$ft{'occupancy'} += s/\bcuOccupancyMaxPotentialBlockSize\b/hipOccupancyMaxPotentialBlockSize/g;
$ft{'occupancy'} += s/\bcudaOccupancyMaxActiveBlocksPerMultiprocessor\b/hipOccupancyMaxActiveBlocksPerMultiprocessor/g;
$ft{'occupancy'} += s/\bcudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\b/hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags/g;
$ft{'occupancy'} += s/\bcudaOccupancyMaxPotentialBlockSize\b/hipOccupancyMaxPotentialBlockSize/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/\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/\bcuTexRefSetFilterMode\b/hipTexRefSetFilterMode/g;
$ft{'texture'} += s/\bcuTexRefSetFlags\b/hipTexRefSetFlags/g;
$ft{'texture'} += s/\bcuTexRefSetFormat\b/hipTexRefSetFormat/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/\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/\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/\bcublasCgemm\b/hipblasCgemm/g;
$ft{'library'} += s/\bcublasCgemmBatched\b/hipblasCgemmBatched/g;
$ft{'library'} += s/\bcublasCgemmStridedBatched\b/hipblasCgemmStridedBatched/g;
$ft{'library'} += s/\bcublasCgemv\b/hipblasCgemv/g;
$ft{'library'} += s/\bcublasCgemv_v2\b/hipblasCgemv/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/\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/\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/\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/\bcublasDger\b/hipblasDger/g;
$ft{'library'} += s/\bcublasDger_v2\b/hipblasDger/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/\bcublasDscal\b/hipblasDscal/g;
$ft{'library'} += s/\bcublasDscal_v2\b/hipblasDscal/g;
$ft{'library'} += s/\bcublasDswap\b/hipblasDswap/g;
$ft{'library'} += s/\bcublasDswap_v2\b/hipblasDswap/g;
$ft{'library'} += s/\bcublasDsyr\b/hipblasDsyr/g;
$ft{'library'} += s/\bcublasDsyr_v2\b/hipblasDsyr/g;
$ft{'library'} += s/\bcublasDtrsm\b/hipblasDtrsm/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/\bcublasGemmEx\b/hipblasGemmEx/g;
$ft{'library'} += s/\bcublasGetMatrix\b/hipblasGetMatrix/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/\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/\bcublasSdot\b/hipblasSdot/g;
$ft{'library'} += s/\bcublasSdot_v2\b/hipblasSdot/g;
$ft{'library'} += s/\bcublasSetMatrix\b/hipblasSetMatrix/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/\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/\bcublasSgemvBatched\b/hipblasSgemvBatched/g;
$ft{'library'} += s/\bcublasSgemv_v2\b/hipblasSgemv/g;
$ft{'library'} += s/\bcublasSger\b/hipblasSger/g;
$ft{'library'} += s/\bcublasSger_v2\b/hipblasSger/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/\bcublasSscal\b/hipblasSscal/g;
$ft{'library'} += s/\bcublasSscal_v2\b/hipblasSscal/g;
$ft{'library'} += s/\bcublasSswap\b/hipblasSswap/g;
$ft{'library'} += s/\bcublasSswap_v2\b/hipblasSswap/g;
$ft{'library'} += s/\bcublasSsyr\b/hipblasSsyr/g;
$ft{'library'} += s/\bcublasSsyr_v2\b/hipblasSsyr/g;
$ft{'library'} += s/\bcublasStrsm\b/hipblasStrsm/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/\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/\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/\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/\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/\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/\bcusparseCbsrmv\b/hipsparseCbsrmv/g;
$ft{'library'} += s/\bcusparseCcsr2csc\b/hipsparseCcsr2csc/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/\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/\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/\bcusparseCcsrsm_solve\b/hipsparseCcsrsm_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/\bcusparseCdotci\b/hipsparseCdotci/g;
$ft{'library'} += s/\bcusparseCdoti\b/hipsparseCdoti/g;
$ft{'library'} += s/\bcusparseCgthr\b/hipsparseCgthr/g;
$ft{'library'} += s/\bcusparseCgthrz\b/hipsparseCgthrz/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/\bcusparseCreateCsrgemm2Info\b/hipsparseCreateCsrgemm2Info/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/\bcusparseCsctr\b/hipsparseCsctr/g;
$ft{'library'} += s/\bcusparseDaxpyi\b/hipsparseDaxpyi/g;
$ft{'library'} += s/\bcusparseDbsrmv\b/hipsparseDbsrmv/g;
$ft{'library'} += s/\bcusparseDcsr2csc\b/hipsparseDcsr2csc/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/\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/\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/\bcusparseDcsrsm_solve\b/hipsparseDcsrsm_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/\bcusparseDdoti\b/hipsparseDdoti/g;
$ft{'library'} += s/\bcusparseDestroy\b/hipsparseDestroy/g;
$ft{'library'} += s/\bcusparseDestroyCsrgemm2Info\b/hipsparseDestroyCsrgemm2Info/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/\bcusparseDgthr\b/hipsparseDgthr/g;
$ft{'library'} += s/\bcusparseDgthrz\b/hipsparseDgthrz/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/\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/\bcusparseSbsrmv\b/hipsparseSbsrmv/g;
$ft{'library'} += s/\bcusparseScsr2csc\b/hipsparseScsr2csc/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/\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/\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/\bcusparseScsrsm_solve\b/hipsparseScsrsm_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/\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/\bcusparseSgthr\b/hipsparseSgthr/g;
$ft{'library'} += s/\bcusparseSgthrz\b/hipsparseSgthrz/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/\bcusparseSroti\b/hipsparseSroti/g;
$ft{'library'} += s/\bcusparseSsctr\b/hipsparseSsctr/g;
$ft{'library'} += s/\bcusparseXbsrilu02_zeroPivot\b/hipsparseXbsrilu02_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/\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/\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/\bcusparseZbsrmv\b/hipsparseZbsrmv/g;
$ft{'library'} += s/\bcusparseZcsr2csc\b/hipsparseZcsr2csc/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/\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/\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/\bcusparseZcsrsm_solve\b/hipsparseZcsrsm_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/\bcusparseZdotci\b/hipsparseZdotci/g;
$ft{'library'} += s/\bcusparseZdoti\b/hipsparseZdoti/g;
$ft{'library'} += s/\bcusparseZgthr\b/hipsparseZgthr/g;
$ft{'library'} += s/\bcusparseZgthrz\b/hipsparseZgthrz/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_MEMCPY2D\b/hip_Memcpy2D/g;
$ft{'type'} += s/\bCUDA_MEMCPY2D_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/\bCUaddress_mode\b/hipTextureAddressMode/g;
$ft{'type'} += s/\bCUaddress_mode_enum\b/hipTextureAddressMode/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_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/\bCUevent\b/hipEvent_t/g;
$ft{'type'} += s/\bCUevent_st\b/ihipEvent_t/g;
$ft{'type'} += s/\bCUfilter_mode\b/hipTextureFilterMode/g;
$ft{'type'} += s/\bCUfilter_mode_enum\b/hipTextureFilterMode/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/ihipIpcEventHandle_t/g;
$ft{'type'} += s/\bCUipcEventHandle_st\b/ihipIpcEventHandle_t/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/\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_st/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/g;
$ft{'type'} += s/\bCUresourcetype\b/hipResourceType/g;
$ft{'type'} += s/\bCUresourcetype_enum\b/hipResourceType/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/\bcsrgemm2Info\b/csrgemm2Info/g;
$ft{'type'} += s/\bcsrgemm2Info_t\b/csrgemm2Info_t/g;
$ft{'type'} += s/\bcsrilu02Info_t\b/csrilu02Info_t/g;
$ft{'type'} += s/\bcsrsm2Info\b/csrsm2Info/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/\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/\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/\bcudaFuncAttributes\b/hipFuncAttributes/g;
$ft{'type'} += s/\bcudaFuncCache\b/hipFuncCache_t/g;
$ft{'type'} += s/\bcudaIpcEventHandle_st\b/ihipIpcEventHandle_t/g;
$ft{'type'} += s/\bcudaIpcEventHandle_t\b/ihipIpcEventHandle_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/\bcudaMemcpy3DParms\b/hipMemcpy3DParms/g;
$ft{'type'} += s/\bcudaMemcpyKind\b/hipMemcpyKind/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{'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_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_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_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_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_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_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_GLOBAL_SYMBOL_ADDRESSES\b/hipJitGlobalSymbolAddresses/g;
$ft{'numeric_literal'} += s/\bCU_JIT_GLOBAL_SYMBOL_COUNT\b/hipJitGlobalSymbolCount/g;
$ft{'numeric_literal'} += s/\bCU_JIT_GLOBAL_SYMBOL_NAMES\b/hipJitGlobalSymbolNames/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_ATTACH_GLOBAL\b/hipMemAttachGlobal/g;
$ft{'numeric_literal'} += s/\bCU_MEM_ATTACH_HOST\b/hipMemAttachHost/g;
$ft{'numeric_literal'} += s/\bCU_OCCUPANCY_DEFAULT\b/hipOccupancyDefault/g;
$ft{'numeric_literal'} += s/\bCU_RESOURCE_TYPE_ARRAY\b/hipResourceTypeArray/g;
$ft{'numeric_literal'} += s/\bCU_RESOURCE_TYPE_LINEAR\b/hipResourceTypeLinear/g;
$ft{'numeric_literal'} += s/\bCU_RESOURCE_TYPE_MIPMAPPED_ARRAY\b/hipResourceTypeMipmappedArray/g;
$ft{'numeric_literal'} += s/\bCU_RESOURCE_TYPE_PITCH2D\b/hipResourceTypePitch2D/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_1X16\b/hipResViewFormatHalf1/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_1X32\b/hipResViewFormatFloat1/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_2X16\b/hipResViewFormatHalf2/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_2X32\b/hipResViewFormatFloat2/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_4X16\b/hipResViewFormatHalf4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_FLOAT_4X32\b/hipResViewFormatFloat4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_NONE\b/hipResViewFormatNone/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SIGNED_BC4\b/hipResViewFormatSignedBlockCompressed4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SIGNED_BC5\b/hipResViewFormatSignedBlockCompressed5/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SIGNED_BC6H\b/hipResViewFormatSignedBlockCompressed6H/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_1X16\b/hipResViewFormatSignedShort1/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_1X32\b/hipResViewFormatSignedInt1/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_1X8\b/hipResViewFormatSignedChar1/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_2X16\b/hipResViewFormatSignedShort2/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_2X32\b/hipResViewFormatSignedInt2/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_2X8\b/hipResViewFormatSignedChar2/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_4X16\b/hipResViewFormatSignedShort4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_4X32\b/hipResViewFormatSignedInt4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_SINT_4X8\b/hipResViewFormatSignedChar4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_1X16\b/hipResViewFormatUnsignedShort1/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_1X32\b/hipResViewFormatUnsignedInt1/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_1X8\b/hipResViewFormatUnsignedChar1/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_2X16\b/hipResViewFormatUnsignedShort2/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_2X32\b/hipResViewFormatUnsignedInt2/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_2X8\b/hipResViewFormatUnsignedChar2/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_4X16\b/hipResViewFormatUnsignedShort4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_4X32\b/hipResViewFormatUnsignedInt4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UINT_4X8\b/hipResViewFormatUnsignedChar4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC1\b/hipResViewFormatUnsignedBlockCompressed1/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC2\b/hipResViewFormatUnsignedBlockCompressed2/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC3\b/hipResViewFormatUnsignedBlockCompressed3/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC4\b/hipResViewFormatUnsignedBlockCompressed4/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC5\b/hipResViewFormatUnsignedBlockCompressed5/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC6H\b/hipResViewFormatUnsignedBlockCompressed6H/g;
$ft{'numeric_literal'} += s/\bCU_RES_VIEW_FORMAT_UNSIGNED_BC7\b/hipResViewFormatUnsignedBlockCompressed7/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/hipAddressModeBorder/g;
$ft{'numeric_literal'} += s/\bCU_TR_ADDRESS_MODE_CLAMP\b/hipAddressModeClamp/g;
$ft{'numeric_literal'} += s/\bCU_TR_ADDRESS_MODE_MIRROR\b/hipAddressModeMirror/g;
$ft{'numeric_literal'} += s/\bCU_TR_ADDRESS_MODE_WRAP\b/hipAddressModeWrap/g;
$ft{'numeric_literal'} += s/\bCU_TR_FILTER_MODE_LINEAR\b/hipFilterModeLinear/g;
$ft{'numeric_literal'} += s/\bCU_TR_FILTER_MODE_POINT\b/hipFilterModePoint/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/\bcudaDevAttrCooperativeLaunch\b/hipDeviceAttributeCooperativeLaunch/g;
$ft{'numeric_literal'} += s/\bcudaDevAttrCooperativeMultiDeviceLaunch\b/hipDeviceAttributeCooperativeMultiDeviceLaunch/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/\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/\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/\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/\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/\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/\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/\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/\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/\bcudaIpcMemLazyEnablePeerAccess\b/hipIpcMemLazyEnablePeerAccess/g;
$ft{'define'} += s/\bcudaMemAttachGlobal\b/hipMemAttachGlobal/g;
$ft{'define'} += s/\bcudaMemAttachHost\b/hipMemAttachHost/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 (
"__brev",
"__brevll",
"__byte_perm",
"__clz",
"__clzll",
"__cosf",
"__double2int_rz",
"__double2ll_rz",
"__double2uint_rz",
"__double2ull_rz",
"__exp10f",
"__expf",
"__fadd_rd",
"__fadd_rn",
"__fadd_ru",
"__fadd_rz",
"__fdiv_rd",
"__fdiv_rn",
"__fdiv_ru",
"__fdiv_rz",
"__fdividef",
"__ffs",
"__ffsll",
"__float22half2_rn",
"__float2half",
"__float2half2_rn",
"__float2half_rd",
"__float2half_rn",
"__float2half_ru",
"__float2half_rz",
"__float2int_rd",
"__float2int_rn",
"__float2int_ru",
"__float2int_rz",
"__float2ll_rd",
"__float2ll_rn",
"__float2ll_ru",
"__float2ll_rz",
"__float2uint_rd",
"__float2uint_rn",
"__float2uint_ru",
"__float2uint_rz",
"__float2ull_rd",
"__float2ull_rn",
"__float2ull_ru",
"__float2ull_rz",
"__float_as_int",
"__float_as_uint",
"__floats2half2_rn",
"__fmaf_rd",
"__fmaf_rn",
"__fmaf_ru",
"__fmaf_rz",
"__fmul_rd",
"__fmul_rn",
"__fmul_ru",
"__fmul_rz",
"__frcp_rd",
"__frcp_rn",
"__frcp_ru",
"__frcp_rz",
"__frsqrt_rn",
"__fsqrt_rd",
"__fsqrt_rn",
"__fsqrt_ru",
"__fsqrt_rz",
"__fsub_rd",
"__fsub_rn",
"__fsub_ru",
"__fsub_rz",
"__h2div",
"__hadd",
"__hadd2",
"__hadd2_sat",
"__hadd_sat",
"__half22float2",
"__half2float",
"__half2half2",
"__half2int_rd",
"__half2int_rn",
"__half2int_ru",
"__half2int_rz",
"__half2ll_rd",
"__half2ll_rn",
"__half2ll_ru",
"__half2ll_rz",
"__half2short_rd",
"__half2short_rn",
"__half2short_ru",
"__half2short_rz",
"__half2uint_rd",
"__half2uint_rn",
"__half2uint_ru",
"__half2uint_rz",
"__half2ull_rd",
"__half2ull_rn",
"__half2ull_ru",
"__half2ull_rz",
"__half2ushort_rd",
"__half2ushort_rn",
"__half2ushort_ru",
"__half2ushort_rz",
"__half_as_short",
"__half_as_ushort",
"__halves2half2",
"__hbeq2",
"__hbequ2",
"__hbge2",
"__hbgeu2",
"__hbgt2",
"__hbgtu2",
"__hble2",
"__hbleu2",
"__hblt2",
"__hbltu2",
"__hbne2",
"__hbneu2",
"__hdiv",
"__heq",
"__heq2",
"__hequ",
"__hequ2",
"__hfma",
"__hfma2",
"__hfma2_sat",
"__hfma_sat",
"__hge",
"__hge2",
"__hgeu",
"__hgeu2",
"__hgt",
"__hgt2",
"__hgtu",
"__hgtu2",
"__high2float",
"__high2half",
"__high2half2",
"__highs2half2",
"__hisinf",
"__hisnan",
"__hisnan2",
"__hle",
"__hle2",
"__hleu",
"__hleu2",
"__hlt",
"__hlt2",
"__hltu",
"__hltu2",
"__hmul",
"__hmul2",
"__hmul2_sat",
"__hmul_sat",
"__hne",
"__hne2",
"__hneg",
"__hneg2",
"__hneu",
"__hneu2",
"__hsub",
"__hsub2",
"__hsub2_sat",
"__hsub_sat",
"__int2float_rd",
"__int2float_rn",
"__int2float_ru",
"__int2float_rz",
"__int2half_rn",
"__int2half_ru",
"__int2half_rz",
"__int_as_float",
"__ldca",
"__ldcg",
"__ldcs",
"__ldg",
"__ll2float_rd",
"__ll2float_rn",
"__ll2float_ru",
"__ll2float_rz",
"__ll2half_rd",
"__ll2half_rn",
"__ll2half_ru",
"__ll2half_rz",
"__log10f",
"__log2f",
"__logf",
"__low2float",
"__low2half",
"__low2half2",
"__lowhigh2highlow",
"__lows2half2",
"__mul24",
"__mul64hi",
"__mulhi",
"__popc",
"__popcll",
"__powf",
"__rhadd",
"__sad",
"__saturatef",
"__short2half_rd",
"__short2half_rn",
"__short2half_ru",
"__short2half_rz",
"__short_as_half",
"__sincosf",
"__sinf",
"__syncthreads",
"__tanf",
"__threadfence",
"__threadfence_block",
"__uhadd",
"__uint2float_rd",
"__uint2float_rn",
"__uint2float_ru",
"__uint2float_rz",
"__uint2half_rd",
"__uint2half_rn",
"__uint2half_ru",
"__uint2half_rz",
"__uint_as_float",
"__ull2float_rd",
"__ull2float_rn",
"__ull2float_ru",
"__ull2float_rz",
"__ull2half_rd",
"__ull2half_rn",
"__ull2half_ru",
"__ull2half_rz",
"__umul24",
"__umul64hi",
"__umulhi",
"__urhadd",
"__usad",
"__ushort2half_rd",
"__ushort2half_rn",
"__ushort2half_ru",
"__ushort2half_rz",
"__ushort_as_half",
"abs",
"acos",
"acosf",
"acosh",
"acoshf",
"asin",
"asinf",
"asinh",
"asinhf",
"atan",
"atan2",
"atan2f",
"atanf",
"atanh",
"atanhf",
"atomicAdd",
"atomicAnd",
"atomicCAS",
"atomicDec",
"atomicExch",
"atomicInc",
"atomicMax",
"atomicMin",
"atomicOr",
"atomicSub",
"atomicXor",
"cbrt",
"cbrtf",
"ceil",
"ceilf",
"copysign",
"copysignf",
"cos",
"cosf",
"cosh",
"coshf",
"cospi",
"cospif",
"cyl_bessel_i0",
"cyl_bessel_i0f",
"cyl_bessel_i1",
"cyl_bessel_i1f",
"erf",
"erfc",
"erfcf",
"erfcinv",
"erfcinvf",
"erfcx",
"erfcxf",
"erff",
"erfinv",
"erfinvf",
"exp",
"exp10",
"exp10f",
"exp2",
"exp2f",
"expf",
"expm1",
"expm1f",
"fabs",
"fabsf",
"fdim",
"fdimf",
"fdivide",
"fdividef",
"floor",
"floorf",
"fma",
"fmaf",
"fmax",
"fmaxf",
"fmin",
"fminf",
"fmod",
"fmodf",
"frexp",
"frexpf",
"h2ceil",
"h2cos",
"h2exp",
"h2exp10",
"h2exp2",
"h2floor",
"h2log",
"h2log10",
"h2log2",
"h2rcp",
"h2rint",
"h2rsqrt",
"h2sin",
"h2sqrt",
"h2trunc",
"hceil",
"hcos",
"hexp",
"hexp10",
"hexp2",
"hfloor",
"hlog",
"hlog10",
"hlog2",
"hrcp",
"hrint",
"hrsqrt",
"hsin",
"hsqrt",
"htrunc",
"hypot",
"hypotf",
"ilogb",
"ilogbf",
"isfinite",
"isinf",
"isnan",
"j0",
"j0f",
"j1",
"j1f",
"jn",
"jnf",
"labs",
"ldexp",
"ldexpf",
"lgamma",
"lgammaf",
"llabs",
"llrint",
"llrintf",
"llround",
"llroundf",
"log",
"log10",
"log10f",
"log1p",
"log1pf",
"log2",
"log2f",
"logb",
"logbf",
"logf",
"lrint",
"lrintf",
"lround",
"lroundf",
"max",
"min",
"modf",
"modff",
"nan",
"nanf",
"nearbyint",
"nearbyintf",
"nextafter",
"nextafterf",
"norm",
"norm3d",
"norm3df",
"norm4d",
"norm4df",
"normcdf",
"normcdff",
"normcdfinv",
"normcdfinvf",
"normf",
"pow",
"powf",
"rcbrt",
"rcbrtf",
"remainder",
"remainderf",
"remquo",
"remquof",
"rhypot",
"rhypotf",
"rint",
"rintf",
"rnorm",
"rnorm3d",
"rnorm3df",
"rnorm4d",
"rnorm4df",
"rnormf",
"round",
"roundf",
"rsqrt",
"rsqrtf",
"scalbln",
"scalblnf",
"scalbn",
"scalbnf",
"signbit",
"sin",
"sincos",
"sincosf",
"sincospi",
"sincospif",
"sinf",
"sinh",
"sinhf",
"sinpi",
"sinpif",
"sqrt",
"sqrtf",
"tan",
"tanf",
"tanh",
"tanhf",
"tgamma",
"tgammaf",
"trunc",
"truncf",
"y0",
"y0f",
"y1",
"y1f",
"yn",
"ynf"
)
{
# 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 (
"_Pow_int",
"__brkpt",
"__finite",
"__finitef",
"__finitel",
"__habs",
"__habs2",
"__isinf",
"__isinff",
"__isinfl",
"__isnan",
"__isnanf",
"__isnanl",
"__pm0",
"__pm1",
"__pm2",
"__pm3",
"__prof_trigger",
"__shfl_down_sync",
"__shfl_sync",
"__shfl_up_sync",
"__shfl_xor_sync",
"__signbit",
"__signbitf",
"__signbitl",
"__trap",
"__vabs2",
"__vabs4",
"__vabsdiffs2",
"__vabsdiffs4",
"__vabsdiffu2",
"__vabsdiffu4",
"__vabsss2",
"__vabsss4",
"__vadd2",
"__vadd4",
"__vaddss2",
"__vaddss4",
"__vaddus2",
"__vaddus4",
"__vavgs2",
"__vavgs4",
"__vavgu2",
"__vavgu4",
"__vcmpeq2",
"__vcmpeq4",
"__vcmpges2",
"__vcmpges4",
"__vcmpgeu2",
"__vcmpgeu4",
"__vcmpgts2",
"__vcmpgts4",
"__vcmpgtu2",
"__vcmpgtu4",
"__vcmples2",
"__vcmples4",
"__vcmpleu4",
"__vcmplts2",
"__vcmplts4",
"__vcmpltu2",
"__vcmpltu4",
"__vcmpne2",
"__vcmpne4",
"__vhaddu2",
"__vhaddu4",
"__vmaxs2",
"__vmaxs4",
"__vmaxu2",
"__vmaxu4",
"__vmins2",
"__vmins4",
"__vminu2",
"__vminu4",
"__vneg2",
"__vneg4",
"__vnegss2",
"__vnegss4",
"__vsads2",
"__vsads4",
"__vsadu2",
"__vsadu4",
"__vseteq2",
"__vseteq4",
"__vsetges2",
"__vsetges4",
"__vsetgeu2",
"__vsetgeu4",
"__vsetgts2",
"__vsetgts4",
"__vsetgtu4",
"__vsetles2",
"__vsetles4",
"__vsetleu2",
"__vsetleu4",
"__vsetlts2",
"__vsetlts4",
"__vsetltu2",
"__vsetltu4",
"__vsetne2",
"__vsetne4",
"__vsub2",
"__vsub4",
"__vsubss2",
"__vsubss4",
"__vsubus2",
"__vsubus4",
"_fdsign",
"_ldsign",
"float2int",
"float_as_int",
"float_as_uint",
"int2float",
"int_as_float",
"llmax",
"llmin",
"mul24",
"mul64hi",
"mulhi",
"saturate",
"uint2float",
"uint_as_float",
"ullmax",
"ullmin",
"umax",
"umin",
"umul24"
)
{
# 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;
}
# 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);
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__/;
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) {
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";
}
$s = warnUnsupportedDeviceFunctions($line_num);
$warnings += $s;
}
$_ = $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{'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{'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};
}
}
# 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};
}
}