aclInitTensor【免费下载链接】opbase本项目是CANN算子库的基础框架库为算子提供公共依赖文件和基础调度能力。项目地址: https://gitcode.com/cann/opbase功能说明初始化给定aclTensor的参数aclTensor由aclCreateTensor接口创建。当用户想复用已创建aclTensor时可使用该接口先重置aclTensor的各项属性。函数原型aclnnStatus aclInitTensor(aclTensor *tensor, const int64_t *viewDims, uint64_t viewDimsNum, aclDataType dataType, const int64_t *stride, int64_t offset, aclFormat format, const int64_t *storageDims, uint64_t storageDimsNum, void *tensorDataAddr)参数说明关于aclTensor的StorageShape和ViewShape说明ViewShape表示Tensor的逻辑shape是Tensor在实际使用时需要用到的大小。StorageShape表示Tensor的实际物理排布shape是Tensor在内存上实际存在的大小。 举例如下StorageShape为[10, 20]表示该Tensor在内存上是按照[10, 20]排布的。ViewShape为[2, 5, 20]在算子使用时表示该Tensor可被视为一块[2, 5, 20]的数据使用。参数名输入/输出说明tensor输入待初始化参数的aclTensor。viewDims输入tensor的ViewShape维度值为非负整数。viewDimsNum输入tensor的ViewShape维度数。dataType输入tensor的数据类型。stride输入tensor各维度元素的访问步长为非负整数。offset输入tensor首元素相对于storage的偏移为非负整数。format输入tensor的数据排布格式。storageDims输入tensor的StorageShape维度值为非负整数。storageDimsNum输入tensor的StorageShape维度数。tensorDataAddr输入tensor在Device侧的存储地址该地址必须32字节对齐否则可能会出现未定义错误。返回值说明返回0表示成功返回其他值表示失败返回码列表参见公共接口返回码。约束说明无调用示例关键代码示例如下仅供参考不支持直接拷贝运行。std::vectorint64_t viewDims {2, 4}; std::vectorint64_t stride {4, 1}; std::vectorint64_t storageDims {2, 4}; // tensor为复用的已经创建的aclTensor // deviceAddr为tensor在Device侧的存储地址 auto ret aclInitTensor(tensor, viewDims.data(), viewDims.size(), ACL_FLOAT16, stride.data(), 0, aclFormat::ACL_FORMAT_ND, storageDims.data(), storageDims.size(), deviceAddr);【免费下载链接】opbase本项目是CANN算子库的基础框架库为算子提供公共依赖文件和基础调度能力。项目地址: https://gitcode.com/cann/opbase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考