Skip to content
Agentmart
Submit a tool

gala-hardware-backends

Run Gala programs on quantum hardware — backend selection, capability checking, QIR emission, vendor SDKs

Skill by gala-pl

IndexedApache-2.0★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/gala-pl-gala-hardware-backends

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Run Gala programs on quantum hardware — backend selection, capability checking, QIR emission, vendor SDKs

Use cases: backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/gala-hardware-backends

Tools it pre-approves 10

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash(cargo
  • run
  • --bin
  • gala
  • *)
  • Read
  • Write
  • Edit
  • Glob
  • Grep

What's inside

Skill name
gala-hardware-backends
Description
Run Gala programs on quantum hardware — backend selection, capability checking, QIR emission, vendor SDKs
License
Apache-2.0
Allowed tools
Bash(cargo, run, --bin, gala, *), Read, Write, Edit, Glob, Grep
Instructions
208 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands

Files (1)

  • SKILL.md

SKILL.md (first lines)

## Task

$ARGUMENTS

## Overview

Gala programs are **backend-agnostic**. You write once, run anywhere — simulator, noisy simulator, or real hardware (IBM, IonQ, Quantinuum, Braket, etc.) via QIR.

## Backend Model

```gala
fn main() {
    // Backend is a capability value — checked at compile time
    let backend = backend.simulator()              // State-vector
    // let backend = backend.noisy(depolarizing(0.01))  // Noisy sim
    // let backend = backend.hardware("ionq.aria")      // Real hardware
    // let backend = backend.hardware("ibm.osprey")     // IBM
    
    let result = run(classify, on: backend, shots: 1000)
}
```

**Key:** Same program, one-line backend change.

## Available Backends

| Backend | Command | Profile | Use Case |
|---------|---------|---------|----------|
| Simulator | `backend.simulator()` | Base | Development, exact results |
| Noisy Sim | `backend.noisy(model)` | Base | Error-aware development |
| IonQ Aria | `backend.hardware("ionq.aria")` | Adaptive | Trapped ion, all-to-all |
| Quantinuum | `backend.hardware("quantinuum.h1")` | Adaptive | Trapped ion, mid-circuit |
| IBM Osprey | `backend.hardware("ibm.osprey")` | Base/Adaptive | Superconducting |
| AWS Braket | `backend.hardware("braket.rigetti")` | Base | Multiple vendors |

## Capability Checking (Compile-Time)

The compiler **rejects** programs that don't fit the backend:

```gala
// This requires mid-circuit measurement → needs Adaptive profile
fn adaptive_algo() -> Measured<Bool> prob {
    let q = qubit()
    h(q)
    let m = measure(q)  // Mid-circuit!
    if m { x(q) }       // Feedback
    measure(q)
}

// Compile for base-profile backend → ERROR
let backend = backend.hardware("ibm.osprey")  // Base profile only
run(adaptive_algo, on: backend)  // E0601: capability mismatch
```

**Error:**
```
error[E0601]: backend capability mismatch
  ┌─ src/main.gala:10:5
10 │     run(adaptive_algo, on: backend)
   │     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: program requires Adaptive profile (mid-circuit measurement)
           but backend 'ibm.osprey' only supports Base profile.
           Use a backend with mid-circuit support (ionq.aria, quantinuum.h1)
           or restructure to defer measurement.
```

## QIR Emission

```bash
# Emit QIR (LLVM IR) for inspection or manual submission
gala build src/main.gala --emit qir

# Output: main.ll (LLVM IR text) or main.bc (bitcode)
```

### Profile Selection
- **Base profile** — straight-line circuits, terminal measurement
- **Adaptive profile** — mid-circuit measurement, feedback, `if measure(q) { ... }`

Compiler chooses automatically based on program structure.

## Running on Hardware

### Prerequisites
```bash
# Configure credentials (once)
gala config set ionq.api_key YOUR_KEY
gala config set ibm.token YOUR_TOKEN
# Or use environment variables
export IONQ_API_KEY=...
export IBM_QUANTUM_TOKEN=...
```

### Submit Job
```bash
# Simulator (local, instant)
gala run src/main.gala --backend simulator --shots 1000

# Hardware (queued, async)
gala run src/main.gala --backend hardware:ionq.aria --shots 1000

# Poll for results
gala run src/main.gala --backend hardware:ionq.aria --shots 1000 --wait

# Or get job ID and check later
gala run src/main.gala --backend hardware:ionq.aria --shots 1000 --async
# Returns job ID
gala job status <job-id>
gala job results <job-id>
```

## Noise-Aware Development

```gala
import gala.noise.{ depolarizing, amplitude_damping, NoiseModel }

// Define noise model
let noise = depolarizing(0.01)  // 1% depolarizing

From gala-pl/gala, Apache-2.0.

More from gala-pl/gala

Compare and alternatives

    Featured in

    Signals

    Stars
    1
    Forks
    0
    Open issues
    0
    Last commit (this folder)
    Oct 23, 2026 (4 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from gala-pl

    Cite this page

    gala-hardware-backends skill. Agent Mart. https://agentmart.dev/skills/gala-pl-gala-hardware-backends (last updated 2026-10-24)