news 2026/9/10 4:04:22

CANN/GE UDF工作空间示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/GE UDF工作空间示例

目录结构

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

├── 01_udf_add │ ├── CMakeLists.txt │ └── add_flow_func.cpp 单fun接口定义的add函数 ├── 02_udf_call_add_nn │ ├── CMakeLists.txt │ └── call_nn_flow_func.cpp UDF调用tensorflow模型 ├── 03_udf_add_multi_func │ ├── CMakeLists.txt │ └── add_flow_func.cpp 多Func接口定义add函数 ├── 04_control_func │ ├── CMakeLists.txt │ └── control_func.cpp 根据输入激活03中定义的多func中的某一个 └── README.md

开发指导

01_udf_add 和 02_udf_call_add_nn 为单func调用样例。

  1. 包含对外头文件 meta_flow_func.h
  2. 定义处理类,public继承MetaFlowFunc基类,重载Init和Proc两个函数
  • Init函数执行初始化动作,如变量初始化,获取属性等。UDF框架在初始化阶段会调用该函数
  • Proc中是用户自定义的计算处理逻辑,UDF框架在接收到输入数据后,会调用该函数
  1. UDF注册,通过REGISTER_FLOW_FUNC宏实现将类声明映射成用户自定义的UDF函数名,同时注册到UDF框架中。如:
    REGISTER_FLOW_FUNC("call_nn", CallNnFlowFunc);
    call_nn:用户自定义的UDF函数名
    CallNnFlowFunc:实际执行的类名,需要和cpp文件中的类名保持一致

03_udf_add_multi_func和04_control_func 为多func调用样例

  1. 包含对外头文件 meta_multi_func.h
  2. 定义处理类,public继承MetaMultiFunc基类,重载Init和Proc两个函数
  • Init函数执行初始化动作,如变量初始化,获取属性等。UDF框架在初始化阶段会调用该函数
  • Proc中是用户自定义的计算处理逻辑,UDF框架在接收到输入数据后,会调用该函数,proc函数可以定义多个
  1. UDF注册,通过FLOW_FUNC_REGISTRAR宏实现将类声明映射成用户自定义的UDF函数名,同时注册到UDF框架中。如:
    FLOW_FUNC_REGISTRAR(AddFlowFunc)
    .RegProcFunc("Proc1", &AddFlowFunc::Proc1)
    .RegProcFunc("Proc2", &AddFlowFunc::Proc2);

编译指导

UDF函数开发完成后,可以使用以下编译指令查看CMakeLists文件及cpp源码是否存在问题。

source {HOME}/Ascend/cann/set_env.sh #{HOME}为CANN软件包安装目录,请根据实际安装路径进行替换 # 以01_udf_add为例 cd 01_udf_add mkdir build cd build # 如果host是x86 编译x86类型的so cmake -S .. -DTOOLCHAIN=g++ -DRELEASE=../release -DRESOURCE_TYPE=x86 -DUDF_TARGET_LIB=udf # 如果host是arm 编译arm类型的so cmake -S .. -DTOOLCHAIN=g++ -DRELEASE=../release -DRESOURCE_TYPE=Aarch -DUDF_TARGET_LIB=udf # 如果编译Ascend类型的so,需要指定安装了cann包的环境中的g++ cmake -S .. -DTOOLCHAIN=$ASCEND_HOME_PATH/toolkit/toolchain/hcc/bin/aarch64-target-linux-gnu-g++ -DRELEASE_DIR=../release -DRESOURCE_TYPE=Ascend -DUDF_TARGET_LIB=udf make -j 64

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 4:04:17

27B小模型凭MCP工具调用击败大模型?本地AI部署与实战解析

先说结论:这个结果一点都不离谱。前几天信通院MCP专项测评的榜单在圈子里传得挺快,StartLux这个主打本地部署的智能体方案,靠着一套27B参数的开源模型底座,在MCP工具调用能力上硬是压过了不少几百B参数的云端巨无霸,综…

作者头像 李华
网站建设 2026/9/10 4:03:06

农村人城市化:从身份标签到生存技能的全面升级

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 4:01:38

XGBoost/LightGBM多因子选股实战:从因子工程到实盘组合

简介:本资源是一套基于机器学习的多因子选股模型完整实现方案,面向金融工程、量化投资及人工智能方向的高校学生与初阶量化开发者,解决因子筛选、模型构建与实盘回测等核心问题。压缩包共38个文件,含15个Python源码(覆…

作者头像 李华
网站建设 2026/9/10 4:00:38

STM32CubeMX初始化工程完全指南:从时钟树到定时器编码器模式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 3:54:36

Python构建轻量级反电信诈骗系统实战

简介:本资源是一个面向高校计算机专业学生与Python初学者的课程设计级项目源码,聚焦于利用大数据技术构建反电信诈骗管理系统,解决通信行为异常识别、诈骗风险预测与可视化防控等实际问题。压缩包为ZIP格式,大小46.24MB&#xff0…

作者头像 李华