Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
getshape算子ascendc实现,
算子使用场景:在动态子图分档情况下,本次OCR场景是HW分档,上一个算子的输出Shape只在运行时才获取到实际的HW值, 因此需要使用GetShape算子,将运行时将输入的Shape值写到输出的Tensor中,作为MapIndex的输入x, 用于走子图动态分档的各分支。 之前是tbe实现,本次需求改成ascendc实现
ge::DT_DOUBLE, ge::DT_FLOAT, ge::DT_FLOAT16, ge::DT_INT8, ge::DT_UINT8, ge::DT_INT16, ge::DT_UINT16, ge::DT_INT32, ge::DT_UINT32, ge::DT_INT64, ge::DT_UINT64, ge::DT_BOOL
获取输入tensor个数
从GetDataPtr中获取每个tensor的shape信息并进行拼接,拷贝到ub中,ub再拷贝出去
💡 备注(选填)
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
一、背景信息 (必填)
getshape算子ascendc实现,
二、价值/作用 (必填)
算子使用场景:在动态子图分档情况下,本次OCR场景是HW分档,上一个算子的输出Shape只在运行时才获取到实际的HW值, 因此需要使用GetShape算子,将运行时将输入的Shape值写到输出的Tensor中,作为MapIndex的输入x, 用于走子图动态分档的各分支。
之前是tbe实现,本次需求改成ascendc实现
三、设计方案 (必填)
3.1 使能方式(涉及哪些框架:如Aclnn直调、Pytorch训练等)
3.2 总体设计
3.2.1 算子支持的数据类型
ge::DT_DOUBLE, ge::DT_FLOAT, ge::DT_FLOAT16, ge::DT_INT8, ge::DT_UINT8, ge::DT_INT16,
ge::DT_UINT16, ge::DT_INT32, ge::DT_UINT32, ge::DT_INT64, ge::DT_UINT64, ge::DT_BOOL
3.2.2 host侧设计
获取输入tensor个数
3.2.3 kernel侧设计
从GetDataPtr中获取每个tensor的shape信息并进行拼接,拷贝到ub中,ub再拷贝出去
3.3 支持硬件
3.4 算子约束限制
💡 备注(选填)