Data & Analysis ✓ NVIDIA · Official

cuPyNumeric Parallel HDF5 I/O

Move distributed cuPyNumeric arrays through single-file HDF5 in parallel.

62/ 100
Recommended

Generally reliable with disclosed limitations; trial as directed and keep a rollback path.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 3.6k
Last updated
13d ago
License
Apache-2.0
hdf5cupynumericlegateparallel-io
+2h5pygpudirect-storage

What does this skill do, and when should you use it?

This skill guides developers in using Legate parallel HDF5 I/O to write and read cuPyNumeric arrays as a single HDF5 file. It supports full-dataset reads, batched reads, and GPUDirect Storage for large transfers into GPU memory. It requires cuPyNumeric, Legate 26.01 or newer, and h5py. It fits HPC and multi-GPU data pipelines, but does not cover Zarr, Parquet, raw binary, or pure array computation.

Calls legate.io.hdf5 to_file to write a cuPyNumeric array or LogicalArray as an HDF5 virtual dataset; calls from_file to load one HDF5 dataset as a distributed LogicalArray; calls from_file_batched to read chunks and return each chunk with global offsets; uses cn.asarray to bridge LogicalArray results back to cuPyNumeric arrays; inserts a Legate execution fence before external readers inspect asynchronous writes; configures LEGATE_IO_USE_VFD_GDS=1 for GPU reads.

Good fit
  • An HPC developer needs multiple processes or GPUs to write a large cuPyNumeric array into one shared .h5 or .hdf5 file.
  • A data engineer needs to load one HDF5 dataset into a distributed cuPyNumeric array.
  • A scientific workflow with limited memory needs to read a large HDF5 dataset in chunks and assemble the result using actual boundary shapes.
  • A GPU pipeline needs to read a large HDF5 dataset into GPU memory while avoiding the roughly 128 MB default ZCMEM staging limit.
  • An HPC post-processing workflow requires an upstream job to produce one HDF5 file rather than one file per rank.

How do you install this skill?

Before you use it
  • to_file overwrites an existing target file; production use should include explicit path confirmation and user-managed backup or rollback.
  • Large GPU reads depend on specific Legate, GDS/cuFile, driver, hardware, and filesystem combinations; the strong GDS guidance should be validated in the target environment.
  • h5py, cuPyNumeric, Legate compatibility and multi-node shared-filesystem behavior were not executed or independently verified in this review.
  • The documentation is primarily English and does not establish Chinese-language support or documentation reachability from mainland-China networks.
Before you start
Your agent needs
  • Shell / CLI
  • Local filesystem
Install first
  • cuPyNumeric
  • Legate 26.01 or newer
  • h5py
  • nv-legate vfd-gds plugin and NVIDIA cuFile for optional GPUDirect Storage

Install the specific skill with the skills CLI command supported by the repository README: npx skills add nvidia/skills --skill cupynumeric-hdf5 --yes. Then install the required h5py package: conda install -c conda-forge h5py. The source does not document exact cuPyNumeric or Legate installation steps; it requires Legate 26.01 or newer.

Generic route: install into Claude Code manually (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"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Use cuPyNumeric and Legate to write a large array to out.h5 in parallel and fence correctly before an external reader opens it.

Ask a loaded agent: “Use cuPyNumeric and Legate to write a large array to out.h5 in parallel and fence correctly before an external reader opens it.” The core imports are from legate.io.hdf5 import to_file, from_file, from_file_batched. Pass the array directly with to_file(array=a, path="out.h5", dataset_name="/data"), and bridge reads with cn.asarray(from_file("out.h5", "/data")). Use the same path on every rank; after to_file, call get_legate_runtime().issue_execution_fence(block=True) before h5py or another external tool reads the file. For GPU reads, set LEGATE_IO_USE_VFD_GDS=1 and run outside the cuPyNumeric source tree.

What are this skill's strengths and limitations?

Pros
  • Each rank reads or writes its own tile while exposing the result as one logical HDF5 dataset.
  • Supports full reads, batched reads, and cn.asarray bridging from LogicalArray to cuPyNumeric.
  • Provides a GDS VFD path for large GPU reads that avoids the default roughly 128 MB ZCMEM staging limitation.
  • The skill includes API signatures, boundary conditions, troubleshooting, and optional verification scripts.
Limitations
  • It is limited to single-file HDF5 and does not handle Parquet, Arrow/cuDF, raw binary, Zarr, S3, npz, or pickle.
  • h5py must be installed explicitly or importing legate.io.hdf5 fails.
  • to_file overwrites an existing target and writes asynchronously, so external readers require a correctly placed fence.
  • GPU reads require additional GDS VFD and cuFile configuration, including compatibility-mode handling.
  • The source provides no platform coverage, numeric performance benchmarks, or evidence of an independent test suite.

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
cuPyNumeric Parallel HDF5 I/O this page ✓ NVIDIA · Official 62 · Recommended ★ 3.6k 13d ago Apache-2.0
cuPyNumeric Parallel Shard Loader ✓ NVIDIA · Official 54 · Use with care ★ 3.6k 13d ago Apache-2.0
I4H Mimic Dataset Augmentation ✓ NVIDIA · Official 52 · Use with care ★ 3.6k 13d ago Apache-2.0
I4H Teleoperation Dataset Recorder ✓ NVIDIA · Official 48 · Use with care ★ 3.6k 13d ago Apache-2.0
i4H Dataset Annotation Workflow ✓ NVIDIA · Official 44 · Not recommended ★ 3.6k 13d ago Apache-2.0

Compared with direct h5py, this skill targets distributed cuPyNumeric/Legate arrays and parallel I/O rather than ordinary single-process HDF5 reads. Compared with Zarr, it targets single-file HDF5 and does not cover chunked object-store or S3 output. Compared with Parquet/cuDF, raw binary, and npz/pickle, it does not provide those format paths.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Recommended
62/ 100 5-point scale 3.1 / 5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
1Trust18 / 25 · 3.6/5

The skill scopes itself to single-file HDF5 I/O and discloses h5py, Legate, GDS/cuFile dependencies, asynchronous writes, shared paths, and overwrite behavior. It does not require confirmation before overwriting, provide rollback or backup guidance, or address sensitive-data handling and detailed permission boundaries, so points are deducted.

2Reliability9 / 20 · 2.3/5

API usage, version migration, parameter constraints, common errors, and troubleshooting are comparatively detailed, with round-trip and batched-read scripts plus an evaluation report. However, this review is static and the scripts were not executed; reproducibility and failure feedback for GPU/GDS, multi-node, and boundary cases remain limited, so the score is conservative.

3Adaptability12 / 15 · 4.0/5

Activation criteria, exclusions, inputs, outputs, and routing away from plain h5py, Parquet, Zarr, NPZ, and raw binary are clear. Chinese-language support is absent, and evidence for environmental fit and mainland-China network reachability is limited, so points are deducted.

4Convention11 / 15 · 3.7/5

The documentation has clear sections for installation, APIs, examples, limitations, troubleshooting, versions, author, license, upstream, and documentation. It lacks a clear changelog, durable maintenance responsibility, and update procedure; the NOASSERTION license metadata also conflicts somewhat with the in-file license declaration, so points are deducted.

5Effectiveness7 / 15 · 2.3/5

The skill addresses saving, loading, batched reads, GPU I/O, and troubleshooting, with directly usable examples; the supplied evaluation report indicates strong assisted performance. Static review cannot confirm current dependency compatibility or all key paths, and large-scale performance benefits lack a verifiable baseline, so the score is capped conservatively.

6Verifiability5 / 10 · 2.5/5

API, upstream, and documentation references, committed verification scripts, evaluation tasks, and an NVSkills-Eval report provide useful audit evidence. There was no independent execution in this review and no CI workflow or independent corroboration covering the key paths, so the score remains at the static ceiling.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Jul 20, 2026 Reviewed revision 55f18499943e Review evidence[1][2][3][4][5][6][7][8][9]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does this require a paid service or special permissions?
The source mentions no service fees or special account permissions. It requires local cuPyNumeric, Legate, and h5py installations plus appropriate filesystem access.
Why does h5py see an empty or truncated file?
to_file queues an asynchronous write. Call get_legate_runtime().issue_execution_fence(block=True) before opening the file with an external reader.
Is a LogicalArray result from from_file an error?
No. That is expected; use cn.asarray(...) to bridge it back to a cuPyNumeric ndarray.
Can dataset_name refer to any HDF5 path?
It must identify one array dataset, such as /data or /group/x, not a group.

More skills from this repository

All from NVIDIA/skills

Data & Analysis ✓ NVIDIA · Official

cuPyNumeric Parallel Shard Loader

Builds processor-sized parallel loading paths from sharded on-disk data into distributed cuPyNumeric arrays.

★ 3.6k FS 54 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

cuPyNumeric Installation Guide

Guides safe cuPyNumeric installation and verifies that it actually works.

★ 3.6k FS 56 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

cuPyNumeric Migration Readiness

Assess whether NumPy code is ready to scale on GPUs before committing to a substantial cuPyNumeric port.

★ 3.6k FS 57 Use with care 13d ago
Data & Analysis ✓ NVIDIA · Official

I4H Mimic Dataset Augmentation

Augment an existing HDF5 recording by cloning trajectories with action and state noise.

★ 3.6k FS 52 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

Isaac for Healthcare Workflow Validator

Run policy or state-machine rollouts and record verification episodes to HDF5.

★ 3.6k FS 52 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

Isaac for Healthcare Dataset Replay

Replay HDF5 episodes in Isaac Sim to verify recorded robot behavior visually.

★ 3.6k FS 48 Use with care 13d ago
Data & Analysis ✓ NVIDIA · Official

I4H Teleoperation Dataset Recorder

Record human demonstrations from keyboard, SO-ARM leader, or VR teleoperation into HDF5.

★ 3.6k FS 48 Use with care 13d ago
Data & Analysis ✓ NVIDIA · Official

i4H Dataset Annotation Workflow

Use a vision-language model to verify task success and filter episodes for fine-tuning.

★ 3.6k FS 44 Not recommended 13d ago
Data & Analysis ✓ NVIDIA · Official

I4H Dataset Converter

Convert Isaac for Healthcare HDF5 recordings into training-ready LeRobot datasets.

★ 3.6k FS 40 Not recommended 13d ago
Dev & Engineering ✓ NVIDIA · Official

DOCA Common Foundation

A shared programming foundation for DOCA applications on BlueField and ConnectX.

★ 3.6k FS 55 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

DOCA Ethernet Queue Development

Develop and debug DOCA Ethernet RX/TX queues on BlueField DPUs and ConnectX NICs.

★ 3.6k FS 55 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

DOCA GPUNetIO Development Skill

Helps developers connect CUDA kernels on NVIDIA GPUs to DOCA network queues for GPU-side packet I/O and debugging.

★ 3.6k FS 55 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

DOCA STA Storage Target Acceleration

Build and debug RDMA NVMe-oF storage targets accelerated by DOCA STA on BlueField.

★ 3.6k FS 55 Use with care 13d ago
Automation & Ops ✓ NVIDIA · Official

TAO on SLURM

Run TAO training, evaluation, and inference on a remote GPU cluster through SSH, SLURM, and Pyxis/Enroot.

★ 3.6k FS 55 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

TAO Platform Execution SDK

Submit, monitor, and manage NVIDIA TAO GPU training jobs across supported platforms.

★ 3.6k FS 55 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

NeMo MBridge MoE Performance Workflow

Systematically diagnose and improve MoE training throughput in Megatron Bridge.

★ 3.6k FS 53 Use with care 13d ago
Automation & Ops ✓ NVIDIA · Official

VIOS Video I/O and Storage Manager

Manage VIOS sensors, streams, recordings, snapshots, clips, and storage through its REST API.

★ 3.6k FS 53 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

DOCA GPI GPU-Initiated RDMA Skill

Helps CUDA kernels drive RDMA queues directly from GPU memory without host-CPU mediation.

★ 3.6k FS 52 Use with care 13d ago
Dev & Engineering ✓ NVIDIA · Official

NeMo MBridge Hierarchical Context Parallelism

Enable, troubleshoot, and verify hierarchical context parallelism in Megatron-Bridge.

★ 3.6k FS 51 Use with care 13d ago
Automation & Ops ✓ NVIDIA · Official

TAO on Brev GPU Instances

Run and manage TAO training, evaluation, and inference on Brev GPU instances.

★ 3.6k FS 51 Use with care 13d ago

Related skills