已关闭
[Requirement|需求建议]: Soc Version 优化:将 RtMacroValue 字段迁移到 DevProperties,重构 SoC 版本属性管理 #316
daijinling创建于 3月30日关闭于 4月28日
3月30日 添加了label:requirement
3月30日 将 daijinling 设为负责人
3月30日 修改了issue 的描述
Ddaijinling
3月30日 修改标题为 “[Requirement|需求建议]: Soc Version 优化:将 RtMacroValue 字段迁移到 DevProperties,重构 SoC 版本属性管理”,原标题为“[Requirement|需求建议]: ”
3月30日 修改标题为 “[Requirement|需求建议]: Soc Version 优化:将 RtMacroValue 字段迁移到 DevProperties,重构 SoC 版本属性管理”,原标题为“[Requirement|需求建议]: ”
3月30日 关联了pull request:soc version优化
Ddaijinling
4月8日 关联了pull request:refactor: 删除废弃接口和字段(rtGetMaxModelNum/pctrace/maxSinkTaskNum/maxModelNum)
4月8日 关联了pull request:refactor: 删除废弃接口和字段(rtGetMaxModelNum/pctrace/maxSinkTaskNum/maxModelNum)
4月8日 关联了pull request:refactor: 将 RtMacroValue 字段迁移到 DevProperties,重构 SoC 版本属性管理
4月9日 关联了pull request:revert: restore ascend950 cce_file directory name
4月28日 issue状态由 进行中 改变为 已解决
4月28日 关闭了 issue
Backgroud(背景信息)
当前 Runtime 中 SoC 版本相关的设备属性管理存在以下问题:
RtMacroValue中,不支持多芯片场景下的属性隔离。MacroInitDefault()硬编码,各平台又在dev_info_proc_func.cc的macroInitFunc()中动态覆盖,两处维护、容易遗漏。macroInitFunc()中既有固定赋值,又有运行时驱动特性查询,职责不清。本需求将
RtMacroValue中的 15 个核心字段迁移到按芯片隔离的DevProperties结构中,统一所有平台的 INI 覆盖机制,使属性管理更清晰、可维护、可扩展。Origin(信息来源)
Runtime 团队重构需求。在多芯片并存场景和新 SoC 适配过程中,原有的
RtMacroValue全局变量方案频繁暴露维护困难和属性冲突问题,由开发团队发起重构。Benefit / Necessity (价值/作用)
DevProperties中,由DevInfoManage统一管理和查询,消除全局变量耦合。dev_info_reg.cc注册默认值即可。dev_info_reg.cc确定,仅保留必须的驱动特性查询(如 910_B_93 的 SQ 动态绑定检查)。dev_info_proc_func.cc(约 600+ 行),减少重复代码。应用场景:
dev_info_reg.cc注册属性默认值,无需编写复杂的初始化函数Ascend.ini的[SoCInfo]段即可调整流数量和深度等参数,无需修改代码Design(设计方案)
1. 数据结构变更
新增
RtIniAttributes(临时存储 INI 配置,仅在初始化阶段使用):struct RtIniAttributes { uint32_t normalStreamNum = 0U; // [SoCInfo] normal_stream_num uint32_t normalStreamDepth = 0U; // [SoCInfo] normal_stream_depth uint32_t hugeStreamNum = 0U; // [SoCInfo] huge_stream_num uint32_t hugeStreamDepth = 0U; // [SoCInfo] huge_stream_depth };DevProperties新增 15 个字段(从RtMacroValue迁移):2. 初始化流程重构
3. INI 覆盖规则
新增
ini_parse_utils工具,所有平台统一调用:void ParseIniFile(rtSocType_t socType, RtIniAttributes& iniAttrs);覆盖规则(
CompareAndUpdate):DevProperties原值(视为未配置)4. 各平台适配方式
dev_info_reg.cc中注册 15 个字段的默认值(编译期确定)devPropsUpdateFunc),其余平台均删除dev_info_proc_func.ccdev_info_reg.cc,注册属性默认值即可5. 文件变更概要
ini_parse_utils.h/.ccdevice_properties.hdev_info.hruntime.ccdev_info_reg.ccdev_info_proc_func.ccv200.cmake