Cambricon / mlu-ops

Efficient operation implementation based on the Cambricon Machine Learning Unit (MLU) .
MIT License
103 stars 102 forks source link

[Feature](mlu-ops):Update the three-level flow template #1040

Closed mahxn0 closed 4 months ago

mahxn0 commented 5 months ago

…abs operator support the stride feature

Thanks for your contribution and we appreciate it a lot. :rocket::rocket:

1. Motivation

Update the three-level flow template

2. Modification

docs/MLU-OPS-OpList.md modified: docs/MLU-OPS-Operator-Development-Process.md new file: docs/design_docs/abs/abs.md modified: kernel_depends.toml modified: kernels/abs/abs.cpp modified: kernels/abs/abs.h modified: kernels/abs/abs_block.mlu modified: kernels/binary_op/binary_op_3pipeline.h new file: kernels/binary_op/binary_op_5pipeline.h modified: kernels/binary_op/binary_op_host.cpp modified: kernels/binary_op/binary_op_host.h new file: kernels/binary_op/binary_op_stride_3pipeline.h new file: kernels/binary_op/binary_op_tensor_scalar_3pipeline.h modified: kernels/div/div.cpp modified: kernels/div/div.h deleted: kernels/div/div_block.mlu new file: kernels/div/div_union1.mlu modified: kernels/log/log.cpp modified: kernels/log/log.h deleted: kernels/log/log_block.mlu new file: kernels/log/log_union1.mlu modified: kernels/sqrt/sqrt.cpp modified: kernels/sqrt/sqrt.h deleted: kernels/sqrt/sqrt_block.mlu new file: kernels/sqrt/sqrt_union1.mlu new file: kernels/unary_op/complex_unary_op_3pipeline.h new file: kernels/unary_op/complex_unary_op_stride_3pipeline.h modified: kernels/unary_op/unary_op_3pipeline.h new file: kernels/unary_op/unary_op_4pipeline.h modified: kernels/unary_op/unary_op_5pipeline.h modified: kernels/unary_op/unary_op_host.cpp modified: kernels/unary_op/unary_op_host.h new file: kernels/unary_op/unary_op_no_pipeline.h new file: kernels/unary_op/unary_op_stride_3pipeline.h modified: kernels/utils/common.h modified: test/mlu_op_gtest/pb_gtest/src/zoo/abs/abs.cpp new file: test/mlu_op_gtest/pb_gtest/src/zoo/abs/test_case/case_1_with_stride.prototxt new file: test/mlu_op_gtest/pb_gtest/src/zoo/abs/test_case/case_2_with_stride.prototxt new file: test/mlu_op_gtest/pb_gtest/src/zoo/abs/test_case/case_3_with_stride.prototxt modified: test/mlu_op_gtest/pb_gtest/src/zoo/div/div.cpp modified: test/mlu_op_gtest/pb_gtest/src/zoo/log/log.cpp modified: test/mlu_op_gtest/pb_gtest/src/zoo/sqrt/sqrt.cpp modified: test/mlu_op_gtest/pb_gtest/src/zoo/sqrt_backward/sqrt_backward.cpp

Are new test cases added? If so, please post the corresponding generator-PR link here.

3. Test Report

If you want to know how to do operator testing, you can see GTest-User-Guide-zh.

3.1 Modification Details

3.1.1 Accuracy Acceptance Standard

For static threshold standard details, see: MLU-OPS™ Accuracy Acceptance Standard.

3.1.2 Operator Scheme checklist

3.2 Accuracy Test

3.2.1 Accuracy Test

If you have checked the following items, please tick the relevant box.

3.2.2 Parameter Check

Test Point-1: When a new operator is submitted, the test points are given and the test results are stated. Acceptance Standard: Normal error.

Please fill your test results(Error Message) in here, ...

Test Point-2: Whether illegal parameters are passed. Acceptance Standard: Normal error.

Test results...

3.3 Performance Test

See MLU-OPS™ Performance Acceptance Standard for details.

Platform:MLU370

# The test results should contain Op name, Shape, Data type,  
#   MLU Hardware Time(us), MLU Interface Time(us), MLU IO Efficiency, 
#   MLU Compute Efficiency, and Mlu Workspace Size(Bytes)
# 
# for example:
#
# ----------- case0 -----------
# case0
# [Op name                ]: abs
# [Shape                  ]: input.shape=[1024,1024,3,4], output.shape=[1024,1024,3,4]
# [Data type]             ]: float32
# [MLU Hardware Time      ]: 15728 (us)
# [MLU Interface Time     ]: 369.008 (us)
# [MLU IO Efficiency      ]: 0.23275
# [MLU Compute Efficiency ]: 0.5
# [Mlu Workspace Size     ]: -1 (Bytes)
# 
# ----------- case1 -----------
# ...

Platform:MLU590

# ----------- case0 -----------
# ----------- case1 -----------
# ...

3.4 Summary Analysis

Please give a brief overview here, if you want to note and summarize the content.