"Use STUMPY Dask/Ray distributed clients and optional CUDA GPU APIs
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill distributed-gpu-acceleration --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Distributed Gpu Acceleration?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-distributed-gpu-acceleration)More formats (shields.io, HTML) on the badges page.
---
name: distributed-gpu-acceleration
description: "Use STUMPY Dask/Ray distributed clients and optional CUDA GPU APIs
safely, with backend checks, client lifecycle guidance, device selection, and
fallback routing."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# STUMPY distributed and GPU acceleration
Use this sub-skill when a STUMPY task asks for Dask, Ray, CUDA, GPU-STUMP, multi-GPU execution, backend diagnostics, or conversion of an existing STUMPY workflow to an accelerated variant.
Do **not** use this sub-skill to decide which matrix-profile algorithm is appropriate, interpret motifs/discords/segments, choose multidimensional subspaces, or design streaming/pan analysis. Route those decisions to the owner sub-skills first, then return here only for acceleration mechanics.
## Fast routing
- **Dask distributed, verified in the prepared environment:** use a `dask.distributed.Client` as the first argument to `stumped`, `aamped`, `mstumped`, `maamped`, `mpdisted`, `aampdisted`, `ostinatoed`, `aamp_ostinatoed`, `stimped`, or `aamp_stimped`.
- **Ray distributed, optional/experimental:** pass the imported `ray` module after `ray.init()`. Expect an experimental-support warning and always `ray.shutdown()` in cleanup.
- **CUDA GPU, optional/unverified unless `numba.cuda.is_available()` is true in the target runtime:** use `gpu_stump`, `gpu_aamp`, `gpu_mpdist`, `gpu_aampdist`, `gpu_ostinato`, `gpu_aamp_ostinato`, `gpu_stimp`, or `gpu_aamp_stimp` with `device_id=0` or a list of visible device IDs.
- **Safe fallback:** if Dask/Ray/CUDA prerequisites are absent, fall back to the equivalent CPU owner API (`stump`, `aamp`, `mstump`, `maamp`, `mpdist`, `ostinato`, `stimp`, `aamp_stimp`) and state that acceleration was not verified.
## Operating rules
1. Run the bundled backend probe before claiming acceleration support:
```bash
python scripts/check_acceleration.py --check all
```
Add `--require-cuda` only when the user explicitly requires CUDA execution.
2. Own the client lifecycle. Prefer context managers for Dask `LocalCluster`/`Client`; use `try/finally` for Ray `init()`/`shutdown()`.
3. Preserve algorithm parameters from the owner workflow. Acceleration normally inserts `client` first for distributed APIs or `device_id` for GPU APIs; it does not change window size, normalization, `ignore_trivial`, `percentage`, `k`, `include`, or `discords` decisions.
4. Never claim GPU verification from `import stumpy` or from CPU-only signatures. In a CUDA-unavailable runtime, STUMPY exposes GPU names as driver-not-found placeholders that may inspect as `(*args, **kwargs)` and raise a CUDA driver error when called.
5. Avoid unmanaged global Dask clients in reusable code. Use `dashboard_address=None` for smoke checks to avoid dashboard port conflicts unless the user needs the dashboard.
## Reference map
- `references/api-reference.md` — accelerated API signatures, return shapes, normalized/non-normalized routing, `client`, and `device_id` notes.
- `references/workflows.md` — Dask LocalCluster, Ray, CUDA, multi-GPU, and fallback workflow templates.
- `references/backend-troubleshooting.md` — dependency, LocalCluster, Ray, CUDA driver/Numba, `nvidia-smi`, and device-selection failures.
- `scripts/check_acceleration.py` — deterministic backend smoke script with tiny synthetic Dask data and non-failing CUDA availability reporting.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!