Files
calculet-npu-research-archive/reports/Calculet-NPU-远端环境变更与交接说明-20260801.md
T

106 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Calculet NPU 远端环境变更与交接说明
审计时间:2026-08-02 00:35Asia/Shanghai
状态:本文件是清理前快照。远端已于 2026-08-02 00:54 恢复并通过独立验收,实际结果见 `Calculet-NPU-远端与本机清理完成记录-20260802.md`
## 结论
本次测试没有安装远端系统包,没有修改驱动、内核模块参数、systemd 服务、定时任务、容器镜像或源码仓库,也没有遗留占用 NPU 的进程。当前对后续同事有实际影响的内容有两类:
1. `/home/user2/calculet-analysis-export` 中保留了 `96,590,271,861` 字节的归档、校验分片和环境清单。
2. 第 1-8 步已经全部下载并完成本地校验,包括完整 OCI、完整 `/home/user2` 和完整模型参数;远端当前没有 rsync sender,不再占用网络和磁盘读取带宽。
## 远端持久新增内容
### 1. 全量分析暂存目录
- 路径:`/home/user2/calculet-analysis-export`
- 当前大小:`96,590,271,861` 字节,约 90 GiB
- 当前文件数:4,883
- 所有者:`user2:user2`
- 目录权限:`775`
- 多数归档和分片权限:`664`
该目录包含:
- SDK、驱动、PCIe、系统软件包和容器环境清单。
- `llama.cpp` 完整仓库、Git 历史、构建目录、对象文件和测试资料。
- 容器内完整 `/home` 归档。
- `calculet-llama:v0.4.8-release` OCI 镜像导出。
- `/data/models` 原始 tar、Zstandard 压缩包及两套校验分片。
- 实时 `/home/user2` 归档及校验分片。
- SHA-256 清单、文件清单和导出状态文件。
- 本次使用的三个归档脚本。
- 本次追加的优先归档脚本 `create-priority-bundles-remote.sh`
- 关键上下文与无权重模型运行时两个优先归档、分片、整包/逐文件 SHA-256 清单及状态文件。
之所以占用约 90 GiB,是因为完整归档与 8 MiB 校验分片同时保留,模型还同时保留了原始 tar、压缩包以及各自分片。这是为断点下载和完整性验证而有意保留的冗余。
### 2. `/home/user2` 顶层文件
以下文件是本次分析留下的:
| 文件 | 大小 | 用途 |
| --- | ---: | --- |
| `/home/user2/llama.cpp-src-fd9bd632.tar.gz` | 28,863,748 B | 早期源码抽取包 |
| `/home/user2/calrt-focused-src-fd9bd632.tar.gz` | 3,782,697 B | CalRT 重点源码抽取包 |
| `/home/user2/calbin_inspect.cpp` | 1,040 B | calbin 元数据只读检查源码 |
未发现对应的测试二进制,也未发现 `calrt_smoke` 源码或二进制残留。
### 3. Shell 历史
一次交互式 SSH 环境盘点在 `/home/user2/.bash_history` 中留下了第 53-69 行。内容为 `id``df``find``dpkg-query``podman images``podman ps` 等只读查询,没有写系统配置或启动模型服务。
第 8 步完成后的复核结果:仍为 69 行,第 53-69 行 SHA-256 仍为 `a5cc09c89ea56d8c79a1be6da9f402d13d9d74ecace8f25918f19601cac4eb36`;第 70 行以后为 0 行,权限 `600`、属主 `user2:user2`、mtime `2026-08-01 16:26:26 +0800` 均未变化。后续恢复时只能在指纹仍匹配的前提下删除这 17 行。
## 当前临时运行影响
- 第 1-8 步传输和校验均已结束,审计时远端 rsync sender 为 0。
- 本地旧任务和最终监督任务均已结束,没有后台下载或 finalizer 会自行恢复。
- 远端没有 `tar``zstd``split``sha256sum` 等归档进程。
- 没有 `llama-server``calrt_smoke``calbin_inspect` 进程。
- 8031 端口未监听。
- `/dev/calculet0` 当前没有进程占用。
当前没有本次优先任务的网络或磁盘读取影响;后续若恢复其他归档下载,应在严格网络或磁盘性能测试前协调暂停 rsync。
## 本次发生过但已结束的临时操作
- 使用 CalRT 查询设备状态、固件和内存信息。
- 分配 4 KiB NPU buffer,完成 Host 到 Device 写入、Device 到 Host 读回和逐字节校验,随后调用 `FreeBuf()`
- 临时启动 Qwen3-30B-A3B 模型服务,测试健康检查、模型列表、非流式和流式推理;服务随后停止,8031 端口已关闭。
- 使用 `podman run --rm` 临时读取镜像内源码和 `/home`,临时容器已经自动删除。
- 执行 tar、zstd、split 和 SHA-256 生成归档;相关进程均已结束。
未执行设备复位、CCU 复位、寄存器写入、清除设备配置、清空设备内存、修改电源模式或驱动参数。
## 已确认没有修改的部分
- 未执行 `apt``pip``yum` 或其他远端安装;`/var/lib/dpkg/status` 最后修改时间仍为 2026-07-31。
- 未写入 `/etc`、systemd 服务或用户 crontab。
- Calculet 驱动参数仍为:`poll_mode=0``dma_timeout_ms=30000``strict_validation=Y``calculet_log_level=6``max_boards=16`
- 宿主机 `/home/user2` 下没有 Git 仓库;镜像内源码只通过一次性容器读取,没有修改镜像层。
- 现有命名容器 `calculet-llama-v0.4.8_Qwen` 创建于 2026-07-31,仍保持原来的 `created` 状态,不是本次创建或启动的。
- `calculet-llama:v0.4.8-release` 镜像创建于 2026-06-01,本次只读取和导出,没有修改。
- OpenVPN 安装和配置只存在于测试方 Mac,本次没有在样机安装 VPN 软件或改变样机网络配置。
## 空间与权限风险
- 根文件系统总计 915 GiB,当前使用 230 GiB,可用 639 GiB;本次暂存目录占约 90 GiB。
- 实时 `/home/user2` 归档可能包含 Shell 历史、SSH 配置和 rootless Podman 数据。
- 暂存目录为 `775`、多数文件为 `664`,同机其他本地账号可能读取这些归档。当前为保证断点下载未改权限,建议由环境所有者决定是否立即收紧。
## 下载完成后的清理范围
在本地完成整包 SHA-256 和逐文件校验前,不应删除远端资料。确认验收完成后,可以由环境所有者统一处理:
1. 删除 `/home/user2/calculet-analysis-export`,可回收约 90 GiB。
2. 删除 `/home/user2/llama.cpp-src-fd9bd632.tar.gz`
3. 删除 `/home/user2/calrt-focused-src-fd9bd632.tar.gz`
4. 删除 `/home/user2/calbin_inspect.cpp`
5. 如有审计要求,可保留或人工处理 `.bash_history` 中第 53-69 行;不建议脚本化重写整个历史文件。
本说明仅记录范围,当前没有执行上述清理。全部数据已经取回并完成校验;进入删除远端资料和改写 shell 历史前,仍需项目负责人明确授权并确认本地备份策略。