Q1、赛题Addcmul的value是一个input还是attr?Pytorch上这是一个attr。
A1、赛题里的value是一个input
Q2、赛题MseLossGrad里的这个dout是什么含义?
A2、这个对应Pytorch的grad_output,是一个输入

Q3、在算子实现时调用API发现不支持赛题里算子需要实现的数据类型运算该怎么办?
A3、使用Cast或者LocalTensor的ReinterpretCast转换成所需API支持的数据类型再调用API运算。
Q4、在香橙派上创建单算子工程后编译失败,报错如图:

A4、创建算子工程时使用soc_version不需要配置到具体的b1/b2/b3/b4.,只需要到AscendxxxB 或者AscendxxxA、AscendXXXP即可,如果是基于已有样例修改,可以在op_host的算子原型注册代码内添加this->AICore().AddConfig("ascendxxxb");在CMakePresets.json的ASCEND_COMPUTE_UNIT内也添加对应配置即可。
Q5、算子实现时是否可以是C++的数学库
A5、Kernel实现时只能使用Ascend C提供的API。
Q6、算子有多种数据类型,如何传入数据类型给核函数以支持多种数据类型呢
A6、可以通过设置tilingKey来区分不同数据类型实现,也可以使用DTYPE_来实现,但是涉及到数据类型转换时会比较难处理
Q7、使用aclnn调用算子时遇到报错该怎么定位
A7、可以分析一下plog或者发送日志到群里/论坛咨询,香橙派的日志在: /var/log/npu/slog/debug/device-app-XXX 云环境的日志在: ~/ascend/log/debug/plog/plog-XXX
Q8、算子实现时需要支持任意shape输入么?实现时必须按照赛题给出的参考算法实现么?
A8、需要支持标杆算子能支持的输入shape,运算结果能保持和标杆一致即可,对具体实现不做强制要求。
Q1、赛题Addcmul的value是一个input还是attr?Pytorch上这是一个attr。
A1、赛题里的value是一个input
Q2、赛题MseLossGrad里的这个dout是什么含义?
A2、这个对应Pytorch的grad_output,是一个输入
Q3、在算子实现时调用API发现不支持赛题里算子需要实现的数据类型运算该怎么办?
A3、使用Cast或者LocalTensor的ReinterpretCast转换成所需API支持的数据类型再调用API运算。
Q4、在香橙派上创建单算子工程后编译失败,报错如图:
A4、创建算子工程时使用soc_version不需要配置到具体的b1/b2/b3/b4.,只需要到AscendxxxB 或者AscendxxxA、AscendXXXP即可,如果是基于已有样例修改,可以在op_host的算子原型注册代码内添加this->AICore().AddConfig("ascendxxxb");在CMakePresets.json的ASCEND_COMPUTE_UNIT内也添加对应配置即可。
Q5、算子实现时是否可以是C++的数学库
A5、Kernel实现时只能使用Ascend C提供的API。
Q6、算子有多种数据类型,如何传入数据类型给核函数以支持多种数据类型呢
A6、可以通过设置tilingKey来区分不同数据类型实现,也可以使用DTYPE_来实现,但是涉及到数据类型转换时会比较难处理
Q7、使用aclnn调用算子时遇到报错该怎么定位
A7、可以分析一下plog或者发送日志到群里/论坛咨询,香橙派的日志在: /var/log/npu/slog/debug/device-app-XXX 云环境的日志在: ~/ascend/log/debug/plog/plog-XXX
Q8、算子实现时需要支持任意shape输入么?实现时必须按照赛题给出的参考算法实现么?
A8、需要支持标杆算子能支持的输入shape,运算结果能保持和标杆一致即可,对具体实现不做强制要求。