Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
An Azure Quantum job runs a quantum program on a provider target, such as a quantum hardware system or simulator. Use the Microsoft Quantum Development Kit (QDK) to submit jobs interactively from Visual Studio Code (VS Code) or programmatically with Python.
Before you submit a job
To submit a job, you need:
- An Azure account with an active subscription.
- An Azure Quantum workspace. To create one, see Create an Azure Quantum workspace.
- A provider and target in your workspace that accept the input format and Quantum Intermediate Representation (QIR) target profile of your program.
Compare job submission methods
Choose a method based on how you develop your program and how much control or automation you need.
| Method | Languages and inputs | Use this method when | Consider another method when |
|---|---|---|---|
| QDK extension for VS Code | Q# and OpenQASM source files | You want an interactive workflow in VS Code with code completion, local simulation, debugging, circuit visualization, and job submission in one interface. | You use a Python quantum framework, need to generate jobs programmatically, or want to automate submissions. |
| QDK Python package | Q#, OpenQASM, Qiskit, Cirq, PennyLane, and compiled QIR | You work in a Python script or Jupyter notebook, want framework-native APIs, or need to generate, submit, and process jobs in code. | You only need to submit a Q# or OpenQASM file interactively, or you already have a compiled input file for an automation workflow. |
Submit jobs with the QDK extension for VS Code
Use the QDK extension when you write Q# or OpenQASM directly in VS Code and want a visual, interactive workflow. The extension can:
- Run and debug your program on a local simulator.
- Display circuit diagrams and result histograms.
- Connect to an Azure Quantum workspace.
- List providers, targets, and submitted jobs.
- Submit the active Q# or OpenQASM program and download the results.
This method is good for exploration and interactive development. You don't need to write connection or submission code.
For instructions, see Submit jobs with the QDK extension for VS Code.
Submit jobs with the QDK Python package
Use the QDK Python package when your workflow starts in Python or a Jupyter notebook. The Python package provides:
- The
qdk.azuremodule to connect to a workspace and submit jobs. - Q# and OpenQASM compilation to QIR.
- Job submission APIs for Qiskit and Cirq.
- A QIR submission path for PennyLane programs.
- APIs to inspect job status, and retrieve and visualize results.
This method is good for parameterized experiments, repeated submissions, and application integration.
For instructions, see Submit jobs with the QDK Python package.
Use provider-specific formats
Requirements for job input formats and parameters can vary by provider and target, and can have different job submission workflows. For more information, see Submit formatted quantum circuits to Azure Quantum.
Use provider-specific formats only when your workflow or target requires them.
What happens after submission
All submission methods create an Azure Quantum job. The job moves through states such as Waiting, Executing, and a final state such as Succeeded, Failed, or Cancelled. You can monitor and manage all jobs from VS Code, Python, Azure CLI, or the Azure portal.
For information about job properties and output, see Work with Azure Quantum jobs.