Key Concepts
Understanding QLAM's core concepts will help you effectively use the platform.
The Three-Part Flow
QLAM breaks the quantum execution workflow into three logical parts, each with its own API: definitions, compilations, and tasks. This separation gives you fine-grained control over each stage, while still allowing simple one-step submission when that's all you need.
Task Definitions
A task definition is the description of what you want to run—your programs, arguments, number of shots, and other parameters. Definitions are managed via the /definitions API.
By separating definitions from execution, you can:
- Iterate on programs without executing - Similar to how developers use an IDE, you can save and refine your programs until they're ready
- Version your definitions - Track changes to your programs over time (Coming soon!)
- Store and retrieve programs - Useful for UIs and third-party IDEs that need to persist user work
Compilations
Before programs can run on the QPU, they must be compiled into Flair—the low-level format consumed by the quantum operating system. Compilations are managed via the /compilations API.
Separating compilation provides:
- Faster feedback loops - Compilation is faster than full execution, so you can verify your program is valid without waiting for QPU access
- Early error detection - A successful compilation confirms your program is ready for execution; a failed compilation tells you to iterate further
- Resource efficiency - Developers can validate programs without competing for the QPU
Tasks
A task is an execution—it takes a compiled definition, sends it to the QPU, and returns results. Tasks are managed via the /tasks API.
Tasks progress through a lifecycle from submission to completion.
Flexible Usage Patterns
Because each API builds on the previous one, you can use them at whatever level of control you need:
| Pattern | When to use | API calls |
|---|---|---|
| Full control | Iterating on programs, need versioning | POST /definitions → POST /compilations → POST /tasks |
| Skip definition storage | One-off programs, don't need to manually save | POST /compilations (with full definition) → POST /tasks |
| Simple execution | Program is ready, just want results | POST /tasks (with full definition) |
With the simple execution pattern, QLAM handles definition storage and compilation internally—you get the same result with a single API call.
QPU Modes
A QPU mode represents a specific configuration of a quantum processing unit. Different modes may offer:
- Different qubit counts
- Different gate sets or operations
- Different connectivity patterns
- Simulator vs. hardware execution
Learn more about QPU modes in the architecture section.
Next Steps
- Architecture Overview - See how these pieces fit together
- Task Lifecycle - Follow a task from submission to results
- QPU Modes - Explore available execution modes