Inference float16 support
Created by: kexinzhao
Below are the list of to-do items for supporting float16 inference.
- make float16 a POD type (#8456)
- data_type_transform for fp16 (#8619 #8850)
- add fp16 gemm function into math_function (#8695)
- add fp16 support for mul_op (#8817)
- bind float16 to numpy.float16
- add fp16 for cudnn conv2d_op
- add fp16 for cudnn pool2d_op
- cast op
- batch norm op
- dropout
- use tensor core for cublas
- use tensor core for cudnn
- have a vgg16 cifar10 inference python example that runs on float32 mode
- have a vgg16 cifar10 inference python example that runs on float16 mode
- get some initial result (verify tensor cores works, verify fp16 is faster, verify accuracy is comparable
- relu
- element-add op
- softmax
- tanh and other activations
- float16 example python
- float16 example c++ inference
- float16 example correctness
- float16 transpiler and example
- update float16 design doc
- save
- load
- float16 correctness code
- float16 benchmark code
- float16 report in English
- conv_3d
- pool_3d
- sum op
- other element-wise operator (sub divide mul min max pow)
- cudnn relu