[HIPIFY][perl] Syn with hipify-clang

Esse commit está contido em:
Evgeny Mankov
2019-09-15 15:25:40 +03:00
commit 287ceac229
+127 -6
Ver Arquivo
@@ -762,6 +762,7 @@ while (@ARGV) {
$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;
@@ -1821,18 +1822,138 @@ sub countSupportedDeviceFunctions
sub warnUnsupportedDeviceFunctions
{
my $line_num = shift;
my $line_num = shift;
my $m = 0;
# ToDo: list all of the supported functions
foreach $func (
"__syncthreads_and",
"__syncthreads_or",
"__prof_trigger"
"_Pow_int",
"__brkpt",
"__finite",
"__finitef",
"__finitel",
"__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 math at the beginning of a word, but not if it already has a namespace qualifier ('::') :
my $mt = m/[:]?[:]?\b($func)\b(\w*\()/g;
if ($mt) {
if ($mt) {
$m += $mt;
print STDERR " warning: $fileName:#$line_num : unsupported device function : $_\n";
}