CANN/asc-devkit张量坐标结构体

CANN/asc-devkit张量坐标结构体 Coord【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√功能说明Coord用于定义张量的坐标用于访问张量中特定位置的元素。类型定义Coord是一个模板别名用于表示张量的坐标template typename... Coords using Coord Std::tupleCoords...;其中Coords...是可变参数模板表示各维度的坐标实际类型为Std::tupleCoords...参数说明参数名输入/输出描述Coords...输入各维度的坐标类型为size_t等整数类型或者Std::Int类型。API映射关系Coord通常通过MakeCoord函数创建。约束说明Coord的维度数量必须与对应的Shape维度数量一致。各维度的坐标值必须在对应Shape维度的有效范围内。支持的数据类型包括size_t、int等整数类型或者Std::Int类型。调用示例// 使用整数类型创建一个3维张量的坐标 auto coord AscendC::Te::MakeCoord(5, 10, 15); // 获取各维度的坐标 auto coord0 AscendC::Std::get0(coord); // coord0 5 auto coord1 AscendC::Std::get1(coord); // coord1 10 auto coord2 AscendC::Std::get2(coord); // coord2 15 // 使用Std::Int类型创建一个3维张量的坐标 auto coordInt AscendC::Te::MakeCoord(AscendC::Std::Int5{}, AscendC::Std::Int10{}, AscendC::Std::Int15{}); // 获取各维度的坐标 auto coordInt0 AscendC::Std::get0(coordInt); // coordInt0 5 auto coordInt1 AscendC::Std::get1(coordInt); // coordInt1 10 auto coordInt2 AscendC::Std::get2(coordInt); // coordInt2 15【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考