Files
calculet-npu-research-archive/reports/Calculet-NPU-接口测试报告-20260801.md

3.4 KiB
Raw Permalink Blame History

Calculet NPU 接口测试报告

测试日期:2026-08-01
测试方式:OpenVPN + SSH,容器内 CalRT C++ API 与 llama.cpp 服务实测

环境

  • 远端系统:Ubuntu 24.04Linux 7.0.0-28-genericx86_64
  • CPU32 逻辑核
  • 内存:约 96 GB
  • PCIe 设备:20f5:c001
  • 内核驱动:calculet_pci
  • 设备节点:/dev/calculet0
  • Runtimelibcalrt-linux-x86_64.so.0.7.6
  • 模型镜像:calculet-llama:v0.4.8-release
  • 模型:Qwen3-30B-A3B,双芯片,40960 context

CalRT C++ API 结果

测试项 接口/行为 结果
设备刷新 CalrtDevice::RefreshDevice() 通过
创建设备 CreatePCIeDevice() 通过
Runtime 状态 Status() CalrtSuccess (0)
设备名称 Name() calculet0
设备信息 GetDevInfo() PCIe、DRAM 32768 MB、SRAM 18 MB、1000 MHz
工作状态 GetDeviceRunningStatus() TAKEN (2)
内存用量 GetMemoryUsage() 已用 1024 MiB;总量返回异常,见问题 1
固件信息 GetFirmwareInfo() 通过,返回 0
设备内存分配 CreateBuf(4096, 12) 通过
Host 到 Device WriteToDevice() 通过,返回 0
Device 到 Host ReadFromDevice() 通过,返回 0
数据一致性 4096 字节逐字节比较 通过
设备内存释放 FreeBuf() 已执行

模型服务结果

  • CalcoreRT 初始化成功。
  • CalRT 初始化成功。
  • 双芯片模型配置成功。
  • /healthHTTP 200,约 0.10 秒。
  • /v1/modelsHTTP 200,模型可见。
  • /v1/chat/completions 非流式:HTTP 200,回答正确。
  • /v1/chat/completions 流式:SSE 分片正常返回。
  • 27 token 首次 prefill184.27 token/s。
  • 246 token 生成:58.25 token/s。
  • 正确内容请求端到端耗时:4.41 秒。

发现的问题

  1. GetMemoryUsage() 返回的总 DRAM 值约为 3.05176e-05 MiB,与 GetDevInfo() 的 32768 MB 明显矛盾。疑似 CalRT 0.7.6 的单位换算、返回类型或 ABI 问题。
  2. chat_template_kwargs.enable_thinking=false 未生效。Qwen3 仍返回 reasoning_content,短 max_tokens 请求可能耗尽预算并导致 content 为空。
  3. user2 的 rootless Podman pause process 会随短 SSH 会话退出而失效,出现 invalid internal status 和残留锁错误。单一持续 SSH 会话或一次性 podman run --rm 可规避;建议配置 user lingering 或修复 Podman 会话生命周期。
  4. 文档称 user2 无 sudo 权限,但该账号实际属于 sudo 组。建议对方核对最小权限配置。

未执行接口

以下接口可能改变共享设备状态、清除配置或直接操作寄存器,本轮未执行:

  • 设备复位、CCU 复位
  • 清除设备配置或全部设备内存
  • 设置电源模式
  • 寄存器写入及未提供安全地址范围的寄存器读取
  • 注册固定 DRAM/SRAM/同步单元地址
  • 使用非本测试模型执行完整 calbin configure/infer 流程

首轮接口测试收尾与当前状态

  • 首轮模型服务已停止,8031 端口已关闭;一次性测试容器已退出并删除。
  • 随后为执行全量资料归档,测试方重新连接了 VPN,并保留本地认证配置用于断点续传。
  • 远端当前保留 /home/user2/calculet-analysis-export 归档目录及三个顶层分析文件;没有测试二进制或 NPU 占用进程。
  • 详细远端影响和后续清理范围见 Calculet-NPU-远端环境变更与交接说明-20260801.md