CANN/asc-devkit AddInputTd接口文档

发布时间:2026/7/13 7:28:11

CANN/asc-devkit AddInputTd接口文档 AddInputTd【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明为算子增加输入Tensor的描述函数原型ContextBuilder AddInputTd(int32_t index, ge::DataType dtype, ge::Format originFormat, ge::Format storageFormat, gert::StorageShape storageShape) ContextBuilder AddInputTd(int32_t index, ge::DataType dtype, ge::Format originFormat, ge::Format storageFormat, gert::StorageShape storageShape, void* constValues) ContextBuilder AddInputTd(int32_t index, ge::DataType dtype, ge::Format originFormat, ge::Format storageFormat, gert::StorageShape storageShape, const std::string filePath)参数说明参数输入/输出说明index输入算子输入索引从0开始计数。dtype输入算子输入tensor的数据类型originFormat输入算子输入tensor原始格式storageFormat输入算子输入tensor运行时格式storageShape输入算子输入tensor的shapeconstValues输入值依赖场景下该输入tensor需要设置的数据指针。 bfloat16与float16的数据依赖场景请传入float格式的数据接口内部自行转换成bfloat16或float16。filePath输入值依赖场景下该输入tensor的bin格式数据文件路径返回值说明当前ContextBuilder的对象。约束说明输入的index需要基于算子IR定义按照IrInstanceNum声明顺序来排布调用AddInputTd前需要调用NodeIoNum与IrInstanceNum接口调用示例gert::StorageShape x_shape {{1024, 5120}, {1024, 5120}}; gert::StorageShape expert_tokens_shape {{16}, {16}}; gert::StorageShape weight1_shape {{16, 5120, 0}, {16, 5120, 0}}; gert::StorageShape bias1_shape {{16, 0}, {16, 0}}; std::vectorfloat x_const_value (1024 * 5120, 2.f); std::vectorfloat bias_value (16 * 5120, 3.f); context_ascendc::ContextBuilder builder (void)builder.NodeIoNum(5, 1) // 声明算子有5个输入1个输出 .IrInstanceNum({1, 1, 2, 1, 1}) // 声明index 2的算子tensor有两个dynamic实例 .SetOpNameType(tmpName, tmpType) .AddInputTd(0, ge::DT_FLOAT16, ge::FORMAT_ND, ge::FORMAT_ND, x_shape, reinterpret_castvoid *(x_const_value.data())) // 内部会将该指针指向的数据转为float16类型 .AddInputTd(1, ge::DT_FLOAT16, ge::FORMAT_ND, ge::FORMAT_ND, weight1_shape) .AddInputTd(2, ge::DT_INT64, ge::FORMAT_ND, ge::FORMAT_ND, expert_tokens_shape, ./expert_tokens_data.bin) // index2 的 第一个dynamic tensor值依赖场景传入数据路径 .AddInputTd(3, ge::DT_INT64, ge::FORMAT_ND, ge::FORMAT_ND, expert_tokens_shape, ./expert_tokens_data.bin) // index2 的 第二个dynamic tensor 值依赖场景传入数据路径 .AddInputTd(4, ge::DT_FLOAT16, ge::FORMAT_ND, ge::FORMAT_ND, bias1_shape) .AddInputTd(5, ge::DT_BF16, ge::FORMAT_ND, ge::FORMAT_ND, bias2_shape, reinterpret_castvoid*(bias_value.data())) // 内部会将该指针指向的数据转为Bf16类型【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻