MakeCoord【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品不支持Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品AI Core不支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品不支持功能说明需要包含的头文件为#include tensor_api/tensor.h。构造Coord对象用于定义张量的坐标。函数原型template typename... Ts __aicore__ inline constexpr CoordTs... MakeCoord(const Ts... t)参数说明表1模板参数类型说明参数名输入/输出描述Ts...输入可变模板参数表示各维坐标的数据类型。支持size_t、int等整数类型以及Std::Int类型。表2参数说明参数名输入/输出描述t输入各维度的坐标可变参数。返回值说明返回CoordTs...对象。约束说明各维度的坐标值需为非负整数。参数数量必须与对应的Shape维度数量一致。调用示例// 使用整数类型创建一个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),仅供参考
cann/asc-devkit MakeCoord函数
发布时间:2026/7/16 19:31:58
MakeCoord【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品不支持Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品AI Core不支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品不支持功能说明需要包含的头文件为#include tensor_api/tensor.h。构造Coord对象用于定义张量的坐标。函数原型template typename... Ts __aicore__ inline constexpr CoordTs... MakeCoord(const Ts... t)参数说明表1模板参数类型说明参数名输入/输出描述Ts...输入可变模板参数表示各维坐标的数据类型。支持size_t、int等整数类型以及Std::Int类型。表2参数说明参数名输入/输出描述t输入各维度的坐标可变参数。返回值说明返回CoordTs...对象。约束说明各维度的坐标值需为非负整数。参数数量必须与对应的Shape维度数量一致。调用示例// 使用整数类型创建一个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),仅供参考