
目录结构【免费下载链接】geGEGraph 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调用样例。包含对外头文件 meta_flow_func.h定义处理类public继承MetaFlowFunc基类重载Init和Proc两个函数Init函数执行初始化动作如变量初始化获取属性等。UDF框架在初始化阶段会调用该函数Proc中是用户自定义的计算处理逻辑UDF框架在接收到输入数据后会调用该函数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调用样例包含对外头文件 meta_multi_func.h定义处理类public继承MetaMultiFunc基类重载Init和Proc两个函数Init函数执行初始化动作如变量初始化获取属性等。UDF框架在初始化阶段会调用该函数Proc中是用户自定义的计算处理逻辑UDF框架在接收到输入数据后会调用该函数proc函数可以定义多个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 .. -DTOOLCHAINg -DRELEASE../release -DRESOURCE_TYPEx86 -DUDF_TARGET_LIBudf # 如果host是arm 编译arm类型的so cmake -S .. -DTOOLCHAINg -DRELEASE../release -DRESOURCE_TYPEAarch -DUDF_TARGET_LIBudf # 如果编译Ascend类型的so需要指定安装了cann包的环境中的g cmake -S .. -DTOOLCHAIN$ASCEND_HOME_PATH/toolkit/toolchain/hcc/bin/aarch64-target-linux-gnu-g -DRELEASE_DIR../release -DRESOURCE_TYPEAscend -DUDF_TARGET_LIBudf make -j 64【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考