DOCA压缩加速(DOCACompress)Skill doca-compress

该技能面向在 BlueField DPU / ConnectX / 宿主机 DOCA 环境下使用 doca-compress 库进行硬件压缩/解压缩的开发者,覆盖 DEFLATE 压缩/解压缩、LZ4 流/块解压任务的能力查询、配置、构建、运行、测试与调试,提供任务类型支持判断、最大缓冲区尺寸查询、mmap 权限设置、卸载与 CPU zlib/zstd 路径选择、DOCA_ERROR_* 错误排查等指导。关键词:DOCA Compress、BlueField、DPU、ConnectX、DEFLATE、LZ4、解压缩、硬件加速、DOCA SDK、doca_compress、RDMA/DMA、卸载决策。

压缩/纠删码 0 次安装 0 次浏览 更新于 9/6/2026
开源协议 Apache-2.0
名称 doca-compress
描述 > 用于在 BlueField DPU、ConnectX 网卡或装有 DOCA 的主机上执行 DOCA Compress 动手编程,支持 compress-deflate、decompress-deflate、decompress-lz4-stream/block 任务,包括缓冲区规划、mmap 权限、卸载路径选择、往返校验与 DOCA_ERROR_* 调试。 metadata: kind: library compatibility: > 需要 DOCA SDK 安装于 /opt/mellanox/doca,Linux Ubuntu 22.04/24.04 或 RHEL/SLES,并连接 BlueField DPU 或 ConnectX 网卡。

DOCA Compress(DOCA 压缩加速技能)

定位: 本技能假定 DOCA 已安装,面向在 BlueField/ConnectX/宿主机 DOCA 环境中的动手 Compress 工作(批量 DEFLATE 压缩或解压缩)。若要“执行”配置/构建/修改/运行/测试/调试,打开 TASKS.md;若要了解“此版本的 DOCA Compress 能提供哪些能力”,打开 CAPABILITIES.md。尚未安装 DOCA 时先走 doca-setup;不确定是否应卸载压缩到硬件时,参考 CAPABILITIES.md 中的尺寸阈值路径选择规则——大块压缩适合卸载,微小单次操作不适合。

本技能擅长回答的问题类型

  • “应不应该用 DOCA Compress 卸载压缩,还是 CPU 上跑 zlib/zstd?” → 尺寸阈值规则 + 安全策略中的“不要用”场景。
  • “我的设备支持哪种 compress/decompress 任务?每次能提交多大的缓冲区?” → 每任务能力查询(如 doca_compress_cap_task_compress_deflate_is_supported / _get_max_buf_size)。
  • “我只解压入站网络数据,是否可单独使用?” → 任务类型表中解压-only 形态是合法场景,只需启用对应解压任务。
  • “源/目的 mmap 需要什么权限?” → 权限矩阵:源至少 DOCA_ACCESS_FLAG_LOCAL_READ_ONLY,目的需要 DOCA_ACCESS_FLAG_LOCAL_READ_WRITE。
  • “DOCA 版本上有没有某 API?” → 版本兼容层 + doca-version 交叉参考,按版本发现,不假设。
  • “某个 DOCA_ERROR_* 是什么含义,是哪一层引起的?” → 错误分类 + TASKS.md 的分层调试。

目标受众

此技能服务外部开发者,他们构建应用通过 C/C++ 或 FFI 绑定调用 doca_compress_* 来在 BlueField DPU/ConnectX 上卸载批量 DEFLATE 压缩/解压。语言范围上 DOCA Compress 提供 C 库(pkg-config 模块名 doca-compress),示例为 C;其他语言经 FFI 调用同一公共 ABI。

何时加载此技能

包括:在 doca_dev 上初始化 doca_compress 上下文并在 doca_ctx_start() 前配置至少一种任务;选择压缩任务 vs 解压任务;正确设置 doca_mmap 的源/目的缓冲权限;根据每任务 max_buf_size 上限和算法最坏输出大小规划缓冲区;通过 cap 函数检查设备支持;用往返压缩/解压做验证;决定是否值得卸载;调试 DOCA_ERROR_*;设计非 C 语言绑定等。不适合:DOCA 安装、常规 CPU 压缩库、其他 DOCA 库。

提供的内容

这是一个轻量加载器。主体内容在 CAPABILITIES.md(任务类型、能力查询、安全策略、错误分类、路径选择)和 TASKS.md(配置、构建、修改、运行、测试、调试六个步骤)。兼容性:需要 /opt/mellanox/doca 的 DOCA SDK,读取安装时运行 pkg-config doca-compress。本技能刻意不携带完整应用源码、预编码 fixture 或独立构建清单;用户应使用官方示例和公有文档。

加载顺序

  1. 先读 SKILL.md 确认问题范围;
  2. 能力问题读 CAPABILITIES.md
  3. 操作问题读 TASKS.md

相关技能:doca-public-knowledge-map、doca-setup、doca-version、doca-structured-tools-contract、doca-programming-guide、doca-dma、doca-debug。