JavaScript is disabled. Some features may not work.
huggingface-zerogpu — ★ 10.7K GitHub Stars — Install Guide | SkillsNav
🇺🇸 English🇨🇳 中文
SkillsNav
Home

huggingface-zerogpu

★ 10K repogenerationN/AIntermediateClaude
🤖 AI Summary

This skill provides the patterns and constraints for using Hugging Face's ZeroGPU hardware in Gradio Spaces, covering `@spaces.GPU` decorator usage, duration/quota tuning, process isolation, CUDA availability, and concurrency safety.

How to Install

Claude Code:
git clone --depth 1 https://github.com/huggingface/skills.git && cp skills/skills/huggingface-zerogpu ~/.claude/skills/huggingface-zerogpu -r
# Hugging Face ZeroGPU Rules and patterns for ML demos on Hugging Face Spaces with **ZeroGPU** hardware. Covers `@spaces.GPU`, duration and quota tuning, process isolation, the CUDA availability model, concurrency safety, and CUDA build constraints. ## Scope This skill is for **Gradio SDK Spaces using ZeroGPU hardware**. Docker and Static Spaces cannot schedule onto ZeroGPU, and Streamlit apps now run as Docker Spaces — so this skill applies only to Gradio. For general Gradio coding (components, layouts, event listeners), see the `huggingface-gradio` skill in this repo. The authoritative ZeroGPU docs live at https://huggingface.co/docs/hub/spaces-zerogpu — refer to them for the current backing GPU, runtime version lists, and tier thresholds, all of which change over time. ## Reference Files | Reference | When to read | |-----------|--------------| | `references/concurrency.md` | Always read alongside SKILL.md when writing ZeroGPU code — handlers run in parallel by default | | `references/how-zerogpu-works.md` | When reasoning about cold-starts, worker reuse, why module-scope warmup does not carry to requests, or why returning CUDA tensors hangs | | `references/how-quota-works.md` | When choosing `duration` values, debugging `illegal duration` vs `quota exceeded` errors, or explaining why default 60s blocks short tasks | | `references/cuda-and-deps.md` | When installing CUDA-dependent packages (e.g. `flash-attn`), pinning torch side-cars, or reading wheel filename tags | ## Hardware ZeroGPU exposes two GPU sizes that map to a fraction of the backing card: | `size` | Slice of backing GPU | Quota cost | |--------|----------------------|------------| | `large` *(default)* | Half | 1x | | `xlarge` | Full | 2x | Default `large` gives half a physical GPU, so memory bandwidth and compute are significantly lower than the full card's specs. Use `xlarge` only when the workload genuinely needs the extra memory or compute. > **Backing GPU changes without notice.** ZeroGPU has already migrated across GPU generations several times; older write-ups may name A100 or H200, but those are outdated. For the current backing GPU and exact per-size VRAM, always check the [ZeroGPU docs](https://huggingface.co/docs/hub/spaces-zerogpu) before sizing workloads. ## Basic Pattern ```python import spaces import torch from transformers import pipeline pipe = pipeline("text-generation", model="...", device="cuda") @spaces.GPU def generate(prompt: str) -> str: return pipe(prompt, max_new_tokens=100)[0]["generated_text"] ``` Key rules: 1. **Instantiate models at module scope** and call `.to("cuda")` eagerly. ZeroGPU handles the actual device mapping transparently (see CUDA availability model below). 2. **Decorate GPU functions with `@spaces.GPU`**. The decorator is a no-op outside ZeroGPU, so it is safe to keep in all environments. 3. **Set `duration` to match the realistic worst-case workload** (default 60s). The platform pre-checks `requested duration` agains

Details

Category Coding → generation
Sourcehuggingface/skills
SKILL.mdView on GitHub →
Repo Stars★ 10.7K
Est. per Skill357 (shared across 30 skills from this repo)
DifficultyIntermediate
Risk LevelN/A

Related Skills

Works Well With

Skills from the same repository — often designed to work together