[ERROR]CUDA compilation error


#1

Issue was here: https://github.com/dmlc/tvm/issues/3816
I have some problems when compiling a float16 mxnet ResNet18 model. After applying this patch: https://github.com/dmlc/tvm/pull/3811, I still get some other error messges as below:

/tmp/tmpryat3eu1/my_kernel.cu(9641): error: no operator “+” matches these operands
operand types are: volatile half + volatile half

After I did some experiments, I believe it will fail for several tvm.relay.op.reduce operators. The error messages are almost the same but with different operatoas such as:

/tmp/tmpih_riytd/my_kernel.cu(37): error: no instance of overloaded function “min” matches the argument list
argument types are: (volatile half, volatile half)

/tmp/tmpszypacd9/my_kernel.cu(58): error: no operator “<=” matches these operands
operand types are: volatile half <= volatile half

It seems that CUDA doesn’t overload these ops for half.


Relay Automatic FP16 Downcasting
#2

I have the same problem. Can anyone solve it?
Thanks a lot!


#3

I have the same problem, @xyzhou Have you solved it ?


#4

It seems to have solved, I use YDY’s solution . Relay Automatic FP16 Downcasting