
Contiguous【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docs产品支持情况Ascend 950PR/Ascend 950DT 不支持Atlas A3 训练系列产品/Atlas A3 推理系列产品 支持Atlas A2 训练系列产品/Atlas A2 推理系列产品 支持Atlas 200I/500 A2 推理产品 支持Atlas 推理系列产品 支持Atlas 训练系列产品 支持功能说明该函数为公共的L0接口作用是将非连续tensor转换为连续tensor。由于L2级API的输入tensor可能是非连续的一般L0级算子只支持连续tensor作为输入因此需要将tensor转为连续后再作为其他L0算子的输入。输入tensor可以是连续的接口内部会兼容处理。函数原型const aclTensor *Contiguous(const aclTensor *x, aclOpExecutor *executor)参数说明参数输入/输出说明x输入待转换的输入tensor。数据类型和数据格式不限制。输入不要求是连续内存但要求所表达的数据在Storage范围内。executor输入op执行器包含了算子计算流程。返回值说明若转换成功则返回一个连续的aclTensor若失败则返回nullptr。约束说明要求输入tensor是合法的tensorShape和Stride所表示的数据在Storage大小范围内。例如shape(2, 3), stride (10, 30), storageSize8数据实际空间超过了Storage大小8该Tensor为非法Contiguous接口返回nullptr。调用示例// 标准写法创建OpExecutor auto uniqueExecutor CREATE_EXECUTOR(); // self如果非连续需要转换 auto selfContiguous l0op::Contiguous(self, executor);【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考