microsoft / nnfusion

A flexible and efficient deep neural network (DNN) compiler that generates high-performance executable from a DNN model description.
MIT License
948 stars 158 forks source link

Xbox support op check: Abs Acos Add And ArgMax ArgMin #477

Closed LeiWang1999 closed 1 year ago

LeiWang1999 commented 1 year ago
operator | versions | IsSupport | front-end support | IR support | Based Data type supported (float64/32/16, int64/int32/16) | unit-test passed? | comments -- | -- | -- | -- | -- | -- | -- | -- Abs | 13, 6, 1 | Y | All versions | Y | all nnfusion's datatype | N(failed at unsupprted datatype uint8_t) | opset 13 update only extends bfloat16 support, nnfusion doesn't have this type Acos | 7 | Y | All versions | Y | all nnfusion's datatype | Y |   Add | 14, 13, 7, 6, 1 | Y | All versions | Y | all nnfusion's datatype | Y | only datatype is different And | 7, 1 | Y | All versions | Y | all nnfusion's datatype | Y |   ArgMax | 13, 12, 11, 1 | Y | All versions | Y |   | N (but validated under hand customized code) | datatype issue; still not implemented keep_dims ArgMin | 13, 12, 11, 1 | Y | All versions | Y |   | N (but validated under hand customized code) | datatype issue; still not implemented keep_dims Asin | 7 | Y | All versions | Y | all nnfusion's datatype | Y |   Atan | 7 | Y | All versions | Y | all nnfusion's datatype | Y |  

Unit Test Status

@, add , test_add_uint8 , BUILD ERROR , FAILED
@, add , test_add_bcast ,/workspace/v-leiwang3/nnfusion_xbox/test/python/../../build/onnx/onnx/backend/test/data/node/test_add_bcast/test_data_set_0 , PASS
@, abs , test_abs ,/workspace/v-leiwang3/nnfusion_xbox/test/python/../../build/onnx/onnx/backend/test/data/node/test_abs/test_data_set_0 , PASS
@, add , test_add ,/workspace/v-leiwang3/nnfusion_xbox/test/python/../../build/onnx/onnx/backend/test/data/node/test_add/test_data_set_0 , PASS
@, atan , test_atan ,/workspace/v-leiwang3/nnfusion_xbox/test/python/../../build/onnx/onnx/backend/test/data/node/test_atan/test_data_set_0 , PASS
@, acos , test_acos_example ,/workspace/v-leiwang3/nnfusion_xbox/test/python/../../build/onnx/onnx/backend/test/data/node/test_acos_example/test_data_set_0 , PASS
@, asin , test_asin_example ,/workspace/v-leiwang3/nnfusion_xbox/test/python/../../build/onnx/onnx/backend/test/data/node/test_asin_example/test_data_set_0 , PASS
@, acos , test_acos ,/workspace/v-leiwang3/nnfusion_xbox/test/python/../../build/onnx/onnx/backend/test/data/node/test_acos/test_data_set_0 , PASS
@, atan , test_atan_example ,/workspace/v-leiwang3/nnfusion_xbox/test/python/../../build/onnx/onnx/backend/test/data/node/test_atan_example/test_data_set_0 , PASS
@, asin , test_asin ,/workspace/v-leiwang3/nnfusion_xbox/test/python/../../build/onnx/onnx/backend/test/data/node/test_asin/test_data_set_0 , PASS

test failed @ test_add_unit8 because currently do not support uint8_t datatype and it‘s not in the based datatype yet.

test of argmax and argmin still failed because of the datatype mismatch we found in this issue, but I customized the generated cuda project and compared with the output of numpy.argmax, numpy.argmin, and these two have the same behavior.