
Coordinate简介【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkitCoordinate本质上是一个元组tuple用于表示张量在不同维度的位置信息即坐标值。Coordinate坐标和Layout布局、Index内存位置索引之间存在紧密的关联从Coordinate到Index的转换Layout定义了张量的形状和各维度的步长根据这些信息和给定的Coordinate可以计算出该坐标在内存中的位置索引。从Index到Coordinate的转换基于Layout中定义的形状和步长信息对于一个已知的内存位置索引通过相应的计算可以得到该索引对应的Coordinate。原型定义template typename... Coords using Coord Std::tupleCoords...模板参数表1模板参数说明参数名描述Coords表示输入数据类型的形参包参数个数范围为[064]。输入的数据类型支持size_t和Std::Int。相关接口// Coord结构构造方法 template typename... Ts __aicore__ inline constexpr CoordTs... MakeCoord(Ts const... t) // Layout输入Coordinate转换为内存位置索引Index template typename CoordType, typename ShapeType, typename StrideType __aicore__ inline constexpr auto Crd2Idx(const CoordType coord, const LayoutShapeType, StrideType layout) // Shape和Stride输入Coordinate转换为内存位置索引Index template typename CoordType, typename ShapeType, typename StrideType __aicore__ inline constexpr auto Crd2Idx(const CoordType coord, const ShapeType shape, const StrideType stride)【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考