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

Chopstick工具:高效管理多Git仓库的批量操作与自动化实践

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目叫chopstick作者是DustinMeyer1010。光看名字你可能会联想到筷子但它的实际功能跟餐具可没半点关系。这是一个专门用于代码仓库Repository克隆、管理和批量操作的命令行工具。如果你日常工作中需要频繁地与多个Git仓库打交道比如管理微服务架构下的几十个服务模块、同步多个团队的代码分支或者只是想找个更高效的方式来备份你star的一堆开源项目那么这个工具很可能就是你一直在找的“那双筷子”——帮你轻松夹起操作分散各处的代码仓库。我自己在带团队做中台项目时就深有体会。一个主项目下面挂靠着十几个独立的服务库每次新拉开发环境、统一升级依赖或者跑批量脚本一个个git clone再加cd进去操作不仅重复劳动还容易出错。chopstick的出现正是为了解决这种多仓库协同操作的痛点。它通过一个简洁的YAML配置文件来定义一组仓库然后提供一套统一的命令来对它们执行克隆、拉取、执行任意Shell命令等操作。你可以把它理解为git命令的“批处理”或“编排”层特别适合项目负责人、DevOps工程师或者任何需要维护代码仓库集合的人。2. 核心设计理念与工作流解析2.1 为何是“筷子”哲学聚合与精确操作chopstick的设计哲学很直观就像用筷子一样核心是两点聚合与精确操作。传统的Git命令行工具是为单个仓库设计的当对象变成多个时我们就需要自己写循环脚本这引入了不必要的复杂性和维护成本。chopstick将“仓库集合”作为一个一等公民来对待。你首先定义一个“菜单”即配置文件里面列出了所有你关心的“菜”仓库。之后你就可以用一双“筷子”chopstick命令来对这些菜进行统一的夹取克隆、搅拌运行命令等操作。这个抽象极大地简化了心智模型。你不再需要思考“如何遍历目录并执行git命令”而是直接声明“我想对所有仓库执行某个操作”。它的工作流通常分为三步定义清单创建一个chopstick.yml文件在其中以结构化的方式列出目标仓库的URL、本地路径、分支等元信息。获取仓库使用chopstick clone命令工具会根据清单自动将所有仓库克隆到配置的本地路径下保持原有的目录结构。批量操作使用chopstick foreach命令可以在所有或部分仓库中执行相同的Shell命令例如git pull、npm install、make build或者运行自定义的检查脚本。2.2 配置文件深度解读从简单清单到复杂策略chopstick.yml文件是整个工具的核心。一个最基础的配置可能长这样repositories: - url: https://github.com/user/project-a.git path: ./projects/project-a - url: gitgithub.com:user/project-b.git path: ./projects/project-b branch: develop这定义了要克隆两个仓库并指定了本地存放路径和其中一个仓库的分支。但它的能力远不止于此。在实际企业级场景中配置可以变得更具策略性。路径变量与组织结构path字段支持变量这对于动态生成路径非常有用。例如你可以使用path: ./services/{{ repo_name }}工具会自动从URL中提取仓库名如project-a并填充到路径中。这能确保本地目录结构与你的设计意图比如按团队、按业务域划分保持一致避免手动管理路径的混乱。分支与标签策略除了指定默认分支你还可以配置更复杂的检出逻辑。例如结合chopstick foreach命令你可以实现“将所有仓库切换到本月发布标签”的操作。这对于需要基于特定版本进行整体构建或部署的场景至关重要。子模块与稀疏检出虽然chopstick本身不直接处理Git子模块Submodule但通过foreach命令你可以在每个仓库中运行git submodule update --init来初始化它们。对于超大型仓库你甚至可以结合Git的稀疏检出Sparse Checkout功能在clone后通过foreach执行相应配置只拉取你需要的部分目录节省时间和磁盘空间。条件化执行这是高级用法。你可以在配置中为仓库添加自定义标签tags或元数据metadata然后在执行foreach命令时通过过滤器filter只对特定标签的仓库进行操作。比如给所有前端仓库打上frontend标签给所有需要Docker构建的打上docker标签之后就可以精确地对“所有带docker标签的后端服务”执行构建命令。注意配置文件的语法校验非常重要。在执行任何批量操作前务必先用chopstick validate如果工具提供或简单的yaml lint检查配置文件格式是否正确。一个错误的缩进可能导致整个清单解析失败。3. 实战部署与核心命令详解3.1 环境准备与工具安装chopstick通常是一个二进制命令行工具安装非常直接。以macOS和Linux为例如果你的系统有Homebrew包管理器安装往往是一行命令的事情。对于其他系统作者一般会在GitHub Releases页面提供编译好的二进制文件下载后放到系统PATH路径下即可。# 假设通过Homebrew安装具体请以项目README为准 brew install dustinmeyer1010/tap/chopstick # 或者下载二进制文件 curl -L -o chopstick.tar.gz https://github.com/DustinMeyer1010/chopstick/releases/download/v0.1.0/chopstick-v0.1.0-x86_64-apple-darwin.tar.gz tar -xzf chopstick.tar.gz sudo mv chopstick /usr/local/bin/安装完成后运行chopstick --help你应该能看到所有可用命令的概览。核心命令通常包括clone、foreach、list、status等。花几分钟时间通读帮助文档理解每个命令的必选和可选参数这能避免后续操作中的很多疑惑。3.2 初始化配置与首次克隆接下来在你的工作区根目录比如~/workspace/my-company创建chopstick.yml文件。建议从一个简单的清单开始只包含2-3个你熟悉的仓库进行首次测试。编写好配置文件后执行克隆命令chopstick clone这个命令会解析chopstick.yml。检查path指定的本地目录是否存在。如果不存在则创建。依次执行git clone url path并检查是否指定了分支branch如果指定了则执行git checkout branch。在控制台输出每个仓库克隆的成功或失败状态。实操心得首次运行时建议加上--dry-run或-n参数如果支持。这个参数会让工具模拟执行过程打印出它将要执行的操作而不实际修改任何文件。这是验证你的配置路径、URL是否正确无误的绝佳方式能防止因配置错误导致代码克隆到错误的位置。3.3 灵魂命令foreach 的灵活运用chopstick foreach是工具的灵魂它赋予了批量操作无限的可能性。其基本语法是chopstick foreach [filter-options] -- command这里的command可以是任何能在你的Shell中执行的命令。场景一统一更新所有仓库chopstick foreach -- git pull这行命令会进入配置文件中列出的每一个仓库的本地目录然后执行git pull。比你手动一个个文件夹操作快了不止一个数量级。场景二批量执行构建脚本假设你所有的服务都是用Go写的并且都支持make build。chopstick foreach -- make build工具会依次在每个仓库中运行构建。如果某个仓库构建失败它会报告错误并继续处理下一个最终给你一个汇总报告。场景三复杂命令与状态检查你可以执行更复杂的复合命令只需用引号包裹。chopstick foreach -- ‘git fetch origin git status --short‘这个命令会先获取远程更新然后输出每个仓库的简短状态哪些文件被修改了。这对于周一早上快速查看周末期间各个仓库是否有变更非常有用。高级过滤如果你只想对部分仓库进行操作可以使用过滤选项。例如假设你的配置里每个仓库有一个type属性repositories: - url: ... path: ... metadata: type: service - url: ... path: ... metadata: type: library你可以只对type为service的仓库执行命令chopstick foreach --filter “metadata.type ‘service’” -- docker build -t latest .重要提示foreach命令的执行环境是每个仓库的根目录。这意味着你使用的相对路径如./config.yaml是基于该仓库目录的。如果你的命令需要引用工作区根目录的某个文件需要使用绝对路径或者通过环境变量传递。4. 在企业级开发流水线中的集成实践4.1 作为CI/CD流水线的预处理环节在持续集成/持续部署CI/CD流水线中chopstick可以扮演一个强大的“仓库准备器”角色。想象一个场景你需要构建一个由数十个微服务组成的应用的整体Docker镜像或者需要运行跨所有服务的集成测试。你可以在CI服务器如Jenkins、GitLab Runner的作业中添加一个前置步骤准备一个包含所有相关服务仓库URL和对应分支可能是触发CI的PR分支或标签的chopstick.yml动态配置文件。运行chopstick clone将特定版本的代码全部拉取到构建代理Agent上。随后在构建步骤中使用chopstick foreach来并行或串行地执行每个服务的构建、测试命令。这样做的好处是环境一致性和可重复性。整个构建过程所基于的代码版本被清晰地定义在一个配置文件中而非隐含在流水线脚本的多个git clone命令中。新成员搭建CI环境或排查构建失败时一目了然。4.2 实现自动化代码质量与安全扫描对于平台或安全团队来说定期对所有业务代码仓库进行统一的代码规范检查如ESLint、Checkstyle、安全漏洞扫描如Semgrep、Trivy或依赖许可证审计是常见需求。你可以创建一个专用的“扫描”配置清单包含所有需要被扫描的仓库。然后编写一个脚本定期执行# 1. 更新代码 chopstick foreach -- git pull origin main # 2. 运行安全扫描工具 chopstick foreach -- semgrep scan --config auto . # 3. 收集结果 chopstick foreach -- cat semgrep-output.json ../results/{{ repo_name }}.json最后再将所有结果文件聚合、分析生成团队级的报告。通过chopstick这个过程可以从一个繁琐的手动任务变成一个完全自动化、可调度的流水线。4.3 多仓库依赖同步与版本管理在Monorepo单体仓库之外多仓库项目最大的挑战之一是依赖同步。比如你的公司内部有一个共享的工具库internal-utils被十几个业务服务引用。当internal-utils发布新版本时如何批量更新所有服务的依赖声明如package.json、go.mod手工操作容易遗漏且易错。结合chopstick和简单的脚本可以半自动化这个过程使用chopstick foreach在所有服务的仓库中执行一个脚本该脚本使用sed或更专业的工具如npm的npm update、yarn upgrade来更新internal-utils的版本号。随后可以再次使用foreach运行各服务的测试套件确保升级没有破坏性。最后生成包含需要提交变更的服务列表甚至可以通过foreach执行git commit和git push需谨慎建议人工审核后执行。这种方法将跨仓库的协同变更从“地狱难度”降到了“可管理”的级别。5. 常见问题、排查技巧与进阶优化5.1 克隆失败与网络问题处理批量克隆时最常遇到的是网络超时或认证失败。chopstick通常会有基本的错误重试机制但你可能需要更细致的控制。SSH认证失败确保你的SSH密钥已添加到ssh-agent并且对应Git托管平台如GitHub、GitLab部署了公钥。对于CI环境可能需要使用部署密钥Deploy Key或访问令牌Access Token配合HTTPS URL。速率限制如果从GitHub克隆大量公开仓库可能触发速率限制。解决方案包括使用GitHub个人访问令牌进行认证即使克隆公开库或者在配置中为GitHub仓库添加--depth1参数进行浅克隆如果工具支持传递额外git参数。代理配置在公司内网可能需要配置Git的HTTP/HTTPS代理。你可以通过环境变量http_proxy,https_proxy全局设置或者确保chopstick在执行git命令时继承了这些环境变量。排查技巧当克隆失败时首先仔细阅读错误信息。然后尝试手动执行chopstick打印出的那条失败的git clone命令这能帮你快速定位是工具配置问题还是底层Git或网络环境问题。5.2 foreach命令执行中的异常处理在foreach执行自定义命令时某个仓库的命令失败不应该导致整个批量操作中止除非你明确要求。大多数工具会默认继续执行后续仓库并在最后汇总错误。命令退出码你需要关注你执行的命令的退出码Exit Code。chopstick可能会根据这个退出码来判断该仓库的操作是否成功。确保你的脚本在成功时返回0失败时返回非零值。资源竞争与副作用如果foreach执行的是修改系统状态或占用端口的命令例如启动一个临时服务器需要注意资源竞争。避免在多个仓库中同时启动监听相同端口的服务。可以考虑在命令中使用随机端口或动态分配端口。输出混乱多个进程同时输出到控制台会导致日志交错难以阅读。一些高级的chopstick实现可能支持--parallel并行和--serial串行模式。对于调试始终先用串行模式。对于生产性任务并行模式可以大幅提升速度。你也可以将每个仓库的输出重定向到独立的日志文件chopstick foreach -- “your-command ../logs/{{ repo_name }}.log 21”5.3 性能优化与大规模仓库管理当管理的仓库数量成百上千时性能和维护性成为关键。增量操作与缓存不是每次都需要克隆所有仓库。chopstick的clone命令应该是幂等的即对已经克隆的仓库再次执行时应该跳过或安全地处理。foreach命令也应能智能地跳过那些本地目录不存在的仓库通过--skip-missing之类的标志。配置分片不要把所有仓库塞进一个巨大的chopstick.yml文件。可以根据团队、项目或类型拆分成多个配置文件如backend.yml、frontend.yml、team-alpha.yml。然后通过脚本依次调用chopstick -c backend.yml foreach ...。这提高了可维护性和执行灵活性。与仓库管理平台集成对于极大规模的场景手动维护YAML清单不再现实。可以考虑编写一个脚本从你的Git托管平台如GitHub Organization, GitLab Group的API动态获取仓库列表并生成chopstick.yml文件。这样清单总能与组织内的实际仓库保持同步。5.4 安全最佳实践配置文件保密chopstick.yml可能包含内部Git仓库的SSH URL或含有令牌的HTTPS URL。切勿将此文件提交到公开的版本库。应该将其添加到.gitignore中。在团队共享时可以提交一个模板文件如chopstick.yml.template里面用占位符代替真实URL由每个成员在本地填充。最小权限原则在CI/CD环境中使用的访问令牌或部署密钥应只授予其所需的最小仓库读取/拉取权限避免使用拥有广泛写入权限的账户令牌。命令注入风险虽然较少见但要注意避免将从不可信源获取的参数直接拼接到foreach的命令中以防命令注入。尽量在命令中使用静态脚本或经过严格校验的参数。chopstick这类工具的价值在于它将我们从重复、琐碎的仓库管理操作中解放出来让我们能更专注于代码和业务逻辑本身。它可能不是每天都会用到的工具但在需要它的那些场景下新电脑环境搭建、大规模重构前同步代码、定期合规扫描它能节省你数小时甚至数天的时间。开始用一个简单的清单管理你的几个核心项目慢慢你会发现这双“筷子”用起来越来越顺手最终成为你开发工具链中不可或缺的一员。

相关文章:

Chopstick工具:高效管理多Git仓库的批量操作与自动化实践

1. 项目概述与核心价值 最近在GitHub上看到一个挺有意思的项目,叫 chopstick ,作者是DustinMeyer1010。光看名字你可能会联想到筷子,但它的实际功能跟餐具可没半点关系。这是一个专门用于 代码仓库(Repository)克隆…...

RoboMaster视觉入门:用OpenCV3.4.5从摄像头图像里找出装甲板(附完整C++代码)

RoboMaster视觉实战:从零构建装甲板识别系统(C/OpenCV3.4.5全解析) 在RoboMaster机甲大师赛中,视觉识别系统如同战车的"眼睛",而装甲板识别则是核心中的核心。本文将带你从零开始,用OpenCV3.4.5…...

3个秘籍解锁百度网盘提取码:告别繁琐搜索的智能解决方案

3个秘籍解锁百度网盘提取码:告别繁琐搜索的智能解决方案 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾在深夜急需下载学习资料,却被一个简单的提取码困住?或者在工作汇报前&#…...

3个技巧彻底改变你的泰坦之旅装备管理体验

3个技巧彻底改变你的泰坦之旅装备管理体验 【免费下载链接】TQVaultAE Extra bank space for Titan Quest Anniversary Edition 项目地址: https://gitcode.com/gh_mirrors/tq/TQVaultAE 你是否曾在泰坦之旅的冒险中,面对满仓库的传奇装备却找不到需要的那一…...

光子计算如何突破LLM推理中的KV缓存瓶颈

1. 光子计算在KV缓存管理中的突破性应用在当今大语言模型(LLM)推理领域,一个令人惊讶的事实正在发生:计算能力已不再是主要瓶颈。随着上下文窗口从最初的几千token扩展到如今的百万级(如Qwen2.5)&#xff0…...

ubuntu 快捷键和常用命令

在使用 ubuntu 作为主机后,对于一些常见的操作,需要更加快捷的方式执行,这也是我选择 ubuntu 的主要原因。这篇文章手机 ubuntu 的快捷键和一些常用的命令。 快捷键 f2是重命名 linux控制台快捷键 ctrl a e CtrlShiftn 新终端 ShiftCt…...

WinForm + Modbus 上位机温湿度数据采集系统

前言工业自动化和环境监控领域,实时掌握现场的温湿度数据至关重要。传统的监控方式往往依赖人工记录或简单的报警装置,缺乏直观性和连续性。本文推荐一个基于WinForm开发的上位机温湿度采集系统,通过Modbus通信协议与下位机进行数据交互&…...

3分钟极速指南:网易云音乐无损FLAC批量下载神器

3分钟极速指南:网易云音乐无损FLAC批量下载神器 【免费下载链接】NeteaseCloudMusicFlac 根据网易云音乐的歌单, 下载flac无损音乐到本地.。 项目地址: https://gitcode.com/gh_mirrors/nete/NeteaseCloudMusicFlac 还在为寻找高品质音乐资源而烦恼吗&#x…...

AI代理协作平台Run402:基于看板与微支付的自动化任务管理

1. 项目概述:一个面向AI代理的协作与支付平台最近在开源社区里,我注意到一个挺有意思的项目,叫musfoner/run402。乍一看,它的描述非常简洁,甚至可以说有些“神秘”,只有“yonathan estudio”几个字。但结合…...

Sonixd多语言支持详解:国际化(i18n)实现原理和本地化最佳实践

Sonixd多语言支持详解:国际化(i18n)实现原理和本地化最佳实践 【免费下载链接】sonixd A full-featured Subsonic/Jellyfin compatible desktop music player 项目地址: https://gitcode.com/gh_mirrors/so/sonixd Sonixd是一款功能强大的桌面音乐播放器&…...

终极ncmdump指南:如何快速破解网易云音乐NCM加密格式限制

终极ncmdump指南:如何快速破解网易云音乐NCM加密格式限制 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾为网易云音乐下载的NCM格式文件无法在其他播放器中播放而烦恼?ncmdump作为一款开源解密工具&…...

Notflix高级技巧:5种高效搜索和流媒体传输方法

Notflix高级技巧:5种高效搜索和流媒体传输方法 【免费下载链接】notflix Notflix is a shell script to search and stream torrent. 项目地址: https://gitcode.com/gh_mirrors/no/notflix Notflix是一款强大的shell脚本工具,能够帮助用户快速搜…...

声明式HTTP客户端框架ionclaw:简化API调用与提升微服务健壮性

1. 项目概述与核心价值最近在开源社区里,一个名为ionclaw-org/ionclaw的项目引起了我的注意。乍一看这个名字,可能会觉得有些陌生,甚至有点“硬核”。但当你深入进去,会发现它瞄准的是一个非常具体且高频的开发痛点:如…...

ATF IronPython集成:如何在C应用中嵌入Python脚本引擎的完整指南

ATF IronPython集成:如何在C#应用中嵌入Python脚本引擎的完整指南 【免费下载链接】ATF Authoring Tools Framework (ATF) is a set of C#/.NET components for making tools on Windows. ATF has been in continuous development in Sony Computer Entertainments …...

基于MCP协议构建本地AI多代理协作平台:Roundtable AI实战指南

1. 项目概述:告别单打独斗,开启AI圆桌会议如果你和我一样,每天在IDE里写代码、调试、优化,那你肯定也经历过这种场景:遇到一个复杂的性能问题,你打开Claude的聊天窗口,把前端错误日志贴进去&…...

CANN/asc-devkit int8转int16 API

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

AI代码生成质量评估2026:如何科学衡量Copilot类工具的真实价值

你的团队用了AI编码助手,但你真的知道它带来了多少价值吗?本文提供一套可落地的AI代码生成质量评估框架,从代码正确性到开发者体验,帮你用数据说话。一、为什么需要系统化评估"用了Copilot感觉快了不少"——这是最常见的…...

ChatterUI本地模式深度解析:在移动设备上运行LLM的完整指南

ChatterUI本地模式深度解析:在移动设备上运行LLM的完整指南 【免费下载链接】ChatterUI Simple frontend for LLMs built in react-native. 项目地址: https://gitcode.com/gh_mirrors/ch/ChatterUI ChatterUI是一款基于React Native构建的轻量级LLM前端应用…...

CANN/Ascend C逻辑异或API文档

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

LDO噪声特性分析与测量优化指南

1. LDO噪声特性与测量基础低噪声线性稳压器(LDO)作为电源管理系统的核心器件,其噪声特性直接影响着精密模拟电路、射频系统和传感器等关键模块的性能表现。与开关电源不同,LDO通过线性调节方式工作,避免了高频开关噪声…...

AI原生运维体系必须跨越的3道生死线:数据治理、模型可观测性、人机协同SLA(SITS 2026闭门研讨纪要)

更多请点击: https://intelliparadigm.com 第一章:AI原生运维体系构建:SITS 2026智能运维专场精华 AI原生运维(AIOps Native)已从概念验证迈入生产就绪阶段。SITS 2026智能运维专场首次提出“感知-推理-执行-进化”四…...

Egg + React + SSR 实战教程:如何快速集成Antd、Dva、Mobx等流行库 [特殊字符]

Egg React SSR 实战教程:如何快速集成Antd、Dva、Mobx等流行库 🚀 【免费下载链接】egg-react-ssr 最小而美的Egg React SSR 服务端渲染应用骨架,同时支持JS和TS 项目地址: https://gitcode.com/gh_mirrors/eg/egg-react-ssr 欢迎…...

高级渗透测试:KitHack多平台后门生成与持久化技术

高级渗透测试:KitHack多平台后门生成与持久化技术 【免费下载链接】KitHack Hacking tools pack & backdoors generator. 项目地址: https://gitcode.com/gh_mirrors/ki/KitHack KitHack是一款功能强大的渗透测试工具包,专为安全研究人员和渗…...

为什么选择update-golang:5大优势对比传统安装方式

为什么选择update-golang:5大优势对比传统安装方式 【免费下载链接】update-golang update-golang is a script to easily fetch and install new Golang releases with minimum system intrusion 项目地址: https://gitcode.com/gh_mirrors/up/update-golang …...

5G上行免调度传输:开启无线通信新篇章

5G上行免调度传输:开启无线通信新篇章 在无线通信技术不断演进的浪潮中,5G以其高速率、低时延和大连接等特性,成为推动社会数字化转型的关键力量。其中,上行免调度传输作为5G技术体系中的一个重要环节,正逐步展现出其独…...

CANN/ops-nn二元交叉熵损失算子

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

如何3步完成视频字幕提取:本地OCR工具的终极指南

如何3步完成视频字幕提取:本地OCR工具的终极指南 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内容提取…...

Buzz 与 PSR 标准:如何实现完美兼容的 HTTP 客户端

Buzz 与 PSR 标准:如何实现完美兼容的 HTTP 客户端 【免费下载链接】Buzz PHPs lightweight HTTP client 项目地址: https://gitcode.com/gh_mirrors/buzz/Buzz Buzz 作为 PHP 的轻量级 HTTP 客户端,通过巧妙设计实现了与 PSR 标准的深度兼容&…...

如何高效配置开源工具:华硕笔记本性能管理的完整解决方案

如何高效配置开源工具:华硕笔记本性能管理的完整解决方案 【免费下载链接】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,…...

CANN/asc-devkit asc_le函数文档

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