已关闭
[Question]: ops-blas / ops-sparse / catlass 这三类形态能否用 ATK 测试? #23
brian66237创建于 8月20日关闭于 8月25日
lixiaolong9527
8月20日 评论:
8月20日 评论:
您好,欢迎向 ATK 提交Issue!
我们已收到您的反馈,感谢您对开源社区的支持。
处理时效:维护团队将在24小时内查看并回复您的问题(工作日)。
自助查询:再等待期间,建议您先查阅仓库内的文档资料,可能已有解决方案。
请确保Issue描述清晰,包含复现步骤和日志,这将帮我们更快定位问题。谢谢!


Bbrian66237
8月20日 修改标题为 “[Question]: ops-blas / ops-sparse / catlass 这三类形态能否用 ATK 测试?”,原标题为“[Question]: ATK 能否验收 ops-blas / ops-sparse 这类句柄式 C API 算子库(host 直接 launch kernel、不进 OPP)?”
8月20日 修改标题为 “[Question]: ops-blas / ops-sparse / catlass 这三类形态能否用 ATK 测试?”,原标题为“[Question]: ATK 能否验收 ops-blas / ops-sparse 这类句柄式 C API 算子库(host 直接 launch kernel、不进 OPP)?”
8月20日 修改了issue 的描述
lixiaolong9527
8月20日 评论:
8月20日 评论:
您好,已收到反馈,我们将整理问题并一一答复


lixiaolong9527
8月24日 评论:
8月24日 评论:
-
当前是否支持
- 不支持。 ATK 现成只公开 pytorch 和 aclnn 两条入口,没有 ops-blas / ops-sparse / catlass 的原生 backend。AclnnBaseApi 也明确是按 ACLNN ABI 组织的。
- 可走的后端: 需要包装成 ATK 认识的形态,例如 aclnn 或 pytorch。
-
不支持时的推荐路径
- catlass: 需要包装成标准算子工程,暴露出 aclnn 接口/torch接口(如果有),再走 pyaclnn/pytorch。
- ops-blas / ops-sparse: 逻辑一样,也需要再包一层,把原始句柄式 C API 变成 ATK 能消费的接口。
- 但要注意: 这样测到的是 wrapper + 绑定层,不是原始仓对外交付的 host 校验、tiling 和描述符 ABI。原始 C API 那部分,ATK 目前不覆盖,得在各自仓里另做 native 测试。
-
用例描述层能否表达这些参数
- 目前不能完整表达。 目前ATK原生支持类型只覆盖 tensor / scalar / attr / list等,其他特殊类型或格式只能在标杆执行文件中自定义。


liuyang577
8月25日 评论:
8月25日 评论:
与提出人沟通,问题已解答,,关闭issue


8月25日 issue状态由 TODO 改变为 DONE
8月25日 关闭了 issue
8月25日 添加了label:resolved
背景
我们在评估用 ATK 测试社区算子时,遇到三个仓的形态与标准算子工程(ops-math / ops-nn / ops-transformer 这一族)不同,都没有
op_api/、没有 GE 注册、也不产出 OPP 算子包:aclblasGemmEx(handle, transA, transB, m, n, k, alpha, A, Atype, lda, ...)aclsparseSpMV(handle, opA, alpha, matA_descr, vecX_descr, ..., externalBuffer)include/下 301 个头文件、0 个.cpp)我们的观察
kernel_name从Abs换成GemmEx,就从 2/2 通过变为 0/2 Failed,atc --singleop编不出.om。libcust_opapi.so中的aclnnXxxGetWorkspaceSize符号,pytorch 后端需要 torch_npu 绑定——这三个仓都不提供。examples/advanced/basic_matmul_aclnn,演示用 msOpGen 把模板接入标准算子工程从而获得 aclnn 接口。问题
1. 这三类形态,ATK 当前是否支持测试? 如果支持,分别走哪条后端?
2. 如果不支持,各自推荐的测试路径是什么?
对 catlass,是否就是按自带样例先用 msOpGen 包装成算子工程,再用 pyaclnn 后端测?对 ops-blas / ops-sparse,是否也建议另做一层包装?我们的顾虑是包装之后测到的是新写的那层,两个仓真正对外交付的句柄式 API(含其 host 侧校验与 tiling)不在被测范围内。
3. 用例描述层能否表达这类参数?
现有
parameter_type是tensor/scalar/attr/list/tuple等,而句柄、稀疏描述符、host 侧标量指针、以及 leading dimension 表示的子矩阵视图似乎都不在其中。想确认这是有意划定的边界,还是尚未覆盖的场景。环境信息