Como enviar trabalhos para Azure Quantum

Um Azure Quantum job executa um programa quântico em um target provedor, como um sistema de hardware quântico ou um simulador. Use o Microsoft Quantum Development Kit (QDK) para enviar trabalhos interativamente de Visual Studio Code (VS Code) ou programaticamente com Python.

Antes de enviar um trabalho

Para enviar um trabalho, você precisa:

  • Uma conta do Azure com uma assinatura ativa.
  • Um Azure Quantum espaço de trabalho. Para criar um espaço de trabalho, consulte Criar um Azure Quantum espaço de trabalho.
  • Um provedor e target no seu espaço de trabalho que aceitam o formato de entrada e o perfil da Representação Intermediária Quântica (QIR) target do seu programa.

Comparar métodos de submissão de trabalhos

Escolha um método com base em como você desenvolve seu programa e quanto controle ou automação você precisa.

Método Idiomas e entradas Use este método quando Considere outro método quando
QDK extensão para VS Code arquivos de origem Q# e OpenQASM Você quer um fluxo de trabalho interativo em VS Code, com conclusão automática de código, simulação local, depuração, visualização de circuitos e submissão de jobs em uma única interface. Você usa uma Python estrutura quântica, precisa gerar trabalhos programaticamente ou deseja automatizar envios.
QDK Python pacote Q#, OpenQASM, Qiskit, Cirq, PennyLane, e compilado QIR Você trabalha em um script Python ou notebook do Jupyter, quer APIs nativas do framework ou precisa gerar, enviar e processar tarefas em código. Você só precisa enviar interativamente um arquivo OpenQASM ou Q#, ou já tem um arquivo de entrada compilado para um fluxo de trabalho de automação.

Enviar tarefas com extensão QDK para VS Code

Use a extensão QDK quando você escrever Q# ou OpenQASM diretamente em VS Code e quiser um fluxo de trabalho visual e interativo. A extensão pode:

  • Execute e depure seu programa em um simulador local.
  • Exibir diagramas de circuito e fazer histogramas de resultados.
  • Conecte-se a um espaço de trabalho Azure Quantum.
  • Listar provedores e trabalhos targetsenviados.
  • Envie o programa OpenQASM ou Q# ativo e baixe os resultados.

Esse método é bom para exploração e desenvolvimento interativo. Você não precisa escrever código de conexão ou envio.

Para obter instruções, consulte Enviar trabalhos com a QDK extensão para VS Code.

Enviar trabalhos com o QDKPython pacote

Use o pacote QDKPython quando seu fluxo de trabalho começar em Python ou em um notebook Jupyter. O Python pacote fornece:

  • O módulo qdk.azure para se conectar a um espaço de trabalho e enviar tarefas.
  • compilação de Q# e OpenQASM para QIR
  • APIs para submissão de tarefas para Qiskit e Cirq.
  • Um QIR fluxo de envio para programas PennyLane.
  • APIs para inspecionar o status do trabalho e recuperar e visualizar resultados.

Esse método é bom para experimentos parametrizados, envios repetidos e integração de aplicativos.

Para obter instruções, consulte Enviar trabalhos com o QDKPython pacote.

Usar formatos específicos do provedor

Os requisitos para formatos de entrada e parâmetros da tarefa podem variar conforme o provedor e target, e podem ter fluxos de trabalho de envio de tarefas diferentes. Para obter mais informações, consulte Enviar circuitos quânticos formatados para Azure Quantum.

Use formatos específicos do provedor somente quando o fluxo de trabalho ou target os exigir.

O que acontece após o envio

Todos os métodos de envio criam uma Azure Quantum tarefa. O trabalho passa por estados como Espera, Execução e um estado final, como Êxito, Falha ou Cancelado. Você pode monitorar e gerenciar todos os trabalhos a partir de VS Code, Python, CLI do Azure ou do portal do Azure.

Para obter informações sobre as propriedades e a saída do trabalho, consulte Trabalhar com Azure Quantum trabalhos.