Data & Analysis ✓ NVIDIA · Official hdf5cupynumericlegateparallel-ioh5pygpudirect-storage

cuPyNumeric Parallel HDF5 I/O

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

FollowSkills review · FSRS-2.0
Use with care
62/ 100 5-point scale 3.1 / 5
Trust18 / 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.

Reliability9 / 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.

Adaptability12 / 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.

Convention11 / 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.

Effectiveness7 / 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.

Verifiability5 / 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.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 55f18499943e
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.
Review evidence [1][2][3][4][5][6][7][8][9]
See the full review method →

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.

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

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 do you install this skill?

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.

How do you use this skill?

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.

How does this skill compare with similar options?

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.

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.

Dev & Engineering ✓ NVIDIA · Official

cuPyNumeric Installation Guide

Guides safe cuPyNumeric installation and verifies that it actually works.

Dev & Engineering ✓ NVIDIA · Official

cuPyNumeric Migration Readiness

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

Data & Analysis ✓ NVIDIA · Official

I4H Mimic Dataset Augmentation

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

Dev & Engineering ✓ NVIDIA · Official

Isaac for Healthcare Workflow Validator

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

Dev & Engineering ✓ NVIDIA · Official

Isaac for Healthcare Dataset Replay

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

Data & Analysis ✓ NVIDIA · Official

I4H Teleoperation Dataset Recorder

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

Data & Analysis ✓ NVIDIA · Official

i4H Dataset Annotation Workflow

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

Data & Analysis ✓ NVIDIA · Official

I4H Dataset Converter

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Common Foundation

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Ethernet Queue Development

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

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.

Dev & Engineering ✓ NVIDIA · Official

DOCA STA Storage Target Acceleration

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

Automation & Ops ✓ NVIDIA · Official

TAO on SLURM

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

Dev & Engineering ✓ NVIDIA · Official

TAO Platform Execution SDK

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

Dev & Engineering ✓ NVIDIA · Official

NeMo MBridge MoE Performance Workflow

Systematically diagnose and improve MoE training throughput in Megatron Bridge.

Automation & Ops ✓ NVIDIA · Official

VIOS Video I/O and Storage Manager

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

Dev & Engineering ✓ NVIDIA · Official

DOCA GPI GPU-Initiated RDMA Skill

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

Dev & Engineering ✓ NVIDIA · Official

NeMo MBridge Hierarchical Context Parallelism

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

Automation & Ops ✓ NVIDIA · Official

TAO on Brev GPU Instances

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

Related skills