| test: make UniqueV3 ACLNN example configurable Co-authored-by: chinlylin<huangming@tiankuan.net> # message auto-generated for no-merge-commit merge: !33 merge test/unique-v3-configurable-example into master test: make UniqueV3 ACLNN example configurable Created-by: chinlylin Commit-by: chinlylin Merged-by: cann-robot Description: ## 变更内容 - 为 UniqueV3 ACLNN 示例增加命令行参数,依次支持 element_count、value_range、device_id 和 seed。 - 保留原有默认值:1000 万个元素、1000 万值域、设备 0、随机种子 42。 - 增加 -h / --help 使用说明。 - 在初始化 ACL 和分配内存前校验参数,拒绝零元素、零值域、负设备号、负种子、数值溢出、非法字符和多余参数。 - 在启动摘要中输出实际测试规模、设备号和随机种子,便于复现实验。 ## 问题背景 原示例将 1000 万元素、值域、设备号和随机种子全部硬编码。首次验证时无法先运行小规模 smoke test,在不同设备或需要复现实验时也必须修改源码。 本 PR 只改进 ACLNN 示例入口,不修改 UniqueV3 算子实现、接口、CPU 参考计算或结果判定逻辑。 ## 使用示例 bash # 保持原默认行为 ./test_aclnn_unique_v3 # 小规模 smoke test:1024 个元素、128 值域、设备 0、种子 7 ./test_aclnn_unique_v3 1024 128 0 7 # 查看参数说明 ./test_aclnn_unique_v3 --help ## 验证 - git diff --check:通过。 - 使用 ACL/ACLNN stub 对完整源文件执行 g++ -std=c++17 -fsyntax-only:通过。 - 参数解析独立测试:正常值、默认边界、零值、负值、uint32 溢出、尾随字符和空字符串均符合预期。 - 默认参数保持检查:通过。 - ACL 初始化位于全部参数校验之后:通过。 - 变更范围检查:仅修改 unique_v3/examples/test_aclnn_unique_v3.cpp。 - 敏感信息扫描:无命中。 ## 未验证项 - 当前环境没有 CANN 和 NPU,未使用真实 ACL/ACLNN 头文件完成链接,也未运行 NPU 示例。 See merge request: cann/elec-ops-inspection!33 | 1 个月前 |