What problem does it solve?
Moving large distributed cuPyNumeric arrays to and from disk is error-prone: naive single-process writes bottleneck I/O, asynchronous Legate writes appear truncated to external readers, and GPU reads over ~128 MB abort on the default staging buffer. This Skill teaches agents the correct legate.io.hdf5 workflow so arrays round-trip to single .h5/.hdf5 files safely across ranks.
Core Features & Use Cases
- Parallel HDF5 write/read: Use
to_file and from_file so every rank writes its own tile into one virtual dataset, and bridge results back with cn.asarray(...).
- Chunked streaming reads: Use
from_file_batched to load very large datasets chunk by chunk with correct offset placement of clipped boundary chunks.
- GPUDirect Storage guidance: Set
LEGATE_IO_USE_VFD_GDS=1 for GPU reads to avoid the 128 MB ZCMEM staging abort, with cuFile compatibility-mode fallback.
- Use Case: A 200 GB simulation array must be handed to an HPC post-processing pipeline as a single file — the Skill produces the correct
to_file call, the mandatory execution fence before external readers, and the h5py prerequisite install.
Quick Start
Ask your agent to save a cuPyNumeric array to an .h5 file with Legate's HDF5 API and load it back for verification.