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

CANN/cannbot-skills: easyasc DSL转AscendC工作流

ops-easyasc-dsl【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skillsEnglish README有天我一拍脑袋想看看 AI 究竟能做成啥样所以就有了这个仓。代码基本是纯添加零天然。我只是个傻读代码和指手画脚的人类罢了。ops-easyasc-dsl把 easyasc DSL → AscendC 的工作流封装成一个 skill。其内部仍然提供用 Python 描述 Ascend 风格混合 kernel 的 DSL 框架它可以从 Python 代码生成指令 IR把 IR 下沉成拆分后的 cube/vec 代码路径在内置模拟器中运行 kernel为非模拟器场景生成 custom-op 源码产物这个仓库主要围绕三件事展开用kernel、Tensor、GMTensor、Var以及可选的vf微函数辅助在 Python 里编写 kernel。由框架负责构建指令 IR、补上各执行侧需要的同步并把程序拆成 cube 和 vec 两条路径。再通过模拟器或生成出来的运行时产物验证结果。Skill 入口面向用户的 skill 入口是skill/SKILL.md。可复用的工作流位于agent/下。在阅读已归档的运行时/文档内容或运行示例之前需要先按需还原bash agent/scripts/init.sh脚本是幂等的只会还原缺失的目录。为什么会有这个仓库这个代码库主要服务于 kernel 的开发、实验和调试尤其适合下面这些场景快速验证新的纯 cube 或混合 cube/vec 流水线原型在模拟环境里验证尾块处理、tiling 和精度边界查已有 kernel看看哪些 DSL 写法和实现套路是可行的安装不用安装。执行bash agent/scripts/init.sh还原easyasc/后想办法把easyasc.a5或者easyasc.a2给 import 进来即可。快速开始示例环境仅作参考并非必须# 仅作参考——请根据本地情况调整 conda activate torch210npu然后运行一个最小可执行的 kernel 示例需先执行bash agent/scripts/init.shpython agent/example/kernels/a5/matmul_float_mmad.py这个示例展示了最小的端到端流程用kernel定义一个 kernel通过OpExec(..., simulatorTrue)启动它把模拟输出和 PyTorch 参考结果做对比OpExec真机构建 CANNSIM 所需环境变量使用默认的simulatorFalse跑OpExec(kernel)时框架会在当前工作目录生成并执行b.sh、r.sh。脚本里已写入通用基线若本机布局不同请在启动 Python 前自行导出下表变量。变量何时需要设置示例值ASCEND_HOME_PATH必须指向你的 CANN 安装根你的 CANN 安装路径其下应有bin/setenv.bashASCEND_CUSTOM_OPP_PATH需要拼接额外自定义 OPP 根可为空导出后避免set -u与set_env.bash冲突EASYASC_PYTHON_BINCANNopbuild调用的python3需要NumPy含有该解释器的目录如某 conda 环境的bin会加入PATHPYTHONPATH需从仓库根 importeasyasc仓库根目录b.sh/r.sh用EASYASC_ROOT脚本所在目录拼接相对路径请在仓库根目录跑代码生成使脚本落在根目录。脚本会尝试source ${ASCEND_HOME_PATH}/bin/setenv.bash配置厂商库LD_LIBRARY_PATH并用cannsim跑 aclnn 测试二进制。若op_build缺.so检查ASCEND_HOME_PATH与setenv.bash若报缺少numpy设置EASYASC_PYTHON_BIN指向带 NumPy 的 Python 所在目录。核心概念easyasc.a5面向 A5 风格架构与指令序列的一套公开 DSL 接口。当前仓库里大多数 kernel 和测试都在使用它包含 cube、vec、micro、寄存器、cast 和调试辅助功能。easyasc.a2面向 A2 风格架构与指令序列的另一套公开 DSL 接口。它不是a5的兼容层而是针对另一类指令族的并列架构接口。GMTensor全局内存张量对应 kernel 的输入和输出。Tensor位于L1、L0A、L0B、L0C或UB中的片上张量。DBuff/TBuff用来描述基于 slot 复用的缓冲张量辅助类型。Var用于表示循环边界、维度和符号形状的标量值。OpExec运行时入口可用于模拟器执行或代码生成。典型开发流程先把精确的 PyTorch 公式写清楚。选择流水线拓扑仅 cubecube - vecvec - cubevec - cube - veccube - vec - cube用 Python 把 kernel 实现出来。使用OpExec(..., simulatorTrue)验证。如果重复出现的标量维度让形状推导变得不明确就显式加上shape_bindings。只有在模拟器结果和参考实现对齐之后再继续看生成产物和硬件相关执行。仓库结构skill/— skill 入口skill/SKILL.mdagent/— 可复用的 easyasc DSL → AscendC 工作流agent/ROUTER.md— 渐进披露的 routeragent/scripts/— 维护脚本包含init.shagent/assets/— 归档的 runtime/docsops-easyasc-dsl-runtime.tar.gz与 exampleops-easyasc-dsl-example.tar.gzagent/example/— 精选 kernel 示例与手动 demo按需还原agent/references//agent/playbooks//agent/index/— 参考、playbook 与 JSON 索引由agent/scripts/init.sh按需还原easyasc/— DSL 运行时与 codegendoc/— 英文文档doc_cn/— 中文文档镜像agent/example/kernels/— 精选示例 kernelagent/example/demo/— 按设备家族整理的手动运行示例注意testcases/已从交付的 skill 包中移除。文档索引doc_cn/目录由agent/scripts/init.sh还原快速开始编程模型编写第一个 Kernel混合流水线与同步模拟器与 Trace代码生成与运行时Kernel 模式与范式测试与验证API 参考故障排查面向贡献者的架构说明Stub 与 Codegen 名字对照表【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/cannbot-skills: easyasc DSL转AscendC工作流

ops-easyasc-dsl 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills English README 有天我一拍脑袋想看看 AI 究竟能做成…...

ARM调试寄存器DBGBCR_EL1与DBGBVR_EL1详解与应用

1. ARM调试寄存器架构概述在ARMv8/v9架构中,调试寄存器是实现硬件级调试功能的核心组件。作为一位长期从事ARM平台底层开发的工程师,我经常需要与DBGBCR_EL1和DBGBVR_EL1这类调试寄存器打交道。它们构成了处理器调试子系统的基础设施,为开发者…...

CANN/asc-devkit AddRelu算子API

AddRelu 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/ca…...

CANN/Ascend C调试工具集

Ascend C Tools 【免费下载链接】asc-tools Ascend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。 项目地址: https://gitcode.com/cann/asc-tools 🚀概述 Ascend C Tools是CANN编程语言推出的配套调试工具。借助Ascend C Tools,开…...

无代码AI平台实战:从业务需求到模型部署的完整指南

1. 项目概述:当AI不再是程序员的专属玩具 “AI民主化”这个词最近听得耳朵都快起茧了,但真正落到实处的体验是什么?作为一个在技术和业务之间反复横跳了十多年的老手,我亲眼见证了从“只有博士才能玩转的算法黑箱”到“业务经理自…...

卷积运算:从数学原理到信号处理实战

1. 卷积基础与核心概念在数字信号处理领域,卷积运算堪称"瑞士军刀"般的存在。我第一次接触这个概念是在研究生时期的语音信号处理课上,当时教授用了一个生动的比喻:卷积就像把一杯墨水倒入一盆清水中,观察墨水如何随时间…...

动力锂离子电池SOC与热失控关键参数建模计算【附模型】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于RA-TLBO算法的电化学模型参数高效辨识&#xf…...

LNG船双燃料发电机组经济负荷分配与协调控制【附程序】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于改进遗传算法的双燃料发动机燃料优化分配&…...

Codex宠物模式上线后,程序员们开始了疯狂整活...(附使用教程)

Codex宠物模式上线后,程序员们开始了疯狂整活… 关键词:Codex宠物模式、petdex宠物网站、Codex自定义宠物、ikun-hoops、Codex pets安装教程 前几天我在更新 Codex 的时候,发现它悄悄上线了一个「宠物模式」。 一开始我以为只是那种简单的桌…...

Codex API登录切换导致会话丢失的解决方案(含工具实践)

Codex API登录切换导致会话丢失的解决方案(含工具实践) 关键词 Codex Desktop API登录、Codex会话丢失、Codex线程不见了、Codex Session Toolkit、ai-cli-kit、会话迁移工具、Codex账号切换、Claude Clean工具、AI CLI工具箱 codex客户端下载地址:htt…...

英雄联盟段位伪装终极指南:3分钟掌握LeaguePrank使用技巧

英雄联盟段位伪装终极指南:3分钟掌握LeaguePrank使用技巧 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 还在为英雄联盟好友列表上的段位显示而烦恼吗?想要在游戏中展示不一样的自己却不知道如何操作&…...

英雄联盟智能助手Seraphine:如何用5分钟提升你的游戏体验?

英雄联盟智能助手Seraphine:如何用5分钟提升你的游戏体验? 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 还在为BP阶段手忙脚乱而烦恼吗?还在手动查询队友对手战绩浪费宝贵…...

百度网盘下载限速终结者:3分钟掌握免费高速下载终极方案

百度网盘下载限速终结者:3分钟掌握免费高速下载终极方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘那令人抓狂的下载速度而烦恼吗?…...

5分钟深度解锁:ncmdump智能音频转换方案完全指南

5分钟深度解锁:ncmdump智能音频转换方案完全指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾为下载的网易云音乐NCM格式文件无法在其他设备播放而烦恼?音频格式转换工具ncmdump为你提供了一套完整…...

百度网盘解析工具:3步实现高速下载,告别限速烦恼

百度网盘解析工具:3步实现高速下载,告别限速烦恼 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾经为百度网盘的下载速度而烦恼?是…...

从Prompt到系统:揭秘Agent开发的核心与分层实战策略

文章深入探讨了智能体(Agent)开发的核心概念与实现策略。首先定义了Agent作为以大模型为核心,结合记忆、工具、工作流等能力的系统,强调了其任务闭环特性。文章进一步解析了Agent的三个层级(L0-L3)及其特点…...

AgenticVision:为AI智能体构建持久视觉记忆的开源系统

1. 项目概述:为AI智能体赋予持久的视觉记忆如果你用过Claude Desktop、Cursor或者Windsurf这类AI编程助手,肯定遇到过这样的场景:你让AI帮你分析一个网页布局,它截了张图,给出了分析,然后……就没有然后了。…...

36《STM32 标准库实现 CAN 总线收发实战例程》

STM32 标准库实现 CAN 总线收发实战例程(001):CAN总线基础与STM32 CAN外设概述 写在前面:一次深夜的CAN调试翻车 凌晨两点,示波器探头夹着CAN_H和CAN_L,屏幕上本该出现的显性隐性波形变成了一团乱麻。板子上的STM32F103已经连续发了三小时数据,对面电机驱动器就是不理…...

腾讯AppAgent:基于视觉的移动端AI自动化测试与智能交互实战

1. 项目概述:一个能“看”会“点”的智能体 最近在探索移动端自动化测试和智能交互时,我遇到了一个非常有意思的开源项目——来自腾讯QQGYLab的AppAgent。简单来说,这是一个能“看懂”手机屏幕,并像真人一样通过“点击”、“滑动…...

边缘AI能否跟上模型演进的步伐?

模型开发速度已超越芯片设计周期,边缘AI架构必须将适应性放在首位。模型更新的频率高度依赖具体应用场景,并与产品生命周期和运营风险密切相关。适应性往往与功耗、性能和面积目标相冲突,因此有效的异构架构和完善的软件/编译器工具链至关重要…...

Quaid:为AI智能体构建持久记忆层,解决上下文遗忘难题

1. 项目概述:为AI智能体构建持久记忆层如果你和我一样,深度依赖AI编程助手来完成日常开发工作,那么你一定遇到过这个令人头疼的场景:你花了大半个小时,向助手详细解释了当前项目的架构、你个人的编码偏好、刚刚修复的那…...

Blender 3MF插件完整指南:如何在Blender中直接处理3D打印文件

Blender 3MF插件完整指南:如何在Blender中直接处理3D打印文件 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 你是否厌倦了在Blender和3D打印软件之间来回切换…...

NeuroRebuild™神经重构技术白皮书——赋能港口动态目标全维度空间还原

NeuroRebuild™神经重构技术白皮书——赋能港口动态目标全维度空间还原 副标题:突破遮挡、弱光感知瓶颈,树立智慧港口复杂场景智能感知新标杆 前言 港口作为高动态、强遮挡、多干扰的复杂作业场景,人员、集卡、AGV、集装箱、船舶等目标…...

Windows右键菜单管理终极指南:ContextMenuManager高效解决方案

Windows右键菜单管理终极指南:ContextMenuManager高效解决方案 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾被Windows右键菜单中数十个杂…...

DownKyi终极指南:5步掌握B站视频批量下载与高清保存技巧

DownKyi终极指南:5步掌握B站视频批量下载与高清保存技巧 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&…...

3分钟上手G-Helper:释放华硕笔记本潜能的轻量级神器

3分钟上手G-Helper:释放华硕笔记本潜能的轻量级神器 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Expe…...

AIDD开源框架harness:模块化设计加速AI药物发现全流程

1. 项目概述:当药物研发遇上AI,一个开源框架的诞生在生物医药领域,药物研发一直是一项周期漫长、成本高昂且充满不确定性的“探险”。从靶点发现到最终上市,平均需要超过10年时间和数十亿美元的投入,而失败率却高得惊人…...

基于Vue 3与File System API构建本地Markdown知识库管理器

1. 项目概述:一个Markdown文件管理器的诞生如果你和我一样,是一个重度依赖Markdown来记录工作、整理知识、撰写文档的开发者或内容创作者,那么你一定遇到过这样的困境:随着时间推移,电脑里散落着成百上千个.md文件。它…...

3步实现高效B站视频转文字的智能解决方案

3步实现高效B站视频转文字的智能解决方案 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 在信息爆炸的时代,视频已成为知识传播的主流媒介。B站作…...

当音乐挣脱枷锁:用ncmToMp3重获你的音乐主权

当音乐挣脱枷锁:用ncmToMp3重获你的音乐主权 【免费下载链接】ncmToMp3 网易云vip的ncm文件转mp3/flac - ncm file to mp3 or flac 项目地址: https://gitcode.com/gh_mirrors/nc/ncmToMp3 你是否曾为网易云VIP下载的NCM加密音乐文件而烦恼?它们被…...