news 2026/5/9 19:17:50

CANN/HCCL pre-commit使用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/HCCL pre-commit使用指南

pre-commit 工具使用指导

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

概述

pre-commit 是一个 Git Hooks 框架,用于在git commit时自动运行代码检查和格式化工具。本项目已配置以下检查:

Hook功能说明
clang-formatC/C++ 代码格式化自动格式化代码,保持风格一致
OAT Check开源合规检查检测许可证头、禁止二进制文件提交

环境要求

  • Git: 2.0+
  • Python: 3.8+
  • clang-format: 14.0+ (代码格式化工具)
  • Java: 17+ (OAT 工具依赖,可自动安装)
  • Maven: 3.6+ (OAT 工具依赖,可自动安装)

安装步骤

1. 安装 pre-commit

# 方式一: 使用 pip pip install pre-commit # 方式二: 使用系统包管理器 (Ubuntu/Debian) sudo apt install pre-commit

2. 安装依赖工具

# Ubuntu/Debian sudo apt install clang-format openjdk-17-jre maven # macOS brew install clang-format openjdk@17 maven

3. 项目路径下安装 Git Hooks

# 进入代码仓根目录 cd /path/to/hccl pre-commit install

安装成功后会显示:

pre-commit installed at .git/hooks/pre-commit

使用方法

自动检查(推荐)

每次执行git commit时,pre-commit 会自动运行检查:

git add . git commit -m "your commit message"

输出示例:

clang-format.............................................................Passed OAT Compliance Check.....................................................Passed

手动运行检查

# 运行所有检查 pre-commit run # 运行特定类型检查 pre-commit run clang-format pre-commit run oat-check # 检查所有文件(不限于暂存区) pre-commit run --all-files

跳过检查(紧急情况)

git commit --no-verify -m "emergency fix"

注意: 仅在紧急情况下使用,正常开发流程应保证检查通过。

检查项说明

1. clang-format

自动格式化 C/C++ 代码,遵循项目根目录下 .clang-format 配置:

2. OAT Compliance Check

OAT (Open Source Audit Tool) 检查开源合规性:

检查项说明
许可证头检查确保源文件包含 CANN License 头
二进制文件检查禁止提交二进制文件
归档文件检查禁止提交 zip/tar 等归档文件

OAT 检查脚本,首次运行时会自动:

  1. 检测/安装 Java 17
  2. 检测/安装 Maven
  3. 克隆并编译 tools_oat 工具(约 1-2 分钟)

常见问题

Q1: 首次提交时 OAT 检查很慢

原因: 首次运行需要克隆并编译 OAT 工具。

解决: 这是正常现象,后续提交会使用缓存的 JAR,速度会很快。

相关文档

  • pre-commit 官方文档
  • clang-format 配置
  • OAT 工具
  • 代码仓集成 pre-commit 指导

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

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

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

iSCSI实战:从一块闲置硬盘到KVM虚拟机的远程存储盘(全程命令记录)

iSCSI实战:将闲置硬盘改造为KVM虚拟机的远程存储盘 在虚拟化环境中,存储性能往往是制约整体效率的关键因素。当宿主机本地磁盘IO压力过大时,将虚拟机磁盘文件迁移到专用存储设备上是个明智的选择。本文将手把手带您完成一个完整的iSCSI存储迁…

作者头像 李华
网站建设 2026/5/9 19:07:41

初创团队如何利用Taotoken低成本试用多种大模型

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初创团队如何利用Taotoken低成本试用多种大模型 对于初创团队而言,在有限的预算内快速验证不同大语言模型的能力&#…

作者头像 李华
网站建设 2026/5/9 19:02:33

2026年照片换背景底色在线制作免费工具大测评,我找到了最好用的方案

最近有个朋友要给淘宝店铺换商品图背景,另一个朋友需要准备证件照,还有人在处理婚礼合影想要统一背景……我才意识到,照片换背景底色在线制作免费这个需求,真的是太常见了。以前我对这类需求也头疼,总觉得没有专业软件…

作者头像 李华
网站建设 2026/5/9 19:00:34

CANN元数据融合解析函数

FusionParseParamsFn(Overload) 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef 函数功能 注册解析融合算子属性的函数,为FusionParseParamsFn的重载函数。 函数原型 [OpRegistr…

作者头像 李华