
MakeStride【免费下载链接】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 训练系列产品不支持功能说明构造Stride对象用于描述各维度在内存中的步长。支持传入多个步长值也支持传入嵌套的Stride子结构以构造层次化Stride。函数原型template typename... Ts __aicore__ inline constexpr StrideTs... MakeStride(const Ts... t)参数说明表1模板参数说明参数名输入/输出描述Ts...输入Stride各元素的类型可以是整型变量、Std::Int整型常量或嵌套的Stride子结构类型。表2参数说明参数名输入/输出描述t输入Stride的各维度步长或子结构可变参数。返回值说明返回StrideTs...对象。约束说明输入参数不可为空。各参数必须为非负整数。支持的数据类型包括size_t、int等整数类型或者Std::Int类型。调用示例using namespace AscendC::Te; // 构造普通Stride auto stride MakeStride(1, 100, 200); // 构造层次化Stride auto fractalStride MakeStride(MakeStride(1, 16), MakeStride(32, 512)); auto stride0 Std::get0(stride); // stride0 1 auto innerStride Std::get1(Std::get0(fractalStride)); // innerStride 16【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考