| name | external-gitcode-ascend-atb-testframework-build |
| description | 编译 ATB (Ascend Transformer Boost) 测试框架。当用户需要编译 ATB 测试框架、 运行 CSV 测试、或构建 atb_test_framework 时调用。支持全量编译(含第三方依赖克隆与源替换) 和增量编译两种模式。需在 Docker 容器内配合 CANN 环境执行。
|
| keywords | ["atb","ascend-transformer-boost","testframework","build","compile","csv-test","昇腾"] |
| metadata | {"author":"ascend-transformer-boost-team + Claude Code + opus4.7","version":"1.1.0","created":"2026-04-17","updated":"2026-04-28","skill-type":"build"} |
| hooks | {"PreToolUse":[{"matcher":"Write|Edit|Bash","hooks":"[Truncated]"}],"PostToolUse":[{"matcher":"Write|Edit","hooks":"[Truncated]"}]} |
| original-name | atb-testframework-build |
| synced-from | https://gitcode.com/Ascend/agent-skills |
| synced-date | 2026-05-26 |
| synced-commit | 1f7666e7768a0ceb21bb1d40ce4b5179fcb6f1d6 |
| license | UNKNOWN |
ATB 测试框架编译
功能概述
此技能提供 ATB (Ascend Transformer Boost) 测试框架的编译指导,包括全量编译(含第三方依赖克隆与源替换)和增量编译两种模式。
调用时机
在以下情况下调用此技能:
- 用户需要编译 ATB 测试框架
- 用户需要运行 CSV 测试但测试框架未编译
- 用户需要从零开始构建 ATB 项目
- 用户遇到第三方依赖克隆失败的问题
前置条件
- Docker 容器已启动
- CANN 环境已安装
- ATB 源码仓库已克隆
关键路径变量
在执行编译前,需确认以下路径变量(从用户处获取):
| 变量 | 说明 | 示例 |
|---|
<CANN_PATH> | CANN 安装根目录,包含 set_env.sh | /path/to/cann |
<ATB_REPO_PATH> | ATB 源码仓库根目录 | /path/to/ascend-transformer-boost |
<DOCKER_NAME> | Docker 容器名称 | <YOUR_DOCKER_NAME> |
编译模式选择
增量编译
当 3rdparty/ 目录已存在且第三方依赖完整时,直接执行增量编译:
docker exec <DOCKER_NAME> bash -c "
source <CANN_PATH>/set_env.sh && \
cd <ATB_REPO_PATH> && \
bash scripts/build.sh testframework
"
适用场景:第三方依赖已就绪,仅需重新编译 ATB 源码。
全量编译
当 3rdparty/ 目录为空或不存在时,需要全量编译,包括第三方依赖的克隆。由于 Docker 容器内可能无法访问 GitHub,需要先进行源替换。
GitHub→gitcode 源替换(点击展开)
第1步:替换 GitHub 源为 gitcode 镜像
ATB 的 scripts/build.sh 中包含多个 GitHub 依赖,在国内网络环境下需要替换为 gitcode.com 镜像。
需要替换的源映射表:
| 原始 GitHub URL | gitcode 替换 URL | build.sh 中的函数 |
|---|
https://github.com/nlohmann/json.git | https://gitcode.com/nlohmann/json.git | fn_build_nlohmann_json |
https://github.com/google/googletest.git | https://gitcode.com/google/googletest.git | fn_build_googletest |
https://github.com/coolxv/cpp-stub.git |