数据与分析 ✓ NVIDIA · 官方

cuPyNumeric 并行 HDF5 I/O

让分布式 cuPyNumeric 数组高效读写单文件 HDF5。

62/ 100
推荐

整体可靠,存在已披露的局限;按说明试用并保留回滚路径。

查看评分依据 ↓
可直接使用于
Codex · Claude Code
Star 数
★ 3.6k
最近更新
13 天前
License
Apache-2.0
hdf5cupynumericlegateparallel-io
+2h5pygpudirect-storage

这个 Skill 能做什么,适合哪些场景?

该技能指导开发者使用 Legate 的并行 HDF5 I/O,将 cuPyNumeric 数组写入或读取为单个 HDF5 文件。它支持完整数据集读取、分块读取,以及通过 GPUDirect Storage 将大型数据直接读入 GPU。技能要求 cuPyNumeric、Legate 26.01 或更高版本和 h5py。它适合 HPC 和多 GPU 数据管线,但不覆盖 Zarr、Parquet、原始二进制或纯数组计算。

调用 legate.io.hdf5 的 to_file 将 cuPyNumeric 数组或 LogicalArray 写入 HDF5 虚拟数据集;调用 from_file 将单个 HDF5 数据集读取为分布式 LogicalArray;调用 from_file_batched 按指定 chunk_size 分块读取并返回各块及其全局偏移;使用 cn.asarray 将 LogicalArray 转回 cuPyNumeric 数组;在外部读取器访问异步写入结果前,通过 Legate execution fence 等待写入完成;GPU 读取时配置 LEGATE_IO_USE_VFD_GDS=1。

适合
  • HPC 开发者需要让多进程或多 GPU 将大型 cuPyNumeric 数组写入一个共享的 .h5 或 .hdf5 文件。
  • 数据工程师需要把 HDF5 中的单个数据集加载为分布式 cuPyNumeric 数组。
  • 内存受限的科学计算流程需要分块读取大型 HDF5 文件,再按实际块形状组装结果。
  • GPU 数据管线需要将大型 HDF5 数据集读入 GPU,并通过 GDS VFD 避免约 128 MB ZCMEM 暂存限制。
  • HPC 后处理流程要求上游程序产出单个 HDF5 文件,而不是每个进程各写一个文件。

如何安装这个 Skill?

使用前请注意
  • to_file 会覆盖已有目标文件;生产使用前应由用户确认路径并自行实施备份或回滚。
  • GPU 大数据读取依赖特定 Legate、GDS/cuFile、驱动和硬件组合;文档中的强制性 GDS 建议应在目标环境中验证。
  • h5py、cuPyNumeric、Legate 版本兼容性和多节点共享文件系统行为未在本次审查中执行验证。
  • 文档主要为英文,未证明中文错误信息、示例或大陆网络环境下的文档可达性。
开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 本地文件系统
需要预先安装
  • cuPyNumeric
  • Legate 26.01 or newer
  • h5py
  • nv-legate vfd-gds plugin and NVIDIA cuFile for optional GPUDirect Storage

使用仓库 README 支持的 skills CLI 安装指定技能:npx skills add nvidia/skills --skill cupynumeric-hdf5 --yes。随后安装必需的 h5py:conda install -c conda-forge h5py。源材料未说明 cuPyNumeric 和 Legate 的具体安装步骤;它只要求 Legate 26.01 或更高版本。

通用方式:手动安装到 Claude Code(macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/NVIDIA/skills.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/cupynumeric-hdf5" ~/.claude/skills/
rm -rf "$tmp"

根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 用 cuPyNumeric 和 Legate 将大型数组并行写入 out.h5,并在外部读取前正确 fence。

可向已加载技能的代理提出:“用 cuPyNumeric 和 Legate 将大型数组并行写入 out.h5,并在外部读取前正确 fence。”核心调用是 from legate.io.hdf5 import to_file, from_file, from_file_batched;将数组直接传给 to_file(array=a, path="out.h5", dataset_name="/data"),读取时用 cn.asarray(from_file("out.h5", "/data"))。to_file 和 from_file 必须在所有 rank 使用相同路径;to_file 后若要用 h5py 或其他外部工具读取,先调用 get_legate_runtime().issue_execution_fence(block=True)。GPU 读取前设置 LEGATE_IO_USE_VFD_GDS=1,并从 cuPyNumeric 源码树之外运行程序。

这个 Skill 有哪些优点和局限?

优点
  • 每个 rank 并行读写自己的数据块,同时呈现为单个 HDF5 数据集。
  • 支持完整读取、分块读取和 LogicalArray 到 cuPyNumeric 的 cn.asarray 桥接。
  • 为大型 GPU 读取提供 GDS VFD 路径,可避免默认约 128 MB ZCMEM 暂存限制。
  • 技能正文包含 API 签名、边界条件、故障排查和可选验证脚本。
局限
  • 仅支持单文件 HDF5;不负责 Parquet、Arrow/cuDF、原始二进制、Zarr、S3、npz 或 pickle。
  • 必须显式安装 h5py,否则导入 legate.io.hdf5 会失败。
  • to_file 会覆盖已有目标文件,且写入是异步的;外部读取前必须正确 fence。
  • GPU 读取需要额外配置 GDS VFD、cuFile,并处理兼容模式。
  • 源材料未提供平台覆盖范围、性能基准数值或独立测试套件证据。

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
cuPyNumeric 并行 HDF5 I/O 本页 ✓ NVIDIA · 官方 62 · 推荐 ★ 3.6k 13 天前 Apache-2.0
cuPyNumeric 分片并行加载 ✓ NVIDIA · 官方 54 · 谨慎使用 ★ 3.6k 13 天前 Apache-2.0
I4H 模拟数据集扩增 ✓ NVIDIA · 官方 52 · 谨慎使用 ★ 3.6k 13 天前 Apache-2.0
I4H 遥操作数据集录制 ✓ NVIDIA · 官方 48 · 谨慎使用 ★ 3.6k 13 天前 Apache-2.0
i4H 数据集标注工作流 ✓ NVIDIA · 官方 44 · 不推荐 ★ 3.6k 13 天前 Apache-2.0

与直接使用 h5py 相比,该技能面向 cuPyNumeric/Legate 的分布式数组和并行 I/O,而不是普通单进程 HDF5 读取。与 Zarr 相比,它针对单文件 HDF5,不覆盖分块对象存储或 S3 输出。与 Parquet/cuDF、原始二进制和 npz/pickle 相比,它不提供这些格式的读写路径。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
推荐
62/ 100 五分制 3.1 / 5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
1信任安全18 / 25 · 3.6/5

技能明确限定为单文件 HDF5 I/O,披露 h5py、Legate、GDS/cuFile 依赖,并警告异步写入、同一路径和 to_file 覆盖风险;但没有要求用户确认覆盖、提供回滚/备份方案,也缺少敏感数据处理和更细的数据流权限说明,因此扣分。

2可靠稳定9 / 20 · 2.3/5

API、版本迁移、参数约束、常见错误和故障排查较完整,且附有往返与批量读取脚本及评估报告;但本次仅静态阅读,脚本未执行,GPU/GDS、多节点和边界行为的可复现性与失败反馈仍有限,因此按静态上限保守扣分。

3适用触发12 / 15 · 4.0/5

触发条件、非适用场景、输入输出和纯 h5py/Parquet/Zarr/NPZ/原始二进制的分流较清晰;但未提供中文使用说明或中文示例,环境适配范围和大陆网络可达性证据有限,因此扣分。

4规范维护11 / 15 · 3.7/5

文档结构清楚,包含安装、API、示例、限制、故障排查、版本信息、作者、许可证、上游和文档链接;但描述过长,缺少明确 changelog、长期维护责任和更新流程,且许可证元数据为 NOASSERTION 与文件内声明不完全一致,因此扣分。

5有效结果7 / 15 · 2.3/5

技能覆盖保存、读取、批量读取、GPU I/O 和故障场景,示例输出可直接使用,提交的评估报告显示正向任务表现良好;但静态审查不能确认当前依赖版本和所有关键路径实际可用,且大规模性能收益缺少可核验基线,因此按静态上限计分。

6证据核验5 / 10 · 2.5/5

存在 API/上游/文档引用、提交的测试脚本、评估任务和 NVSkills-Eval 报告,提供了一定审计线索;但没有本次独立执行,也缺少 CI 工作流或多源独立复核,故按静态上限计分。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年7月20日 审查版本 55f18499943e 评估证据[1][2][3][4][5][6][7][8][9]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

这个技能是否需要付费服务或特殊权限?
源材料没有提到服务费用或特殊账户权限;它要求本地安装 cuPyNumeric、Legate 和 h5py,并具备相应文件系统访问能力。
为什么 h5py 看到的文件为空或被截断?
to_file 只会异步排队写入。调用外部读取器前,使用 get_legate_runtime().issue_execution_fence(block=True) 等待写入完成。
from_file 返回 LogicalArray 是错误吗?
不是。这是预期行为;使用 cn.asarray(...) 将其桥接为 cuPyNumeric ndarray。
它能处理任意 HDF5 路径吗?
dataset_name 必须指向文件中的单个数组数据集,例如 /data 或 /group/x,不能直接传入组。

同仓库的其他 Skills

均来自 NVIDIA/skills

数据与分析 ✓ NVIDIA · 官方

cuPyNumeric 分片并行加载

为分片磁盘数据构建按处理器并行的 cuPyNumeric 加载路径。

★ 3.6k FS 54 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

cuPyNumeric 安装助手

指导在受支持环境中安装并验证 cuPyNumeric。

★ 3.6k FS 56 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

cuPyNumeric 迁移就绪度评估

在投入大规模移植工作前,判断 NumPy 代码能否在 GPU 和多 GPU 环境中有效扩展。

★ 3.6k FS 57 谨慎使用 13 天前
数据与分析 ✓ NVIDIA · 官方

I4H 模拟数据集扩增

通过加入动作和状态噪声,从现有 HDF5 录制数据复制轨迹并扩增数据集。

★ 3.6k FS 52 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

Isaac for Healthcare 工作流验证

运行策略或状态机控制器并将验证回合记录到 HDF5。

★ 3.6k FS 52 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

Isaac for Healthcare 数据集回放

在 Isaac Sim 中回放 HDF5 轨迹,检查机器人演示的视觉正确性。

★ 3.6k FS 48 谨慎使用 13 天前
数据与分析 ✓ NVIDIA · 官方

I4H 遥操作数据集录制

通过键盘、SO-ARM 主臂或 VR 遥操作,将人类示范录制为 HDF5 数据集。

★ 3.6k FS 48 谨慎使用 13 天前
数据与分析 ✓ NVIDIA · 官方

i4H 数据集标注工作流

使用视觉语言模型验证轨迹是否完成任务,并筛选可用于微调的数据。

★ 3.6k FS 44 不推荐 13 天前
数据与分析 ✓ NVIDIA · 官方

I4H 数据集转换器

将 Isaac for Healthcare 的 HDF5 录制转换为可用于训练的 LeRobot 数据集。

★ 3.6k FS 40 不推荐 13 天前
开发与工程 ✓ NVIDIA · 官方

DOCA Common 基础编程技能

为 BlueField 和 ConnectX DOCA 应用提供通用编程基础。

★ 3.6k FS 55 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

DOCA Ethernet 队列开发技能

为 BlueField 与 ConnectX 开发和调试 DOCA Ethernet 收发队列。

★ 3.6k FS 55 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

DOCA GPUNetIO 开发技能

指导开发者将 NVIDIA GPU 上的 CUDA 内核连接到 DOCA 网络队列,实现 GPU 侧收发包与调试。

★ 3.6k FS 55 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

DOCA STA 存储目标加速

帮助开发者在 BlueField 上构建并调试 RDMA NVMe-oF 存储目标。

★ 3.6k FS 55 谨慎使用 13 天前
自动化与运维 ✓ NVIDIA · 官方

TAO SLURM 集群运行

通过 SSH、SLURM 和 Pyxis/Enroot 在远程 GPU 集群上运行 TAO 作业。

★ 3.6k FS 55 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

TAO 平台执行 SDK

在多种 GPU 平台上提交、监控并管理 NVIDIA TAO 训练任务。

★ 3.6k FS 55 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

NeMo MBridge MoE 性能优化工作流

系统化定位并优化 Megatron Bridge 中 MoE 训练吞吐瓶颈。

★ 3.6k FS 53 谨慎使用 13 天前
自动化与运维 ✓ NVIDIA · 官方

VIOS 视频输入输出与存储管理

通过 VIOS REST API 管理传感器、视频流、录制、快照和视频存储。

★ 3.6k FS 53 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

DOCA GPI GPU 直驱 RDMA 技能

指导 CUDA 内核绕过主机 CPU,直接从 GPU 内存驱动 RDMA 队列。

★ 3.6k FS 52 谨慎使用 13 天前
开发与工程 ✓ NVIDIA · 官方

NeMo MBridge 分层上下文并行

帮助在 Megatron-Bridge 中启用、排查并验证分层上下文并行。

★ 3.6k FS 51 谨慎使用 13 天前
自动化与运维 ✓ NVIDIA · 官方

TAO Brev GPU 运行技能

在 Brev GPU 实例上运行和管理 TAO 训练、评估与推理任务。

★ 3.6k FS 51 谨慎使用 13 天前

相关 Skills