cupynumeric-parallel-data-load

Load sharded on-disk datasets into a distributed cupynumeric ndarray.

Updated Apr 16, 2026
One-click install
npx skills add https://github.com/sayalinvidia/sayali-skills-test --skill cupynumeric-parallel-data-load
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cupynumeric-parallel-data-load
Source: https://github.com/sayalinvidia/sayali-skills-test/tree/main/skills/cupynumeric-parallel-data-load
Command: npx skills add https://github.com/sayalinvidia/sayali-skills-test --skill cupynumeric-parallel-data-load

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, cupynumeric, legate, and includes assets (resource) components.

What problem does it solve?

Loading large multi-file datasets into a single cupynumeric array when shards vary in row counts and there is no built-in loader for the whole dataset.

Core Features & Use Cases

  • Manual partitioning across processors (CPU/OMP/GPU) to read shards in parallel.
  • Works with sharded layouts across several formats (npy, Parquet/Arrow, raw binary, HDF5) by streaming per-file reads in a leaf task.
  • Use case: ingest sensor or simulation data produced as shard_NNNN.npy files into a unified array for analytics or training.

Quick Start

Run the included write/read workflow to generate shards and load them into a single cupynumeric array.

Frequently Asked Questions about cupynumeric-parallel-data-load

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I load sharded npy files with non-uniform row counts into a single cupynumeric array?

To load sharded npy files with non-uniform row counts into a single cupynumeric array, this skill parses per-shard headers, allocates a destination array, partitions by tiling, and launches parallel leaf tasks across CPUs and GPUs to read the data.

What is the best way to perform parallel data loading for distributed cupynumeric arrays?

The best way to perform parallel data loading for distributed cupynumeric arrays is using manual partitioning across processors and launching multi-variant leaf tasks, which reads multi-file datasets in parallel across CPU, OMP, and GPU targets.

Does this parallel loading approach work with Parquet, HDF5, and raw binary formats?

Yes, this parallel loading approach works with Parquet, Arrow, HDF5, raw binary, and npy formats by streaming per-file reads directly inside leaf tasks to ingest sharded on-disk data efficiently.

Can I use legate to ingest multi-file simulation datasets across multiple GPUs?

Yes, you can use legate to ingest multi-file simulation datasets across multiple GPUs, as the skill performs manual partitioning across processors and enforces final synchronization to unify sharded data into a distributed ndarray.

Why does loading multi-file datasets into cupynumeric require manual partitioning and leaf tasks?

Loading multi-file datasets into cupynumeric requires manual partitioning and leaf tasks because there is no built-in loader for whole datasets with varying shard sizes, necessitating manual tiling and parallel reads to populate the destination array.

What are the limitations of using cupynumeric for sharded data loading?

A limitation of using cupynumeric for sharded data loading is that it requires manual partitioning and allocation by tiling, as no built-in loader exists for datasets with non-uniform shard row counts, demanding explicit synchronization.