DOCA SHA 加速开发技能
指导在 NVIDIA 加速器上进行 SHA 哈希卸载开发。
文档明确限定 DOCA SHA 范围,要求最小 mmap 权限、用户确认算法与缓冲区、已知向量校验,并将安装、驱动和大规模部署路由到其他技能;未见凭据窃取、隐蔽外传或破坏性默认行为。扣分在于执行命令和硬件相关操作的授权边界、回滚细节、敏感输入数据流处理及依赖安全说明仍不完整,且许可证元数据为 NOASSERTION 与文件内声明不一致。
SKILL.md、CAPABILITIES.md 和 TASKS.md 具有较完整的生命周期、能力查询、错误分类、测试和调试路径,且强调失败后先诊断再重试。静态材料未证明关键路径可运行;部分内容依赖未提供的共享技能和本地 DOCA 安装,且存在 benchmark 路径、许可证和版本字段不一致。按静态上限保守扣分,未超过10分。
触发条件、典型问题、受众、非适用范围及一-shot/partial-hash 边界描述清楚,也覆盖 C/C++ 与 FFI。扣分在于全文主要为英文,没有中文交互或术语适配说明;核心能力要求 BlueField/ConnectX、本地 Linux、DOCA SDK 和本地安装,实际环境覆盖证据有限。
采用 loader 加 companion files 的分层结构,包含示例问题、依赖、限制、相关技能、版本路由、维护入口和 benchmark。扣分在于缺少稳定的发布版本与变更记录,SKILLCARD 中 version、signature、签署时间和扫描 ID 仍为 TBD;源路径、仓库归属及许可证声明互有不一致,且 benchmark 报告指出缺少推荐的 Instructions/Examples 章节。
内容直接覆盖能力发现、任务选择、权限、错误解释、构建、测试和调试,能完成核心咨询与流程指导;benchmark 文件报告了正向评估结果。扣分在于技能明确不提供可直接构建的代码,关键答案依赖本地安装和其他技能,评估数据集不可用,静态审查无法确认输出在真实硬件上无需大量返工。按静态上限取7分。
文档提供了 API、命令、错误码、测试向量和交叉引用,BENCHMARK.md 还记录了评估指标与结果。扣分在于评估数据集和完整复现材料未随证据提供,未见由本技能自身提交的测试套件或 CI 覆盖关键硬件路径;因此只能给有限的静态可审计性,未超过5分。
- 许可证与来源信息不一致:输入的许可证元数据为 NOASSERTION,而 SKILL.md、SKILLCARD.yaml、skill-card.md 和仓库说明给出不同组合;发布前应统一并核验。
- 不要把 BENCHMARK.md 的 PASS 或评估百分比当作本次独立验证;报告明确指出原始评估数据集不可用。
- 运行建议涉及本地硬件、DOCA 安装、日志和用户输入;使用前应确认权限、避免把敏感数据写入日志,并在真实设备上验证能力查询、错误码和已知向量。
- 全文未提供中文触发或输出规范,面向中文用户时可能出现语义触发和解释质量下降。
这个 Skill 能做什么,适合哪些场景?
该技能面向使用 DOCA SHA 库的外部开发者,将 SHA-1、SHA-256 和 SHA-512 哈希卸载到 BlueField DPU 或 ConnectX 加速器。它覆盖一次性哈希与分块增量哈希的选择、设备能力查询、缓冲区大小、内存映射权限和 DOCA_ERROR_* 调试。技能要求 DOCA SDK 已安装,并通过 pkg-config 和本地 DOCA 目录发现环境。它不负责 DOCA 安装,也不适用于通用哈希理论或其他 DOCA 加密库。
读取本地 DOCA 安装中的库、头文件、示例和应用目录;使用 pkg-config doca-sha 检查安装;指导调用 doca_sha_task_hash 或 doca_sha_task_partial_hash;查询算法支持、最小目标缓冲区和最大源缓冲区;检查 doca_mmap 权限;解释 SHA API 返回的 DOCA_ERROR_*;指导 configure、build、modify、run、test 和 debug 工作流,并观察进度引擎中的任务完成事件。
- 使用 C/C++ 或 FFI 为 BlueField DPU 编写 SHA-256 文件完整性校验程序的开发者。
- 输入超过设备最大源缓冲区、需要分块处理多 GiB 数据的开发者。
- 需要确认设备是否支持 SHA-512 及目标摘要缓冲区大小的开发者。
- 遇到 DOCA_ERROR_NOT_PERMITTED、INVALID_VALUE 或 partial hash 状态错误的开发者。
- 为 Rust、Go 或 Python 封装 DOCA SHA C ABI、需要保持生命周期和权限规则一致的开发者。
这个 Skill 有哪些优点和局限?
- 覆盖从能力发现到调试的完整 SHA 加速开发边界。
- 明确区分一次性和增量哈希,并包含设备算法与缓冲区能力查询。
- 支持 C/C++ 以及通过 FFI 使用公共 C ABI 的其他语言。
- 明确排除安装、通用密码学理论和其他 DOCA 库,便于路由问题。
- 必须已有 DOCA SDK、Linux 环境以及 BlueField DPU 或 ConnectX NIC。
- 技能本身不提供预写应用代码、绑定、构建清单、示例或参考目录。
- 不涵盖 DOCA 安装与 BFB bring-up,也不替代通用 DOCA 文档或调试技能。
- 源材料未提供具体硬件型号覆盖范围或独立测试结果。
如何安装这个 Skill?
使用默认 skills CLI 安装指定技能:
npx skills add nvidia/skills --skill doca-sha --yes
README 未提供将该技能安装到特定客户端时的 doca-sha 示例;可按 CLI 的 --agent 机制指定客户端。技能运行前还要求 Linux 上已安装 DOCA SDK 至 /opt/mellanox/doca,并连接 BlueField DPU 或 ConnectX NIC。
如何使用这个 Skill?
在已满足 DOCA 安装条件的环境中,向代理提出具体的 DOCA SHA 编程任务,例如:“在 BlueField 上对 1 GiB 输入执行分块 SHA-256,并判断应使用 partial hash 还是 one-shot。”先阅读 SKILL.md;能力、算法枚举、权限和错误分类见 CAPABILITIES.md,configure、build、modify、run、test、debug 流程见 TASKS.md。若尚未安装 DOCA,应转到 doca-setup。
这个 Skill 与同类方案有什么区别?
适合在需要硬件卸载、设备能力查询或分块处理时,与 CPU 上使用 OpenSSL 等哈希实现进行取舍;也可根据任务类型转向其他 DOCA 加密库,但本技能不覆盖 AES-GCM、Compress 或 DMA。