CANN/ops-math AsStrided算子

📅 2026/7/11 16:09:51
CANN/ops-math AsStrided算子
AsStrided【免费下载链接】ops-math本项目是CANN提供的数学类基础计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-math产品支持情况产品是否支持Ascend 950PR/Ascend 950DT×Atlas A3 训练系列产品/Atlas A3 推理系列产品×Atlas A2 训练系列产品/Atlas A2 推理系列产品√Atlas 200I/500 A2 推理产品×Atlas 推理系列产品×Atlas 训练系列产品×功能说明算子功能根据输入张量x、输出形状size、步长stride和存储偏移storage_offset生成一个按照指定步长访问输入存储的输出张量对应 PyTorchtorch.as_strided语义。计算公式$$ y_ix_{\text{storage_offset}\sum_{d0}^{D-1}(i_d\cdot \text{stride}[d])} $$其中D为size的长度i_d为输出元素i在第d维上的坐标。参数说明参数名输入/输出/属性描述数据类型数据格式x输入输入张量。INT64、UINT64、INT32、UINT32、FLOAT、FLOAT16、INT8、UINT8、BF16、INT16、UINT16、BOOL、COMPLEX32、COMPLEX64、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FNNDsize输入输出张量的形状。INT32、INT64NDstride输入输出张量各维度映射到输入存储时使用的步长。INT32、INT64NDstorage_offset输入输出首元素相对于输入存储起始位置的偏移量。INT32、INT64NDy输出输出张量shape由size决定数据类型与x一致。INT64、UINT64、INT32、UINT32、FLOAT、FLOAT16、INT8、UINT8、BF16、INT16、UINT16、BOOL、COMPLEX32、COMPLEX64、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FNND约束说明仅支持 ND 格式。size和stride的长度必须一致且长度范围为 1 到 8。size、stride中的元素必须为非负整数。storage_offset必须为非负整数且当前 aclnn 调用方式需要传入长度为 1 的aclIntArray。当输出元素个数不为 0 时storage_offset sum((size[d] - 1) * stride[d])不能超出输入张量存储范围。调用说明调用方式调用样例说明aclnn接口test_aclnn_as_strided通过aclnnAsStrided接口方式调用AsStrided算子。贡献说明贡献者贡献方贡献算子贡献时间贡献内容Asahi西北工业大学智能感知交互实验室AsStrided2026/7/9AsStrided算子适配开源仓【免费下载链接】ops-math本项目是CANN提供的数学类基础计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-math创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考