[Fix](bangc-ops): support grad_voxel_feats zero element & fix constra… #713
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thanks for your contribution and we appreciate it a lot.
1. Motivation
2. Modification
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
MLU590
voxel_num 的维度为 1;
grad_voxel_feats、feats、voxel_feats、grad_feats的第二维度 dims[1] 都相等;
5 * feats_desc->dims[0]+20 * feats_desc->dims[1]+sizeof(int) <= 640KB(MLU370) 或 384KB(MLU590)
3.1.3 New Feature Test
If you have checked the following items, please tick the relevant box.
3.1.4 Parameter Check
When a new operator is submitted, the test points are given and the test results are stated.
3.2 Accuracy Test
For the cases used in the New Feature Test section, the features and the number of cases are recorded here. When multiple operations are tested, multiple tables are needed to include details of these operations.
Operation:
[ SUMMARY ] Total 200 cases of 1 op(s).
ALL PASSED.
[==========] 200 test cases from 1 test suite ran. (77973 ms total)
[ PASSED ] 200 test cases.
[2023-5-24 16:6:57] [MLUOP] [Vlog]:[mluOpDynamicPointToVoxelBackward] Skip zero element tensor.
[2023-5-24 16:6:57] [MLUOP] [Vlog]:[DynamicPointToVoxelBackwardExecutor] call compute() End.
--thread=NUM
[----------] Global test environment tear-down
[ SUMMARY ] Total 20000 cases of 600 op(s).
ALL PASSED.
[==========] 6 test cases from 6 test suites ran. (2932 ms total)
[ PASSED ] 6 test cases.
[----------] Global test environment tear-down
[ SUMMARY ] Total 200 cases of 1 op(s).
ALL PASSED.
[==========] 200 test cases from 1 test suite ran. (19708 ms total)
[ PASSED ] 200 test cases.
MLU590:
[----------] Global test environment tear-down
[ SUMMARY ] Total 200 cases of 1 op(s).
ALL PASSED.
[==========] 200 test cases from 1 test suite ran. (21528 ms total)
[ PASSED ] 200 test cases.
[ SUMMARY ] Total 18 cases of 1 op(s).
ALL PASSED.
[==========] 18 test cases from 1 test suite ran. (636 ms total)
[ PASSED ] 18 test cases.
Line Coverage 98.7% 148 / 150 Functions 100.0 % 5 / 5
3.3 Performance Test
See MLU-OPS Performance Acceptance Standard for details.
Platform:MLU370
Platform:MLU590
3.4 Summary Analysis
1)MLU370上性能与真值相关
2)特征类tensor支持nan/inf,坐标类tensor是整型不支持nan/inf
3) 支持grad_voxel_feats/voxel_feats/voxel_points_count输入规模为0,此时grad_feats输出全0
4)MLU370_S4的cluster数量为6,最多可以起U4任务。