Coordinate本质上是一个元组(tuple),用于表示张量在不同维度的位置信息,即坐标值。Coordinate(坐标)和Layout(布局)、Index(内存位置索引)之间存在紧密的关联:
参数名 |
描述 |
|---|---|
Coords |
表示输入数据类型的形参包,参数个数范围为[0,64]。 输入的数据类型支持size_t和Std::Int。 |
// Coord结构构造方法 template <typename... Ts> __aicore__ inline constexpr Coord<Ts...> MakeCoord(Ts const&... t) // Layout输入,Coordinate转换为内存位置索引Index template <typename CoordType, typename ShapeType, typename StrideType> __aicore__ inline constexpr auto Crd2Idx(const CoordType& coord, const Layout<ShapeType, 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)