已关闭
[Feature Request|新需求]: 融合规则 GetOptionValue 调用方式重构(dlsym 改弱符号直接调用) #6156
rk创建于  9月23日关闭于  9月24日
rk成员
9月23日 创建

一、背景信息

inplace_add_layer_norm 融合规则的 CheckScene 需调用 CustomPassContext::GetOptionValue(GE 9.0.0 新增接口)读取 OptionGraphRunMode 判别推理/训练场景。D4(低版本编译环境)下原通过 dlsym 运行时解析 mangled symbol 调用该接口。

二、价值/作用

  • 消除硬编码 mangled symbol name 的脆弱性(符号名变更即解析失败)
  • 消除 memcpy_s 函数指针拷贝,恢复类型安全的直接成员调用
  • 代码净减 26 行,去除 <dlfcn.h>/securec.h 依赖

三、设计方案

将 dlsym 解析替换为编译期宏守卫:GE_COMPILER_VERSION_NUM >= 90000000 时直接调用 passContext.GetOptionValue(框架已适配公共符号弱化,高编低跑场景下可正确解析),否则返回 API_UNAVAILABLE 静默跳过;运行时版本检查保留并加固返回值判断。

关联 PR:https://gitcode.com/cann/ops-nn/pull/11082

likedislike
yuning_chenyuning_chen成员
9月23日 将 wangpengbo26 设为负责人
CANN-robotCANN-robot成员
9月24日 关闭了 issue
CANN-robotCANN-robot成员
9月24日 添加了label:resolved