当前位置: 首页 > article >正文

CANN/ge函数处理点API

FuncProcessPoint【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge产品支持情况产品是否支持Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√函数功能FuncProcessPoint的构造函数返回一个FuncProcessPoint对象。函数原型class FuncProcessPoint(compile_config_path: Optional[str] None, name: Optional[str] None, py_func: Optional None, workspace_dir: Optional None)参数说明参数名称数据类型取值说明compile_config_pathstrUDF的编译配置文件与py_func互斥。传入py_func参数后compile_config_path不生效。namestr处理点名称框架会自动保证名称唯一不设置时会自动生成FuncProcessPoint, FuncProcessPoint_1, FuncProcessPoint_2,...的名称。py_funcclass用户开发的自定义Python UDF类需要使用proc_wrapper(func_listix:ox)注册输入输出与compile_config_path互斥。传入py_func参数后compile_config_path不生效。workspace_dirstr自动生成的Python UDF临时工作空间目录和py_func配合使用该字段为空时使用py_func的名字拼接“_ws”使用。UDF的编译配置文件示例如下 {func_list:[{func_name:Add, inputs_index:[1,0], outputs_index:[0]}],input_num:2,output_num:1,target_bin:libadd.so,workspace:./,cmakelist_path:CMakeLists.txt,compiler: ./cpu_compile.json,running_resources_info:[{type:cpu,num:2},{type:memory,num:100}],heavy_load:false} 表 1FuncProcessPoint的json配置文件配置项可选/必选描述workspace必选值为字符串UDF的工作空间路径。target_bin必选值为字符串UDF工程编译出来的so名字为防止被非法篡改该字符串需要以lib***.so来命名合法的字符包含大小写字母、数字、下划线和中划线。input_num必选值为数字表示UDF的输入个数即FuncProcessPoint的输入个数。output_num必选值为数字表示UDF的输出个数。即FuncProcessPoint的输出个数。func_list必选值为listlist的元素为单个function的描述当前只支持一个function。func_list.func_name必选值为字符串函数名称要和UDF里定义的function名称一致。多function场景下func_name不允许重复。func_list.inputs_index可选值为listlist元素为数字表示该function取FuncProcessPoint的哪些输入单function情况下当前无效;多function情况下该字段必选。且多个处理函数input index不共享不能重复。func_list.outputs_index可选值为listlist元素为数字表示该function对应FuncProcessPoint的哪些输出单function情况下当前无效。多function情况下output index可共享。cmakelist_path可选值为字符串源码编译的CMakeLists文件相对于workspace的路径如果未指定则取workspace下面的默认CMakeLists文件。compiler可选值为字符串异构环境下编译源码的交叉编译工具路径配置文件如果未指定则取资源类型默认的编译工具。running_resources_info可选值为list运行当前so需要的资源信息list的元素为单个资源信息的描述。running_resources_info.type可选当配置了running_resources_info时该字段必选。值为字符串运行当前so需要的资源信息的类型可选类型是cpu和memory。当资源类型是memory时单位是M。running_resources_info.num可选当配置了running_resources_info时该字段必选。值为数字运行当前so需要的资源信息的数量。heavy_load可选表示节点对算力的诉求。- true重载表示对算力的诉求大。- false轻载表示对算力的诉求小。默认值为false。当该参数取值为true时会影响UDF的部署位置。buf_cfg可选用户可以自定义配置内存池档位通过自定义档位可以提升内存申请效率及减少内存碎片如未设置该参数将使用默认的档位配置初始化内存模块该配置最多支持64个档位超过64编译报错。compiler的json配置内容示例和各字段解释如下。 {compiler:[{resource_type:X86,toolchain:/usr/bin/g},{resource_type:Aarch,toolchain:/usr/bin/g},{resource_type:Ascend,toolchain:/usr/local/Ascend/hcc}]} 表 2compiler的json配置文件配置项可选/必选描述compiler必选值为listlist的元素为单个资源类型的编译工具的描述。compiler.resource_type必选值为字符串设备支持的资源类型。compiler.toolchain必选值为字符串该资源类型对应的编译工具路径。buf_cfg的json配置内容示例和各字段解释如下。 buf_cfg:[{total_size:2097152,blk_size:256,max_buf_size:8192,page_type:normal}, // 1.total:2M max:8K {total_size:10485760,blk_size:4096,max_buf_size:8388608,page_type:normal}, // 2.total:10M max:8M {total_size:2097152,blk_size:256,max_buf_size:8192,page_type:huge}, // 3.total:2M max:8K {total_size:10485760,blk_size:8192,max_buf_size:8388608,page_type:huge}, // 4.total:10M max:8M {total_size:69206016,blk_size:8192,max_buf_size:67108864,page_type:huge}] // 5.total:66M max:64M 说明- 如上样例共配置了5个内存档位前两条针对普通内存后三条针对大页内存。- 使用该配置初始化内存管理模块后如果进程申请8M大页内存驱动会根据第4条配置项生成并管理一个10M内存池从其中申请8M内存。- 如本进程需要再次申请1M大页内存由于第三条配置项中一次最大只能申请8K因此仍然会落到第4条配置项对应的内存池中此时上一次申请10M只使用了8M剩余的内存仍大于1M因此会在上一次生成的10M内存池中申请1M内存供本次使用。默认档位如下IDtotal_sizeblk_sizemax_buf_sizepage_type02M256B8Knormal132M8K8Mnormal32M256B8Khuge466M8K64Mhuge表 3buf_cfg的json配置说明配置项可选/必选描述total_size必选当前档位内存池的大小单位Byte约束普通内存total_size是4K的倍数大页内存total_size是2M的倍数且total_size是blk_size的倍数blk_size必选当前档位一次可以申请的最小内存值单位Byte约束要求满足2^n且在(0,2M]之间小于max_buf_sizemax_buf_size必选当前档位一次可以申请的最大内存值单位Byte约束小于total_sizepage_type必选当前档位对应的内存类型约束有效值huge或normal分别表示大页内存和普通内存CMakeLists文件相关内容如下DataFlow UDF编译模块解析异构环境的resource.json资源配置和cpu_compiler配置根据resource.json资源配置类型匹配选择cpu_compiler中指定的交叉编译工具如果用户未指定cpu_compiler.json配置文件或者cpu_compiler.json未配置该类型的编译工具则取环境上默认的编译工具进行编译。不同资源类型的编译工具名称和路径如下。${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包以root安装举例则安装后文件存储路径为/usr/local/Ascend/cann。X86和Aarch场景下gAscend场景下${INSTALL_DIR}/toolkit/toolchain/hcc/bin/aarch64-target-linux-gnu-g用户的源代码工程要遵从如下规则用户提供的源码工程目录下要包括所有执行代码和依赖库源码。用户要配置好FuncProcessPoint执行代码和依赖库的编译脚本。编译脚本要使用RELEASE_DIR变量作为最终输出目录如果有依赖的so文件用户需要把依赖的so文件拷贝到该路径下。编译脚本要使用RESOURCE_TYPE变量判断资源类型如果当前UDF不支持某一个资源类型需要将对应的注释放开。CMakeLists sample如下 cmake_minimum_required(VERSION 3.5) PROJECT(UDF) if (x${RESOURCE_TYPE} STREQUAL xAscend) message(STATUS ascend compiler enter) # if unsupport current resource type, please uncomment the next line. # message(FATAL_ERROR Unsupport compile Ascend target!) elseif(x${RESOURCE_TYPE} STREQUAL xAarch) message(STATUS aarch64 compiler enter) # if unsupport current resource type, please uncomment the next line. # message(FATAL_ERROR Unsupport compile Aarch64 target!) else() message(STATUS x86 compiler enter) # if unsupport current resource type, please uncomment the next line. # message(FATAL_ERROR Unsupport compile X86 target!) endif() if(DEFINED ENV{ASCEND_HOME_PATH}) set(ASCEND_HOME_PATH $ENV{ASCEND_HOME_PATH}) message(STATUS Read ASCEND_HOME_PATH from ENV: ${ASCEND_HOME_PATH}) else() message(FATAL_ERROR ASCEND_HOME_PATH is not set, please export ASCEND_HOME_PATH based on actual installation path.) endif() # set dynamic library output path set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${RELEASE_DIR}) # set static library output path set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${RELEASE_DIR}) message(STATUS CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) set(INC_DIR ${ASCEND_HOME_PATH}/include)flow_func) file(GLOB SRC_LIST *.cpp) # Specify cross compiler add_definitions(-D_GLIBCXX_USE_CXX11_ABI0) # set c compiler set(CMAKE_CXX_COMPILER ${TOOLCHAIN}) # UDF so compile # check if SRC_LIST is exist if(x${SRC_LIST} STREQUAL x) message(UDF no source file) add_custom_target(${UDF_TARGET_LIB} COMMAND echo no source to make lib${UDF_TARGET_LIB}.so) return(0) endif() add_library(${UDF_TARGET_LIB} SHARED ${SRC_LIST} ) target_include_directories(${UDF_TARGET_LIB} PRIVATE ${INC_DIR} ) target_compile_options(${UDF_TARGET_LIB} PRIVATE -O2 -stdc11 -ftrapv -fstack-protector-all -fPIC ) if (x${RESOURCE_TYPE} STREQUAL xAscend) target_link_libraries(${UDF_TARGET_LIB} PRIVATE -Wl,--whole-archive ${ASCEND_HOME_PATH}/devlib/device/libflow_func.so -Wl,--no-whole-archive ) # If there have any dependent so, please release the following comments and copy dependent so to ${PROJECT_BINARY_DIR}/${RELEASE_DIR} # [[execute_process( COMMAND cp libdepend_xxx.so ${PROJECT_BINARY_DIR}/${RELEASE_DIR} )]] elseif(x${RESOURCE_TYPE} STREQUAL xAarch) target_link_libraries(${UDF_TARGET_LIB} PRIVATE -Wl,--whole-archive ${ASCEND_HOME_PATH}/devlib/linux/aarch64/libflow_func.so -Wl,--no-whole-archive ) # If there have any dependent so, please release the following comments and copy dependent so to ${PROJECT_BINARY_DIR}/${RELEASE_DIR} # [[execute_process( COMMAND cp libdepend_xxx.so ${PROJECT_BINARY_DIR}/${RELEASE_DIR} )]] else() target_link_libraries(${UDF_TARGET_LIB} PRIVATE -Wl,--whole-archive ${ASCEND_HOME_PATH}/devlib/linux/x86_64/libflow_func.so -Wl,--no-whole-archive ) # If there have any dependent so, please release the following comments and copy dependent so to ${PROJECT_BINARY_DIR}/${RELEASE_DIR} # [[execute_process( COMMAND cp libdepend_xxx.so ${PROJECT_BINARY_DIR}/${RELEASE_DIR} )]] endif() 返回值正常场景下返回None。返回“TypeError”表示参数类型不正确。调用示例import dataflow as df pp df.FuncProcessPoint(...)约束说明无【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/ge函数处理点API

FuncProcessPoint 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFl…...

开发者专属:用coding-plan打造高效技术学习与自律管理系统

1. 项目概述:一个为开发者量身定制的自律与成长工具如果你和我一样,是一名在代码世界里摸爬滚打的开发者,那你一定对“计划赶不上变化”这句话深有体会。今天想学个新框架,明天要重构旧代码,后天又被临时需求打断。一年…...

CANN hcomm通信内存激活接口

HcclCommActivateCommMemory 【免费下载链接】hcomm HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm [!NOTE]说明 本接口为试用接口,后续可…...

生态:智能体与环境的双向塑造 ——为什么超级进化只能是科幻

# 生态:智能体与环境的双向塑造 ## ——为什么超级进化只能是科幻**作者**:归来的星辰 **首发**:知乎(2026年4月26日) **协议**:CC BY-SA 4.0(可自由转载、改编、商业化使用,但须保留…...

CANN/atvoss幂运算接口

Power 【免费下载链接】atvoss ATVOSS(Ascend C Templates for Vector Operator Subroutines)是一套基于Ascend C开发的Vector算子库,致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。 项目地址: https://…...

CANN / ops-nn GELU算子

aclnnGelu 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn 📄 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品…...

WeChatPad:解锁微信多设备协同,重塑移动办公边界

WeChatPad:解锁微信多设备协同,重塑移动办公边界 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 你是否曾在工作与生活之间疲于切换微信账号?是否因微信"手机和平板不…...

混合专家MoE没你想的那么玄乎:拆开GPT-4和DeepSeek V4的核心架构

上周跟一个朋友聊天,他说他在读 MoE 的论文,读了两天没太搞明白。我说你换个角度想——MoE 就像一家大型公司的组织架构。 传统的大模型就像一个全能型员工,一个人啥都得会。MoE 换了个思路:你不是要让一个人啥都会吗?…...

Video DownloadHelper CoApp终极指南:从零开始轻松下载网络视频

Video DownloadHelper CoApp终极指南:从零开始轻松下载网络视频 【免费下载链接】vdhcoapp Companion application for Video DownloadHelper browser add-on 项目地址: https://gitcode.com/gh_mirrors/vd/vdhcoapp Video DownloadHelper CoApp是Video Down…...

职场人的「深夜困境」:为什么我选择用AI社交平台倾诉

职场五年,我学会了一件事:白天把情绪藏好,晚上一个人消化。白天开会、汇报、对接客户,所有的情绪都要收着。到了晚上,躺在床上,脑子却停不下来。翻来覆去睡不着的时候,你会找谁?我试…...

CANN基础设施机器人使用指南

【免费下载链接】infrastructure 本仓库用于托管CANN社区基础设施团队的公开信息,包括不限于:会议日程,成员信息,服务文档和配置等信息 项目地址: https://gitcode.com/cann/infrastructure 🚀 CANN社区Bot用户…...

CANN/HCCL Ring集合通信算法

Ring 【免费下载链接】hccl 集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案 项目地址: https://gitcode.com/cann/hccl 算法…...

【2026年最新】网安学习路线!最详细没有之一!看了这么多分享网安学习路线的一个详细的都没有!

零基础小白,到就业!入门到入土的网安学习路线! 在各大平台搜的网安学习路线都太粗略了。。。。看不下去了! 我把自己报班的系统学习路线,整理拿出来跟大家分享了! 建议的学习顺序: 一、网络安…...

数字电源控制技术:从效率优化到智能管理

1. 数字电源控制技术的革新突破在电力电子领域工作了十五年,我见证了电源技术从模拟控制到数字控制的革命性转变。2007年那场PCIM China展会上,Ericsson展示的数字控制POL稳压器让我至今记忆犹新——它用25.412.7mm的尺寸实现了20A输出,这个尺…...

Tekla 图纸还在人工调?一个项目浪费几十小时,自动调图到底能省多少时间

正文在钢结构深化行业,很多人都以为建模最耗时间。但真正做过项目的人都知道,模型完成之后,真正拖慢交付周期的,往往是图纸后处理。一个典型流程:建模完成 → 自动生成图纸 → 图纸员人工调图 → 校审 → 修改 → 出图…...

CANN工具SIG项目

tools SIG 【免费下载链接】community 本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息 项目地址: https://gitcode.com/cann/community 简介 欢迎来到tools SIG!我们致力于构建模型压缩和…...

CANN/sip BLAS点积算子文档

Dot 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库,基于华为Ascend AI处理器,专门为信号处理领域而设计。 项目地址: https://gitcode.com/cann/sip 产品支持情况 产品是否支持Atlas 200I/500 A2 推理产品At…...

Dify与Langfuse集成:构建可观测AI应用的全链路实践

1. 项目概述:当Dify遇上Langfuse,如何构建可观测的AI应用 如果你正在用Dify搭建AI应用,那你一定遇到过这样的场景:用户反馈说“昨天那个回答挺好的,今天怎么不行了?”;或者产品经理问你“我们调…...

CANN/CATLASS样例设计文档

CATLASS 样例设计文档 【免费下载链接】catlass 本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass 本文档汇总当前一些样例的设计思路和代码拆解,读者可按照个人兴趣查阅…...

多模态大模型评测指南:从盲测竞技场到技术选型实战

1. 项目概述:一个开放的多模态模型竞技场如果你最近在关注大模型,尤其是那些能“看懂”图片的视觉语言大模型,那你可能已经发现,各种新模型如雨后春笋般涌现,每个都宣称自己性能卓越。但作为开发者或研究者&#xff0c…...

体验低延迟与高稳定的大模型API调用服务

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 体验低延迟与高稳定的大模型API调用服务 在需要与大模型进行高频、连续交互的开发或学习场景中,服务的响应速度和稳定性…...

2026年 自动化缝纫模板机 机器人工作站市场洞察与排名

前言在智能制造浪潮下,模板机机器人工作站成为服装、家纺等行业升级关键。这类设备以高效、精准、稳定等特性,提升生产效率与降低成本。市场上相关品牌与产品众多,为助企业挑选,现从多维度评估并排名。2026 年模板机机器人工作站 …...

CANN/asc-tools NPU检查工具

npu_check 【免费下载链接】asc-tools Ascend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。 项目地址: https://gitcode.com/cann/asc-tools 概述 Ascend C Tools提供的孪生调试分为debug功能和npu check功能,debug功能包含诸如是否合法使用…...

CANN/PTO-ISA安全说明

安全说明 【免费下载链接】pto-isa Parallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platf…...

全域矩阵运营系统分布式任务调度架构设计与工程化落地

摘要随着全域矩阵运营系统的规模化落地,系统需要承载数十万账号的定时内容发布、跨平台数据同步、账号健康巡检、合规风险扫描、运营 SOP 执行等海量、异构、强业务关联的任务场景。通用分布式任务调度框架仅能实现基础的定时任务触发,无法适配矩阵系统多…...

基于改进YOLOv8斑点叉尾鮰鱼损伤检测系统的研究与实现

摘要:斑点叉尾鮰是我国重要的淡水养殖经济鱼类,在高密度集约化养殖过程中,鱼体损伤问题频发,直接影响商品鱼品质和养殖经济效益。传统的鱼体损伤检测主要依赖人工目视判别,存在效率低、主观性强、难以实现批量化检测等…...

昇腾CANN/GE Concat No Task特性分析

Concat No Task 特性分析 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、T…...

通过curl命令快速测试Taotoken各大模型接口响应与功能

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过curl命令快速测试Taotoken各大模型接口响应与功能 对于需要在无SDK环境或进行底层接口调试的开发者而言,直接使用c…...

2025最权威的十大降AI率平台推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 维普AIGC检测系统的主要目的乃精确辨认学术文本里那帮通过人工智能给弄出来的内容。在用户使…...

WorkshopDL:革命性跨平台Steam创意工坊下载技术指南

WorkshopDL:革命性跨平台Steam创意工坊下载技术指南 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 1. 问题洞察 你是否曾经在GOG平台购买了《巫师3》,…...