diff --git a/projects/hip/README.md b/projects/hip/README.md index d4e16e70c7..fbd49e81c8 100644 --- a/projects/hip/README.md +++ b/projects/hip/README.md @@ -145,11 +145,8 @@ The README with the procedures and tips the team used during this porting effort * **amd_detail/**** , **nvidia_detail/**** : Implementation details for specific platforms. HIP applications should not include these files directly. * **bin**: Tools and scripts to help with hip porting - * **hipify-perl** : Script based tool to convert CUDA code to portable CPP. Converts CUDA APIs and kernel builtins. * **hipcc** : Compiler driver that can be used to replace nvcc in existing CUDA code. hipcc will call nvcc or HIP-Clang depending on platform and include appropriate platform-specific headers and libraries. * **hipconfig** : Print HIP configuration (HIP_PATH, HIP_PLATFORM, HIP_COMPILER, HIP_RUNTIME, CXX config flags, etc.) - * **hipexamine-perl.sh** : Script to scan the directory, find all code, and report statistics on how much can be ported with HIP (and identify likely features not yet supported). - * **hipconvertinplace-perl.sh** : Script to scan the directory, find all code, and convert the found CUDA code to HIP reporting all unconverted things. * **doc**: Documentation - markdown and doxygen info. diff --git a/projects/hip/bin/findcode.sh b/projects/hip/bin/findcode.sh deleted file mode 100755 index 19d4ae05c9..0000000000 --- a/projects/hip/bin/findcode.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# Copyright (c) 2016 - 2021 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. - -SEARCH_DIRS=$@ - -find $SEARCH_DIRS -name '*.cu' -find $SEARCH_DIRS -name '*.cpp' -o -name '*.cxx' -o -name '*.c' -o -name '*.cc' -find $SEARCH_DIRS -name '*.cuh' -find $SEARCH_DIRS -name '*.h' -o -name '*.hpp' -o -name '*.inc' -o -name '*.inl' -o -name '*.hxx' -o -name '*.hdl' diff --git a/projects/hip/bin/finduncodep.sh b/projects/hip/bin/finduncodep.sh deleted file mode 100755 index 98c84dce01..0000000000 --- a/projects/hip/bin/finduncodep.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# Copyright (c) 2016 - 2021 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. - -SEARCH_DIR=$1 - -find $SEARCH_DIR -not -name '*.cu' -and -not -name '*.cpp' -and -not -name '*.cxx' -and -not -name '*.c' -and -not -name '*.cc' -and -not -name '*.cuh' -and -not -name '*.h' -and -not -name '*.hpp' -and -not -name '*.inc' -and -not -name '*.inl' -and -not -name '*.hxx' -and -not -name '*.hdl' diff --git a/projects/hip/bin/hipconvertinplace-perl.sh b/projects/hip/bin/hipconvertinplace-perl.sh deleted file mode 100755 index d1b1b4fdd4..0000000000 --- a/projects/hip/bin/hipconvertinplace-perl.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -# Copyright (c) 2017 - 2021 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. - -#usage : hipconvertinplace-perl.sh DIRNAME [hipify-perl options] - -#hipify "inplace" all code files in specified directory. -# This can be quite handy when dealing with an existing CUDA code base since the script -# preserves the existing directory structure. - -# For each code file, this script will: -# - If ".prehip file does not exist, copy the original code to a new file with extension ".prehip". Then hipify the code file. -# - If ".prehip" file exists, this is used as input to hipify. -# (this is useful for testing improvements to the hipify-perl toolset). - - -SCRIPT_DIR=`dirname $0` -SEARCH_DIR=$1 -shift -$SCRIPT_DIR/hipify-perl -inplace -print-stats "$@" `$SCRIPT_DIR/findcode.sh $SEARCH_DIR` diff --git a/projects/hip/bin/hipconvertinplace.sh b/projects/hip/bin/hipconvertinplace.sh deleted file mode 100755 index c8588b5ea5..0000000000 --- a/projects/hip/bin/hipconvertinplace.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -# Copyright (c) 2016 - 2021 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. - -#usage : hipconvertinplace.sh DIRNAME [hipify options] [--] [clang options] - -#hipify "inplace" all code files in specified directory. -# This can be quite handy when dealing with an existing CUDA code base since the script -# preserves the existing directory structure. - -SCRIPT_DIR=`dirname $0` -SEARCH_DIR=$1 - -hipify_args='' -while (( "$#" )); do - shift - if [ "$1" != "--" ]; then - hipify_args="$hipify_args $1" - else - shift - break - fi -done -clang_args="$@" - -$SCRIPT_DIR/hipify-clang -inplace -print-stats $hipify_args `$SCRIPT_DIR/findcode.sh $SEARCH_DIR` -- -x cuda $clang_args diff --git a/projects/hip/bin/hipexamine-perl.sh b/projects/hip/bin/hipexamine-perl.sh deleted file mode 100755 index 1285017907..0000000000 --- a/projects/hip/bin/hipexamine-perl.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# Copyright (c) 2017 - 2021 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. - -#usage : hipexamine-perl.sh DIRNAME [hipify-perl options] - -# Generate HIP stats (LOC, CUDA->API conversions, missing functionality) for all the code files -# in the specified directory. - - -SCRIPT_DIR=`dirname $0` -SEARCH_DIR=$1 -shift -$SCRIPT_DIR/hipify-perl -no-output -print-stats "$@" `$SCRIPT_DIR/findcode.sh $SEARCH_DIR` diff --git a/projects/hip/bin/hipexamine.sh b/projects/hip/bin/hipexamine.sh deleted file mode 100755 index 8b28bfc0c6..0000000000 --- a/projects/hip/bin/hipexamine.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash -# Copyright (c) 2016 - 2021 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. - -#usage : hipexamine.sh DIRNAME [hipify options] [--] [clang options] - -# Generate CUDA->HIP conversion statistics for all the code files in the specified directory. - -SCRIPT_DIR=`dirname $0` -SEARCH_DIR=$1 - -hipify_args='' -while (( "$#" )); do - shift - if [ "$1" != "--" ]; then - hipify_args="$hipify_args $1" - else - shift - break - fi -done -clang_args="$@" - -$SCRIPT_DIR/hipify-clang -examine $hipify_args `$SCRIPT_DIR/findcode.sh $SEARCH_DIR` -- -x cuda $clang_args diff --git a/projects/hip/bin/hipify-cmakefile b/projects/hip/bin/hipify-cmakefile deleted file mode 100755 index 6f70aba364..0000000000 --- a/projects/hip/bin/hipify-cmakefile +++ /dev/null @@ -1,280 +0,0 @@ -#!/usr/bin/env perl -## -# Copyright (c) 2015 - 2021 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. -## -#usage hipify-cmakefile [OPTIONS] INPUT_FILE -use Getopt::Long; -use warnings; - -GetOptions( - "print-stats" => \$print_stats # print the command-line, like a header. - , "quiet-warnings" => \$quiet_warnings # don't print warnings on unknown CUDA functions. - , "no-output" => \$no_output # don't write any translated output to stdout. - , "inplace" => \$inplace # modify input file inplace, save backup in ".prehip" file. - , "n" => \$n # combination of print_stats + no-output. -); - -$print_stats = 1 if $n; -$no_output = 1 if $n; - -@warn_whitelist = (); - -#--- -#Stats tracking code: -@statNames = ( "macro", "include", "option", "other" ); - -#--- -#Compute total of all individual counts: -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 ") warn:%d LOC:%d", $warnings, $loc; -} - -#--- -# Add adder stats to dest. Used to add stats for current file to a running total for all files: -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; - } -} - -# count of transforms in all files: -my %tt; -clearStats( \%tt, \@statNames ); - -my $fileCount = @ARGV; -my $fileName = ""; - -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, init to 0 here: - my %ft; - clearStats( \%ft, \@statNames ); - - my $lineCount = 0; - - undef $/; # Read whole file at once, so we can match newlines. - while () { - - # Replace find_package(CUDA) with find_package(HIP) - $ft{'include'} += s/\bfind_package[ ]*\([ ]*CUDA[ ]*[0-9.]*/find_package(HIP/ig; - - # Replace macros - $ft{'macro'} += s/\bCUDA_ADD_EXECUTABLE/HIP_ADD_EXECUTABLE/ig; - $ft{'macro'} += s/\bCUDA_ADD_LIBRARY/HIP_ADD_LIBRARY/ig; - $ft{'macro'} += s/\bCUDA_INCLUDE_DIRECTORIES/HIP_INCLUDE_DIRECTORIES/ig; - - # Replace options - $ft{'option'} += s/\bCUDA_NVCC_FLAGS/HIP_NVCC_FLAGS/ig; - $ft{'option'} += s/\bCUDA_HOST_COMPILATION_CPP/HIP_HOST_COMPILATION_CPP/ig; - $ft{'option'} += s/\bCUDA_SOURCE_PROPERTY_FORMAT/HIP_SOURCE_PROPERTY_FORMAT/ig; - - # Replace variables - $ft{'other'} += s/\bCUDA_FOUND/HIP_FOUND/ig; - $ft{'other'} += s/\bCUDA_VERSION/HIP_VERSION/ig; - $ft{'other'} += s/\bCUDA_TOOLKIT_ROOT_DIR/HIP_ROOT_DIR/ig; - - unless ($quiet_warnings) { - - #print STDERR "Check WARNINGs\n"; - # copy into array of lines, process line-by-line to show warnings: - my @lines = split /\n/, $_; - my $tmp = $_; # copies the whole file, could be a little smarter here... - my $line_num = 0; - - foreach (@lines) { - $line_num++; - - # remove any whitelisted words: - foreach $w (@warn_whitelist) { - s/\b$w\b/ZAP/; - } - - $s = warnUnsupportedSpecialFunctions($line_num); - $warnings += $s; - } - - $_ = $tmp; - } - - #-------- - # Print it! - unless ($no_output) { - 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"; - print STDERR "You may need to hand-edit '$fileName' to add steps to build correctly on HCC path\n"; - } - - # Update totals for all files: - addStats( \%tt, \%ft ); - $Twarnings += $warnings; - $TlineCount += $lineCount; -} - -#-- 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"; -} - -#--- -sub warnUnsupportedSpecialFunctions { - my $line_num = shift; - my $m = 0; - - foreach $func ( - # macros: - "CUDA_ADD_CUFFT_TO_TARGET", - "CUDA_ADD_CUBLAS_TO_TARGET", - #"CUDA_ADD_EXECUTABLE", - #"CUDA_ADD_LIBRARY", - "CUDA_BUILD_CLEAN_TARGET", - "CUDA_COMPILE", - "CUDA_COMPILE_PTX", - "CUDA_COMPILE_FATBIN", - "CUDA_COMPILE_CUBIN", - "CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME", - #"CUDA_INCLUDE_DIRECTORIES", - "CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS", - "CUDA_SELECT_NVCC_ARCH_FLAGS", - "CUDA_WRAP_SRCS", - - # options: - "CUDA_64_BIT_DEVICE_CODE", - "CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE", - "CUDA_BUILD_CUBIN", - "CUDA_BUILD_EMULATION", - "CUDA_LINK_LIBRARIES_KEYWORD", - "CUDA_GENERATED_OUTPUT_DIR", - #"CUDA_HOST_COMPILATION_CPP", - "CUDA_HOST_COMPILER", - #"CUDA_NVCC_FLAGS", - #"CUDA_NVCC_FLAGS_", - "CUDA_PROPAGATE_HOST_FLAGS", - "CUDA_SEPARABLE_COMPILATION", - #"CUDA_SOURCE_PROPERTY_FORMAT", - "CUDA_USE_STATIC_CUDA_RUNTIME", - "CUDA_VERBOSE_BUILD", - - # others: - #"CUDA_VERSION_MAJOR", - #"CUDA_VERSION_MINOR", - #"CUDA_VERSION", - #"CUDA_VERSION_STRING", - "CUDA_HAS_FP16", - #"CUDA_TOOLKIT_ROOT_DIR", - "CUDA_SDK_ROOT_DIR", - "CUDA_INCLUDE_DIRS", - "CUDA_LIBRARIES", - "CUDA_CUFFT_LIBRARIES", - "CUDA_CUBLAS_LIBRARIES", - "CUDA_cudart_static_LIBRARY", - "CUDA_cudadevrt_LIBRARY", - "CUDA_cupti_LIBRARY", - "CUDA_curand_LIBRARY", - "CUDA_cusolver_LIBRARY", - "CUDA_cusparse_LIBRARY", - "CUDA_npp_LIBRARY", - "CUDA_nppc_LIBRARY", - "CUDA_nppi_LIBRARY", - "CUDA_npps_LIBRARY", - "CUDA_nvcuvenc_LIBRARY", - "CUDA_nvcuvid_LIBRARY" - ) - { - my $mt = m/\b($func)/g; - if ($mt) { - $m += $mt; - print STDERR " warning: $fileName:#$line_num : unsupported macro/option : $_\n"; - } - } - - return $m; -} diff --git a/projects/hip/bin/hipify-perl b/projects/hip/bin/hipify-perl deleted file mode 100755 index cbf957939a..0000000000 --- a/projects/hip/bin/hipify-perl +++ /dev/null @@ -1,2694 +0,0 @@ -#!/usr/bin/env perl - -## -# Copyright (c) 2015 - 2021 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 warnings; -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 Kernel Launch Syntax -sub transformKernelLaunch { - no warnings qw/uninitialized/; - my $k = 0; - - # Handle the kern<...><<>>() 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<<>>() 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<...><<>>(...) 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<<>>(...) 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<...><<>>() 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<<>>() 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<...><>>(...) 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<<>>(...) 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<...><<>>() 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<<>>() 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<...><<>>(...) 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<<>>(...) 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/(?\($2\),/g - } - foreach $func ( - "hipFuncGetAttributes" - ) - { - $k += s/(?\($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 () { - $countKeywords += m/__global__/; - $countKeywords += m/__shared__/; - simpleSubstitutions(); - transformKernelLaunch(); - transformCubNamespace(); - if ($print_stats) { - while (/(\b(hip|HIP)([A-Z]|_)\w+\b)/g) { - $convertedTags{$1}++; - } - } - my $hasDeviceCode = $countKeywords + $ft{'device_function'}; - unless ($quiet_warnings) { - # Copy into array of lines, process line-by-line to show warnings - if ($hasDeviceCode or (/\bcu|CU/) or (/<<<.*>>>/)) { - my @lines = split /\n/, $_; - # Copy the whole file - my $tmp = $_; - my $line_num = 0; - foreach (@lines) { - $line_num++; - # Remove any whitelisted words - foreach $w (@whitelist) { - 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}; - } -} diff --git a/projects/hip/docs/markdown/hip_porting_guide.md b/projects/hip/docs/markdown/hip_porting_guide.md index 74c7fb77d0..4d9075f702 100644 --- a/projects/hip/docs/markdown/hip_porting_guide.md +++ b/projects/hip/docs/markdown/hip_porting_guide.md @@ -56,10 +56,10 @@ and provides practical suggestions on how to port CUDA code and work through com - Starting the port on a CUDA machine is often the easiest approach, since you can incrementally port pieces of the code to HIP while leaving the rest in CUDA. (Recall that on CUDA machines HIP is just a thin layer over CUDA, so the two code types can interoperate on nvcc platforms.) Also, the HIP port can be compared with the original CUDA code for function and performance. - Once the CUDA code is ported to HIP and is running on the CUDA machine, compile the HIP code using the HIP compiler on an AMD machine. - HIP ports can replace CUDA versions: HIP can deliver the same performance as a native CUDA implementation, with the benefit of portability to both Nvidia and AMD architectures as well as a path to future C++ standard support. You can handle platform-specific features through conditional compilation or by adding them to the open-source HIP infrastructure. -- Use **[bin/hipconvertinplace-perl.sh](https://github.com/ROCm-Developer-Tools/HIP/blob/master/bin/hipconvertinplace-perl.sh)** to hipify all code files in the CUDA source directory. +- Use **[hipconvertinplace-perl.sh](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/bin/hipconvertinplace-perl.sh)** to hipify all code files in the CUDA source directory. ### Scanning existing CUDA code to scope the porting effort -The hipexamine-perl.sh tool will scan a source directory to determine which files contain CUDA code and how much of that code can be automatically hipified. +The **[hipexamine-perl.sh](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/bin/hipexamine-perl.sh)** tool will scan a source directory to determine which files contain CUDA code and how much of that code can be automatically hipified. ``` > cd examples/rodinia_3.0/cuda/kmeans > $HIP_DIR/bin/hipexamine-perl.sh. @@ -113,7 +113,7 @@ For each input file FILE, this script will: This is useful for testing improvements to the hipify toolset. -The [hipconvertinplace-perl.sh](https://github.com/ROCm-Developer-Tools/HIP/blob/master/bin/hipconvertinplace-perl.sh) script will perform inplace conversion for all code files in the specified directory. +The [hipconvertinplace-perl.sh](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/bin/hipconvertinplace-perl.sh) script will perform inplace conversion for all code files in the specified directory. This can be quite handy when dealing with an existing CUDA code base since the script preserves the existing directory structure and filenames - and includes work. After converting in-place, you can review the code to add additional parameters to directory names. diff --git a/projects/hip/samples/0_Intro/square/README.md b/projects/hip/samples/0_Intro/square/README.md index 38ca288b48..807f08754e 100644 --- a/projects/hip/samples/0_Intro/square/README.md +++ b/projects/hip/samples/0_Intro/square/README.md @@ -19,9 +19,9 @@ $ export HIP_PATH=[MYHIP] ``` $ cd ~/hip/samples/0_Intro/square $ make -/home/user/hip/bin/hipify-perl square.cu > square.cpp -/home/user/hip/bin/hipcc square.cpp -o square.out -/home/user/hip/bin/hipcc -use-staticlib square.cpp -o square.out.static +/opt/rocm/hip/bin/hipify-perl square.cu > square.cpp +/opt/rocm/hip/bin/hipcc square.cpp -o square.out +/opt/rocm/hip/bin/hipcc -use-staticlib square.cpp -o square.out.static ``` - Execute file ``` diff --git a/projects/hip/tests/hipify-clang/unit_tests/libraries/cuSPARSE/cuSPARSE_12.cu b/projects/hip/tests/hipify-clang/unit_tests/libraries/cuSPARSE/cuSPARSE_12.cu deleted file mode 100644 index e6a2178053..0000000000 --- a/projects/hip/tests/hipify-clang/unit_tests/libraries/cuSPARSE/cuSPARSE_12.cu +++ /dev/null @@ -1,410 +0,0 @@ -// RUN: %run_test hipify "%s" "%t" %hipify_args %clang_args -// CHECK: #include -// CHECK: #include -// CHECK: #include -#include -#include -#include -#include -#include -#include - -#define Min(x,y) ((x)<(y)?(x):(y)) -#define Max(x,y) ((x)>(y)?(x):(y)) -#define Abs(x) ((x)>(0)?(x):-(x)) -// CHECK: static void CudaCheckCore(hipError_t code, const char *file, int line) { -static void CudaCheckCore(cudaError_t code, const char *file, int line) { - // CHECK: if (code != hipSuccess) { - if (code != cudaSuccess) { - // CHECK: fprintf(stderr,"Cuda Error %d : %s %s %d\n", code, hipGetErrorString(code), file, line); - fprintf(stderr,"Cuda Error %d : %s %s %d\n", code, cudaGetErrorString(code), file, line); - exit(code); - } -} - -#define CudaCheck( test ) { CudaCheckCore((test), __FILE__, __LINE__); } -// CHECK: #define CudaCheckAfterCall() { CudaCheckCore((hipGetLastError()), __FILE__, __LINE__); } -#define CudaCheckAfterCall() { CudaCheckCore((cudaGetLastError()), __FILE__, __LINE__); } - -// CHECK: static const char * GetErrorString(hipsparseStatus_t error) { -static const char * GetErrorString(cusparseStatus_t error) { - switch (error) { - // CHECK: case HIPSPARSE_STATUS_SUCCESS: - case CUSPARSE_STATUS_SUCCESS: - return "The operation completed successfully."; - // CHECK: case HIPSPARSE_STATUS_NOT_INITIALIZED: - case CUSPARSE_STATUS_NOT_INITIALIZED: - return "The cuSPARSE library was not initialized. This is usually caused by the lack of a prior call, an error in the CUDA Runtime API called by the cuSPARSE routine, or an error in the hardware setup.\n" \ - "To correct: call cusparseCreate() prior to the function call; and check that the hardware, an appropriate version of the driver, and the cuSPARSE library are correctly installed."; - // CHECK: case HIPSPARSE_STATUS_ALLOC_FAILED: - case CUSPARSE_STATUS_ALLOC_FAILED: - return "Resource allocation failed inside the cuSPARSE library. This is usually caused by a cudaMalloc() failure.\n"\ - "To correct: prior to the function call, deallocate previously allocated memory as much as possible."; - // CHECK: case HIPSPARSE_STATUS_INVALID_VALUE: - case CUSPARSE_STATUS_INVALID_VALUE: - return "An unsupported value or parameter was passed to the function (a negative vector size, for example).\n"\ - "To correct: ensure that all the parameters being passed have valid values."; - // CHECK: case HIPSPARSE_STATUS_ARCH_MISMATCH: - case CUSPARSE_STATUS_ARCH_MISMATCH: - return "The function requires a feature absent from the device architecture; usually caused by the lack of support for atomic operations or double precision.\n"\ - "To correct: compile and run the application on a device with appropriate compute capability, which is 1.1 for 32-bit atomic operations and 1.3 for double precision."; - // CHECK: case HIPSPARSE_STATUS_MAPPING_ERROR: - case CUSPARSE_STATUS_MAPPING_ERROR: - return "An access to GPU memory space failed, which is usually caused by a failure to bind a texture.\n"\ - "To correct: prior to the function call, unbind any previously bound textures."; - // CHECK: case HIPSPARSE_STATUS_EXECUTION_FAILED: - case CUSPARSE_STATUS_EXECUTION_FAILED: - return "The GPU program failed to execute. This is often caused by a launch failure of the kernel on the GPU, which can be caused by multiple reasons.\n"\ - "To correct: check that the hardware, an appropriate version of the driver, and the cuSPARSE library are correctly installed."; - // CHECK: case HIPSPARSE_STATUS_INTERNAL_ERROR: - case CUSPARSE_STATUS_INTERNAL_ERROR: - return "An internal cuSPARSE operation failed. This error is usually caused by a cudaMemcpyAsync() failure.\n"\ - "To correct: check that the hardware, an appropriate version of the driver, and the cuSPARSE library are correctly installed. Also, check that the memory passed as a parameter to the routine is not being deallocated prior to the routine’s completion."; - // CHECK: case HIPSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED: - // CHECK: "To correct: check that the fields in hipsparseMatDescr_t descrA were set correctly."; - case CUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED: - return "The matrix type is not supported by this function. This is usually caused by passing an invalid matrix descriptor to the function.\n"\ - "To correct: check that the fields in cusparseMatDescr_t descrA were set correctly."; - } - return ""; -} - -// CHECK: static void CudaSparseCheckCore(hipsparseStatus_t code, const char *file, int line) { -static void CudaSparseCheckCore(cusparseStatus_t code, const char *file, int line) { - // CHECK: if (code != HIPSPARSE_STATUS_SUCCESS) { - if (code != CUSPARSE_STATUS_SUCCESS) { - fprintf(stderr,"Cuda Error %d : %s %s %d\n", code, GetErrorString(code), file, line); - exit(code); - } -} - -#define CudaSparseCheck( test ) { CudaSparseCheckCore((test), __FILE__, __LINE__); } - -// Alloc and copy -template -ObjectType* allocAndCopy(const ObjectType src[], const int size) { - ObjectType* dest = NULL; - // CHECK: CudaCheck( hipMalloc(&dest,size*sizeof(ObjectType)) ); - CudaCheck( cudaMalloc(&dest,size*sizeof(ObjectType)) ); - // CHECK: CudaCheck( hipMemcpy(dest, src, size*sizeof(ObjectType), hipMemcpyHostToDevice ) ); - CudaCheck( cudaMemcpy(dest, src, size*sizeof(ObjectType), cudaMemcpyHostToDevice ) ); - return dest; -} - -template -ObjectType* alloc(const int size) { - ObjectType* dest = NULL; - // CHECK: CudaCheck( hipMalloc(&dest,size*sizeof(ObjectType)) ); - CudaCheck( cudaMalloc(&dest,size*sizeof(ObjectType)) ); - return dest; -} - -template -ObjectType* allocAndCopyPart(const ObjectType src[], const int size, const int allocSize) { - ObjectType* dest = NULL; - assert(size <= allocSize); - // CHECK: CudaCheck( hipMalloc(&dest,allocSize*sizeof(ObjectType)) ); - // CHECK: CudaCheck( hipMemcpy(dest, src, size*sizeof(ObjectType), hipMemcpyHostToDevice ) ); - // CHECK: CudaCheck( hipMemset(&dest[size],0,(allocSize-size)*sizeof(ObjectType)) ); - CudaCheck( cudaMalloc(&dest,allocSize*sizeof(ObjectType)) ); - CudaCheck( cudaMemcpy(dest, src, size*sizeof(ObjectType), cudaMemcpyHostToDevice ) ); - CudaCheck( cudaMemset(&dest[size],0,(allocSize-size)*sizeof(ObjectType)) ); - return dest; -} - -// COO part -#include - -struct Ijv { - int i, j; - double v; -}; - -bool IjvComp(const Ijv& v1, const Ijv& v2) { - return v1.i < v2.i || (v1.i == v2.i && v1.j < v2.j); -} - -struct COOArrays { - int m; - int nnz; - double *val;/*values(NNZ)*/ - int *rowind;/*i(NNZ)*/ - int *colind;/*j(NNZ)*/ - - COOArrays() { - val = NULL; - rowind = NULL; - colind = NULL; - } - - ~COOArrays() { - delete[] val; - delete[] rowind; - delete[] colind; - } - - void sortToRowMajor() { - Ijv* ijvs = new Ijv[nnz]; - for(int idxCopy = 0 ; idxCopy < nnz ; ++idxCopy){ - ijvs[idxCopy].i = rowind[idxCopy]; - ijvs[idxCopy].j = colind[idxCopy]; - ijvs[idxCopy].v = val[idxCopy]; - } - std::sort(ijvs, ijvs+nnz, IjvComp); - for(int idxCopy = 0 ; idxCopy < nnz ; ++idxCopy){ - rowind[idxCopy] = ijvs[idxCopy].i; - colind[idxCopy] = ijvs[idxCopy].j; - val[idxCopy] = ijvs[idxCopy].v; - } - delete[] ijvs; - } -}; - -void compute_COO(COOArrays& coo, double *x , double *y ) { - for(int idxVal = 0 ; idxVal < coo.nnz ; ++idxVal){ - y[coo.rowind[idxVal]] += x[coo.colind[idxVal]] * coo.val[idxVal]; - } -} - -// COO part -struct CRSArrays { - int m; //< the dim of the matrix - int nnz;//< the number of nnz (== ia[m]) - double *cu_csrValA; //< the values (of size NNZ) - int *cu_csrRowPtrA;//< the usual rowptr (of size m+1) - int *cu_csrColIndA;//< the colidx of each NNZ (of size nnz) - // CHECK: hipStream_t streamId; - // CHECK: hipsparseHandle_t cusparseHandle; - cudaStream_t streamId; - cusparseHandle_t cusparseHandle; - - CRSArrays() { - cu_csrValA = NULL; - cu_csrRowPtrA = NULL; - cu_csrColIndA = NULL; - // Create sparse handle (needed to call sparse functions - streamId = 0; - // CHECK-NOT: hipsparseHandle = 0; - cusparseHandle = 0; - // CHECK: CudaSparseCheck(hipsparseCreate(&cusparseHandle)); - // CHECK: CudaSparseCheck(hipsparseSetStream(cusparseHandle, streamId)); - CudaSparseCheck(cusparseCreate(&cusparseHandle)); - CudaSparseCheck(cusparseSetStream(cusparseHandle, streamId)); - } - - ~CRSArrays() { - // CHECK: CudaCheck(hipFree(cu_csrValA)); - // CHECK: CudaCheck(hipFree(cu_csrRowPtrA)); - // CHECK: CudaCheck(hipFree(cu_csrColIndA)); - CudaCheck(cudaFree(cu_csrValA)); - CudaCheck(cudaFree(cu_csrRowPtrA)); - CudaCheck(cudaFree(cu_csrColIndA)); - // Destroy sparse handle - // CHECK: CudaSparseCheck(hipsparseDestroy(cusparseHandle)); - CudaSparseCheck(cusparseDestroy(cusparseHandle)); - } -}; - -void COO_to_CRS(COOArrays& coo, CRSArrays* crs) { - // We need COO to be sorted by row (and column) - coo.sortToRowMajor(); - crs->m = coo.m; - crs->nnz = coo.nnz; - // Convert COO to CSR (it is just for the rows idx) - crs->cu_csrRowPtrA = alloc(coo.m+1); - { - int* cu_cooRowIndA = allocAndCopy(coo.rowind, coo.nnz); - // CHECK: CudaSparseCheck(hipsparseXcoo2csr(crs->cusparseHandle, cu_cooRowIndA, - // CHECK: coo.nnz, coo.m, crs->cu_csrRowPtrA, HIPSPARSE_INDEX_BASE_ZERO)); - CudaSparseCheck(cusparseXcoo2csr(crs->cusparseHandle, cu_cooRowIndA, - coo.nnz, coo.m, crs->cu_csrRowPtrA, CUSPARSE_INDEX_BASE_ZERO)); - // CHECK: CudaCheck(hipFree(cu_cooRowIndA)); - CudaCheck(cudaFree(cu_cooRowIndA)); - } - // Copy cols idx and values that are unchanged - crs->cu_csrValA = allocAndCopy(coo.val, coo.nnz); - crs->cu_csrColIndA = allocAndCopy(coo.colind, coo.nnz); -} - -double compute_CRS( CRSArrays& crs, double *x , double *y) { - // For blas 2 gemv y = alpha.x.A + Beta.y - const double alpha = 1.0; - const double beta = 0.0; - // Copy input - double* cu_x = allocAndCopy(x, crs.m); - double* cu_y = allocAndCopy(y, crs.m); - // Init matrix properties - // CHECK: hipsparseMatDescr_t descr = 0; - cusparseMatDescr_t descr = 0; - // CHECK: CudaSparseCheck(hipsparseCreateMatDescr(&descr)); - CudaSparseCheck(cusparseCreateMatDescr(&descr)); - // CHECK: hipsparseSetMatType(descr,HIPSPARSE_MATRIX_TYPE_GENERAL); - cusparseSetMatType(descr,CUSPARSE_MATRIX_TYPE_GENERAL); - // CHECK: hipsparseSetMatIndexBase(descr,HIPSPARSE_INDEX_BASE_ZERO); - cusparseSetMatIndexBase(descr,CUSPARSE_INDEX_BASE_ZERO); - // Compute gemv - float gemvComputeTume = 0; - { - // CHECK: hipEvent_t startTime, stopTime; - // CHECK: hipEventCreate(&startTime); - // CHECK: hipEventCreate(&stopTime); - // CHECK: hipEventRecord(startTime, crs.streamId); - cudaEvent_t startTime, stopTime; - cudaEventCreate(&startTime); - cudaEventCreate(&stopTime); - cudaEventRecord(startTime, crs.streamId); - // CHECK: CudaSparseCheck(hipsparseDcsrmv(crs.cusparseHandle, HIPSPARSE_OPERATION_NON_TRANSPOSE, - CudaSparseCheck(cusparseDcsrmv(crs.cusparseHandle, CUSPARSE_OPERATION_NON_TRANSPOSE, - crs.m, crs.m, crs.nnz, &alpha, - descr, crs.cu_csrValA, crs.cu_csrRowPtrA, - crs.cu_csrColIndA, cu_x, &beta, cu_y)); - // CHECK: hipEventRecord(stopTime, crs.streamId); - // CHECK: hipEventSynchronize(stopTime); - // CHECK: hipEventElapsedTime(&gemvComputeTume, startTime, stopTime); - cudaEventRecord(stopTime, crs.streamId); - cudaEventSynchronize(stopTime); - cudaEventElapsedTime(&gemvComputeTume, startTime, stopTime); - gemvComputeTume /=1000.0; - } - // Get back result - // CHECK: CudaCheck( hipMemcpy(y, cu_y, crs.m*sizeof(double), hipMemcpyDeviceToHost ) ); - CudaCheck( cudaMemcpy(y, cu_y, crs.m*sizeof(double), cudaMemcpyDeviceToHost ) ); - // Dealloc vectors - // CHECK: CudaCheck(hipFree(cu_x)); - // CHECK: CudaCheck(hipFree(cu_y)); - CudaCheck(cudaFree(cu_x)); - CudaCheck(cudaFree(cu_y)); - return gemvComputeTume; -} - -// BCSR part -struct BCRSArrays { - int m; - int nnz; - int nbBlocks; - int nbBlockRow; - int blockSize; - int* cu_bsrRowPtrC; - int* cu_bsrColIndC; - double* cu_bsrValC; - // CHECK: hipStream_t streamId; - cudaStream_t streamId; - // CHECK: hipsparseHandle_t cusparseHandle; - cusparseHandle_t cusparseHandle; - - BCRSArrays() { - cu_bsrRowPtrC = NULL; - cu_bsrColIndC = NULL; - cu_bsrValC = NULL; - // Create sparse handle (needed to call sparse functions - streamId = 0; - // CHECK: CudaSparseCheck(hipsparseCreate(&cusparseHandle)); - // CHECK: CudaSparseCheck(hipsparseSetStream(cusparseHandle, streamId)); - CudaSparseCheck(cusparseCreate(&cusparseHandle)); - CudaSparseCheck(cusparseSetStream(cusparseHandle, streamId)); - } - - ~BCRSArrays() { - // CHECK: CudaCheck(hipFree(cu_bsrRowPtrC)); - // CHECK: CudaCheck(hipFree(cu_bsrColIndC)); - // CHECK: CudaCheck(hipFree(cu_bsrValC)); - CudaCheck(cudaFree(cu_bsrRowPtrC)); - CudaCheck(cudaFree(cu_bsrColIndC)); - CudaCheck(cudaFree(cu_bsrValC)); - // Destroy sparse handle - // CHECK: CudaSparseCheck(hipsparseDestroy(cusparseHandle)); - CudaSparseCheck(cusparseDestroy(cusparseHandle)); - } -}; - -void CRS_to_BCRS(CRSArrays& csr, BCRSArrays* bcrs, const int blockSize) { - bcrs->m = csr.m; - bcrs->nnz = csr.nnz; - bcrs->blockSize = blockSize; - bcrs->nbBlockRow = (csr.m + blockSize-1)/blockSize; - // CHECK: hipMalloc((void**)&bcrs->cu_bsrRowPtrC, sizeof(int) *(bcrs->nbBlockRow+1)); - cudaMalloc((void**)&bcrs->cu_bsrRowPtrC, sizeof(int) *(bcrs->nbBlockRow+1)); - // CHECK: hipsparseMatDescr_t descr = 0; - cusparseMatDescr_t descr = 0; - // CHECK: CudaSparseCheck(hipsparseCreateMatDescr(&descr)); - // CHECK: hipsparseSetMatType(descr,HIPSPARSE_MATRIX_TYPE_GENERAL); - // CHECK: hipsparseSetMatIndexBase(descr,HIPSPARSE_INDEX_BASE_ZERO); - CudaSparseCheck(cusparseCreateMatDescr(&descr)); - cusparseSetMatType(descr,CUSPARSE_MATRIX_TYPE_GENERAL); - cusparseSetMatIndexBase(descr,CUSPARSE_INDEX_BASE_ZERO); - int nbNnzBlocks; - // NOTE: cusparseXcsr2bsrNnz and CUSPARSE_DIRECTION_COLUMN (of type cusparseDirection_t) are yet unsupported by HIP - // CHECK-NOT: hipsparseXcsr2bsrNnz(bcrs->cusparseHandle, HIPSPARSE_DIRECTION_COLUMN, csr.m, csr.m, descr, csr.cu_csrRowPtrA, csr.cu_csrColIndA, - cusparseXcsr2bsrNnz(bcrs->cusparseHandle, CUSPARSE_DIRECTION_COLUMN, csr.m, csr.m, descr, csr.cu_csrRowPtrA, csr.cu_csrColIndA, - blockSize, descr, bcrs->cu_bsrRowPtrC, &nbNnzBlocks); - { - int firstBlockIdx, lastBlockIdx; - // CHECK: hipMemcpy(&lastBlockIdx, bcrs->cu_bsrRowPtrC+bcrs->nbBlockRow, sizeof(int), hipMemcpyDeviceToHost); - // CHECK: hipMemcpy(&firstBlockIdx, bcrs->cu_bsrRowPtrC, sizeof(int), hipMemcpyDeviceToHost); - cudaMemcpy(&lastBlockIdx, bcrs->cu_bsrRowPtrC+bcrs->nbBlockRow, sizeof(int), cudaMemcpyDeviceToHost); - cudaMemcpy(&firstBlockIdx, bcrs->cu_bsrRowPtrC, sizeof(int), cudaMemcpyDeviceToHost); - assert(firstBlockIdx == 0); // we are in base 0 - assert(nbNnzBlocks == lastBlockIdx - firstBlockIdx); - } - bcrs->nbBlocks = nbNnzBlocks; - // CHECK: CudaCheck(hipMalloc((void**)&bcrs->cu_bsrColIndC, sizeof(int)*nbNnzBlocks)); - // CHECK: CudaCheck(hipMalloc((void**)&bcrs->cu_bsrValC, sizeof(double)*(blockSize*blockSize)*nbNnzBlocks)); - CudaCheck(cudaMalloc((void**)&bcrs->cu_bsrColIndC, sizeof(int)*nbNnzBlocks)); - CudaCheck(cudaMalloc((void**)&bcrs->cu_bsrValC, sizeof(double)*(blockSize*blockSize)*nbNnzBlocks)); - // NOTE: cusparseDcsr2bsr and CUSPARSE_DIRECTION_COLUMN (of type cusparseDirection_t) are yet unsupported by HIP - // CHECK-NOT: hipsparseDcsr2bsr(bcrs->cusparseHandle, HIPSPARSE_DIRECTION_COLUMN, - cusparseDcsr2bsr(bcrs->cusparseHandle, CUSPARSE_DIRECTION_COLUMN, - csr.m, csr.m, descr, csr.cu_csrValA, csr.cu_csrRowPtrA, csr.cu_csrColIndA, blockSize, descr, bcrs->cu_bsrValC, bcrs->cu_bsrRowPtrC, bcrs->cu_bsrColIndC); -} - -double compute_BSR(BCRSArrays& bcsr, double *x , double *y){ - // For blas 2 gemv y = alpha.x.A + Beta.y - const double alpha = 1.0; - const double beta = 0.0; - // Copy input - const int sizeMultipleBlockSize = ((bcsr.m+bcsr.blockSize-1)/bcsr.blockSize)*bcsr.blockSize; - double* cu_x = allocAndCopyPart(x, bcsr.m, sizeMultipleBlockSize); - double* cu_y = allocAndCopyPart(y, bcsr.m, sizeMultipleBlockSize); - // Init matrix properties - // CHECK: hipsparseMatDescr_t descr = 0; - // CHECK: CudaSparseCheck(hipsparseCreateMatDescr(&descr)); - // CHECK: hipsparseSetMatType(descr,HIPSPARSE_MATRIX_TYPE_GENERAL); - // CHECK: hipsparseSetMatIndexBase(descr,HIPSPARSE_INDEX_BASE_ZERO); - cusparseMatDescr_t descr = 0; - CudaSparseCheck(cusparseCreateMatDescr(&descr)); - cusparseSetMatType(descr,CUSPARSE_MATRIX_TYPE_GENERAL); - cusparseSetMatIndexBase(descr,CUSPARSE_INDEX_BASE_ZERO); - // Compute gemv - float gemvComputeTume = 0; - { - // CHECK: hipEvent_t startTime, stopTime; - // CHECK: hipEventCreate(&startTime); - // CHECK: hipEventCreate(&stopTime); - // CHECK: hipEventRecord(startTime, bcsr.streamId); - cudaEvent_t startTime, stopTime; - cudaEventCreate(&startTime); - cudaEventCreate(&stopTime); - cudaEventRecord(startTime, bcsr.streamId); - // CHECK: cusparseDbsrmv(bcsr.cusparseHandle, HIPSPARSE_DIRECTION_COLUMN, HIPSPARSE_OPERATION_NON_TRANSPOSE, - cusparseDbsrmv(bcsr.cusparseHandle, CUSPARSE_DIRECTION_COLUMN, CUSPARSE_OPERATION_NON_TRANSPOSE, - bcsr.nbBlockRow, bcsr.m, bcsr.nbBlocks, &alpha, descr, - bcsr.cu_bsrValC, bcsr.cu_bsrRowPtrC, bcsr.cu_bsrColIndC, bcsr.blockSize, - cu_x, &beta, cu_y); - // CHECK: hipEventRecord(stopTime, bcsr.streamId); - // CHECK: hipEventSynchronize(stopTime); - // CHECK: hipEventElapsedTime(&gemvComputeTume, startTime, stopTime); - cudaEventRecord(stopTime, bcsr.streamId); - cudaEventSynchronize(stopTime); - cudaEventElapsedTime(&gemvComputeTume, startTime, stopTime); - gemvComputeTume /=1000.0; - } - // Get back result - // CHECK: CudaCheck( hipMemcpy(y, cu_y, bcsr.m*sizeof(double), hipMemcpyDeviceToHost ) ); - CudaCheck( cudaMemcpy(y, cu_y, bcsr.m*sizeof(double), cudaMemcpyDeviceToHost ) ); - // Dealloc vectors - // CHECK: CudaCheck(hipFree(cu_x)); - // CHECK: CudaCheck(hipFree(cu_y)); - CudaCheck(cudaFree(cu_x)); - CudaCheck(cudaFree(cu_y)); - return gemvComputeTume; -}