diff --git a/bin/hipify-perl b/bin/hipify-perl index 50808563ff..25190b0244 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -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"; }