Provedor de Quantinuum

Dica

Os usuários iniciantes recebem automaticamente US$ 500 (USD)de créditos do Azure Quantum para uso com cada provedor de hardware quântico participante. Se você tiver consumido todos os créditos e precisar de mais, poderá se inscrever no programa de créditos do Azure Quantum.

O Quantinuum fornece acesso a sistemas de íons presos com alta fidelidade, qubits totalmente conectados e a capacidade de executar medida de meio-circuito.

Destinos

Os seguintes targets itens estão disponíveis neste provedor:

Nome de destino ID de destino Número de qubits Descrição
Verificador de sintaxe H1-1 quantinuum.sim.h1-1sc 20 qubits Use isso para validar os programas quânticos no compilador H1-1 antes do envio para hardware ou para os emuladores na plataforma da Quantinuum. Sem custo.
Verificador de Sintaxe H2-1 quantinuum.sim.h2-1sc 32 qubits Use isso para validar programas quânticos no compilador H2-1 antes de enviar para hardware ou emuladores na plataforma do Quantinuum. Sem custo.
Emulador H1-1 quantinuum.sim.h1-1e 20 qubits Usa um modelo físico realista e um modelo de ruído do H1-1.
Emulador H2-1 quantinuum.sim.h2-1e 32 qubits Usa um modelo físico realista e um modelo de ruído de H2-1.
H1-1 quantinuum.qpu.h1-1 20 qubits O dispositivo de íons presos H1-1 da Quantinuum.
H2-1 quantinuum.qpu.h2-1 32 qubits O dispositivo de íons presos H2-1 de Quantinuum.

Quantinuum corresponde targets a um Basic Measurement Feedback perfil. Para obter mais informações sobre esse target perfil e suas limitações, consulte Noções básicas target sobre tipos de perfil no Azure Quantum.

Todos os Quantinuum agora dão targets suporte a circuitos híbridos integrados. Para obter mais informações sobre como enviar trabalhos híbridos integrados, consulte Computação híbrida integrada.

Para começar a usar o provedor Quantinuum no Azure Quantum, confira Introdução ao Q# e a um notebook do Azure Quantum.

Dica

Os trabalhos quânticos enviados em uma sessão têm acesso exclusivo ao hardware Quantinuum, desde que você enfileirar trabalhos dentro de um minuto um do outro. Depois disso, qualquer trabalho é aceito e tratado com a lógica de priorização e fila padrão. Para obter mais informações, consulte sessões no Azure Quantum.

Verificadores de sintaxe

Recomendamos que os usuários validem primeiro o código usando nosso verificador de sintaxe. Essa é uma ferramenta para verificar a sintaxe correta, a conclusão da compilação e a compatibilidade do computador. Verificadores de sintaxe usam o mesmo compilador que o computador quântico.target Por exemplo, o verificador de sintaxe H1-1 usa o mesmo compilador que H1-1. A pilha de compilação completa é executada com exceção das operações quânticas reais. Se o código for compilado, o verificador de sintaxe retornará um success status e um resultado de todos os 0s. Se o código não for compilado, o verificador de sintaxe retornará uma status com falha e fornecerá o erro retornado para ajudar os usuários a depurarem a sintaxe do circuito. Os verificadores de sintaxe permitem que os desenvolvedores validem seus códigos a qualquer momento, mesmo quando o computador está offline.

  • Tipo de trabalho: Simulation
  • Formatos de dados: honeywell.openqasm.v1, honeywell.qir.v1
  • ID de destino:
    • Verificador de sintaxe H1-1: quantinuum.sim.h1-1sc
    • Verificador de Sintaxe H2-1: quantinuum.sim.h2-1sc
  • Perfil de execução de destino: Comentários sobre medidas básicas

O uso de verificadores de sintaxe é oferecido gratuitamente.

Emuladores de modelo de sistema H1

Depois de validar a sintaxe de seu código com um Verificador de Sintaxe, os usuários podem aproveitar os Emuladores H1 do Modelo de Sistema do Quantinuum, ferramentas de emulação que contêm um modelo físico detalhado e um modelo de ruído realista do hardware H1 do Modelo de Sistema real. Os modelos de ruído são derivados de uma caracterização detalhada do hardware. Os Emuladores H1 do Modelo de Sistema usam uma API idêntica para envio de trabalho como o hardware do Modelo de Sistema H1, permitindo a transição perfeita da emulação para o hardware. Para ajudar a maximizar a produtividade e reduzir o tempo de desenvolvimento, os Emuladores do Modelo de Sistema H1 estão disponíveis mesmo enquanto o hardware está offline.

Mais informações podem ser encontradas na Folha de Dados do Produto do Emulador do Modelo de Sistema H1 encontrada na página Modelo do Sistema H1 .

  • Tipo de trabalho: Simulation
  • Formato dos dados: quantinuum.openqasm.v1
  • ID de destino:
    • Emulador H1-1: quantinuum.sim.h1-1e
  • Perfil de execução de destino: Basic Measurement Feedback

O uso do Emulador H1 do Modelo de Sistema é oferecido gratuitamente com uma assinatura de hardware. Para ver detalhes, confira Preços do Azure Quantum.

Emulador da série H (baseado em nuvem)

O Emulador da Série H está disponível gratuitamente na página Código com o Azure Quantum no site do Azure Quantum, onde você pode escrever código Q# e enviar seus trabalhos para o Emulador Quantinuum H-Series sem uma conta do Azure. O Emulador da Série H é um emulador quântico baseado em statevector que usa um modelo de ruído físico realista e parâmetros de erro generalizados com base no desempenho típico de um computador quântico do Modelo de Sistema H1. A simulação quântica executada é a mesma que o Emulador do Modelo de Sistema H1 , mas a rotina de otimização de circuito clássico é reduzida para aumentar a taxa de transferência. O suporte para computação híbrida integrada está planejado para uma data futura.

Modelo de sistema H1

A geração H1 do Modelo de Sistema de computadores quânticos, da plataforma Honeywell, é composta por um QCCD (dispositivo acoplado a carga) quantum com uma seção linear e atualmente inclui um computador targets: o H1-1. Os usuários são incentivados a testar a compatibilidade de seu código com o H1-1 enviando trabalhos para um verificador de sintaxe e o Emulador do Modelo de Sistema H1 antes de enviá-los para os target computadores.

O computador do Modelo de Sistema H1 é atualizado continuamente durante todo o ciclo de vida do produto. Os usuários recebem acesso aos hardwares mais atualizados, avançados e compatíveis disponíveis.

Mais informações podem ser encontradas na Folha de Dados do Produto do Modelo do Sistema H1 encontrada na página Modelo do Sistema H1 .

  • Tipo de trabalho: Quantum Program
  • Formato de dados: honeywell.openqasm.v1, honeywell.qir.v1
  • ID de destino:
    • H1-1: quantinuum.qpu.h1-1
  • Perfil de execução de destino: Basic Measurement Feedback

Emulador do Modelo de Sistema H2

Depois de validar a sintaxe de seu código com o Verificador de Sintaxe H2-1, os usuários podem aproveitar o Emulador H2 do Modelo de Sistema do Quantinuum, uma ferramenta de emulação que contém um modelo físico detalhado e um modelo de ruído realista do hardware do Modelo de Sistema H2 real. Mais informações sobre o modelo de ruído podem ser encontradas na Folha de Dados do Produto do Emulador do Modelo de Sistema H2 encontrada na página Modelo do Sistema H2 . O Emulador do Modelo de Sistema H2 usa uma API idêntica para envio de trabalho como o hardware do Modelo de Sistema H2, permitindo a transição perfeita da emulação para o hardware. Para ajudar a maximizar a produtividade e reduzir o tempo de desenvolvimento, o Emulador H2 está disponível mesmo quando o hardware está offline.

  • Tipo de trabalho: Simulation
  • Formato dos dados: quantinuum.openqasm.v1
  • ID de destino:
    • Emulador H2-1: quantinuum.sim.h2-1e
  • Perfil de execução de destino: Comentários sobre medidas básicas

O uso do Emulador do Modelo de Sistema H2 é oferecido gratuitamente com uma assinatura de hardware. Para ver detalhes, confira Preços do Azure Quantum.

Modelo do sistema H2

A geração H2 do modelo de sistema Quantinuum de computadores quânticos, da Honeywell, é composta por um QCCD (dispositivo acoplado por carga) quantum com duas seções lineares conectadas e atualmente tem um computador, o H2-1. Mais informações podem ser encontradas na Folha de Dados do Produto do Modelo do Sistema H2 encontrada na página Modelo do Sistema H2 . Os usuários são incentivados a testar a compatibilidade de seu código enviando trabalhos para um verificador de sintaxe e o Emulador do Modelo de Sistema H2 antes de enviá-los para os target computadores.

Se um usuário enviar um trabalho para o computador H2-1 e o computador H2-1 não estiver disponível, o trabalho permanecerá na fila do computador até que o computador fique disponível.

O hardware do Modelo de Sistema H2 é atualizado continuamente durante todo o ciclo de vida do produto. Os usuários recebem acesso aos hardwares mais atualizados, avançados e compatíveis disponíveis.

  • Tipo de trabalho: Quantum Program
  • Formato dos dados: quantinuum.openqasm.v1
  • ID de destino:
    • H2-1: quantinuum.qpu.h2-1
  • Perfil de execução de destino: Comentários sobre medidas básicas

Especificações técnicas do modelo de sistema H1 e H2

Os detalhes técnicos do Modelo de Sistema H1 e do Modelo de Sistema H2 podem ser encontrados nas folhas de dados do produto do Quantinuum nas páginas Modelo do Sistema H1 e Modelo do Sistema H2 juntamente com links para a especificação do Quantinuum e repositórios de dados de volume quântico e como citar o uso de sistemas Quantinuum.

Recursos adicionais

Recursos adicionais disponíveis por meio da API Quantinuum estão listados aqui.

Funcionalidade Descrição
Medição e redefinição de circuito médio (MCMR) Medir qubits no meio de um circuito e reutilizá-los
Portões ZZ arbitrários de ângulo Executar diretamente rotações de portão angular arbitrário de 2 qubits
Parâmetros de ruído do emulador Experimente os parâmetros de ruído usados nos emuladores da Série H do Quantinuum
Otimizações de TKET na pilha da série H Experimente ativar diferentes níveis de otimizações de TKET na pilha da Série H

Os usuários podem aproveitar esses recursos adicionais por meio de funções de circuito ou parâmetros de passagem nos provedores Q# e Qiskit do Azure Quantum.

Medição e redefinição de circuito médio

O MCMR (Medição e Redefinição de Circuito Médio) permite que os usuários meçam qubits no meio de um circuito e os redefinam. Isso habilita a funcionalidade para correção de erro quântico, bem como a capacidade de reutilizar qubits dentro do circuito.

Devido à estrutura de nível interno de qubits de íons presos, uma medida de circuito médio pode deixar o qubit em um estado não computacional. Todas as medidas de circuito médio devem ser seguidas por uma redefinição se o qubit deve ser usado novamente nesse circuito. Os exemplos de código a seguir demonstram isso.

Quando um subconjunto de qubits é medido no meio do circuito, as informações clássicas dessas medidas podem ser usadas para condicioná-los a elementos futuros do circuito. Os exemplos também realçam esse uso.

Para obter informações sobre MCMR em sistemas Quantinuum, consulte as folhas de dados do produto da série H nas páginas Modelo do Sistema H1 e Modelo do Sistema H2 .

No Q#, a MResetZ função pode ser usada para medir um qubit e redefini-lo. Para obter mais informações sobre essa função, consulte MResetZ na documentação do Q#.

%%qsharp
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Measurement;

operation ContinueComputationAfterReset() : Result[] {
    // Set up circuit with 2 qubits
    use qubits = Qubit[2];

    // Perform Bell Test
    H(qubits[0]);
    CNOT(qubits[0], qubits[1]);

    // Measure Qubit 1 and reset it
    let res1 = MResetZ(qubits[1]);

    // Continue additional computation, conditioned on qubits[1] measurement outcome
    if res1 == One {
         X(qubits[0]);
    }
    CNOT(qubits[0], qubits[1]);

    // Measure qubits and return results
    let res2 = Measure([PauliZ, PauliZ], qubits);
    return [res1, res2];
}

Portões ZZ arbitrários de ângulo

O conjunto de portões nativos de Quantinuum inclui portões ZZ de ângulo arbitrário. Isso é benéfico para reduzir a contagem de portões de 2 qubits para muitos algoritmos quânticos e sequências de portões. Para obter informações sobre portões ZZ arbitrários angulares em sistemas Quantinuum, consulte as folhas de dados do produto da série H nas páginas Modelo do Sistema H1 e Modelo de Sistema H2 .

Em Q#, o portão ZZ de ângulo arbitrário é implementado com a Rzz operação .

%%qsharp
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;

operation ContinueComputationAfterReset(theta : Double) : Result[] {
    
    // Set up circuit with 2 qubits
    use qubits = Qubit[2];

    // Create array for measurement results
    mutable resultArray = [Zero, size = 2];

    H(qubits[0]);
    Rz(theta, qubits[0]);
    Rz(theta, qubits[1]);
    X(qubits[1]);

    // Add Arbitrary Angle ZZ gate
    Rzz(theta, qubits[0], qubits[1]);  

    // Measure qubits and return results
    for i in IndexRange(qubits) {
        set resultArray w/= i <- M(qubits[i]);  
    }
    
    return resultArray;
}

Parâmetros de ruído do emulador

Os usuários têm a opção de experimentar os parâmetros de ruído dos emuladores Quantinuum. Apenas alguns dos parâmetros de ruído disponíveis são realçados aqui demonstrando como passar os parâmetros nos provedores do Azure Quantum.

Para obter mais informações sobre o conjunto completo de parâmetros de ruído disponíveis, consulte as folhas de dados do produto emulador da série H nas páginas Modelo do Sistema H1 e Modelo do Sistema H2 .

Primeiro, importe os pacotes necessários e inicie o perfil base:

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

Em seguida, defina a função .

%%qsharp
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Convert;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

e compile a operação:

MyProgram = qsharp.compile("GenerateRandomBit()")

Conecte-se ao Azure Quantum, selecione o target computador e configure os parâmetros de ruído para o emulador:

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("quantinuum.sim.h1-1e")

# Update the parameter names desired
# Note: This is not the full set of options available. 
# For the full set, see the System Model H1 Emulator Product Data Sheet
option_params = {
    "error-params": {
        "p1": 4e-5,
        "p2": 3e-3,
        "p_meas": [3e-3, 3e-3],
        "p_init": 4e-5,
        "p_crosstalk_meas": 1e-5,
        "p_crosstalk_init": 3e-5,
        "p1_emission_ratio": 6e-6,
        "p2_emission_ratio": 2e-4
    }
}

Passe as opções de ruído do emulador ao enviar o trabalho:

job = MyTarget.submit(MyProgram, "Experiment with Emulator Noise Parameters", 
                      shots = 10, 
                      input_params = option_params)
job.get_results()

Para desativar o modelo de ruído do emulador, defina a opção error-model como False. Por padrão, isso é definido como True.

option_params = {
    "error-model": False 
}

Para usar o emulador do estabilizador, defina a opção simulator como stabilizer. Por padrão, isso é definido como state-vector.

option_params = {
    "simulator": "stabilizer" 
}

Compilação TKET na pilha da série H

Os circuitos enviados aos sistemas da Série H do Quantinuum, exceto para envios híbridos integrados, são executados automaticamente por meio de passagens de compilação TKET para hardware da Série H. Isso permite que os circuitos sejam otimizados automaticamente para sistemas da Série H e sejam executados com mais eficiência.

Mais informações sobre as passagens de compilação específicas aplicadas podem ser encontradas na pytket-quantinuum documentação, especificamente na pytket-quantinuum seção Passes de Compilação .

Na pilha de software da Série H, o nível de otimização aplicado é definido com o tket-opt-level parâmetro . A configuração de compilação padrão para todos os circuitos enviados aos sistemas da Série H é o nível de otimização 2.

Os usuários que gostariam de experimentar a compilação TKET são aprovados e veem quais otimizações se aplicariam aos circuitos antes de enviar trabalhos podem ver o bloco de anotações Quantinuum_compile_without_api.ipynb na pytket-quantinuum pasta Exemplos .

Para obter mais informações sobre pytket, consulte os seguintes links:

Primeiro, importe os pacotes necessários e inicie o perfil base:

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

Em seguida, defina a função .

%%qsharp
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Convert;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

e compile a operação:

MyProgram = qsharp.compile("GenerateRandomBit()")

Conecte-se ao Azure Quantum, selecione o target computador e configure os parâmetros de ruído para o emulador:

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("quantinuum.sim.h1-1e")

# Update TKET optimization level desired
option_params = {
    "tket-opt-level": 1
}

Passe a opção de otimização ao enviar o trabalho:

job = MyTarget.submit(MyProgram, "Experiment with TKET Compilation", shots = 10, input_params = option_params)
job.get_results()

Especificações técnicas

Detalhes técnicos para os Emuladores H1 e H2 e System Model H1 e H2 do Modelo do Sistema podem ser encontrados nas folhas de dados do produto do Quantinuum na página Modelo do Sistema H1 e Modelo de Sistema H2 juntamente com links para a especificação do Quantinuum e repositórios de dados de volume quântico e como citar o uso de sistemas Quantinuum.

Disponibilidade de destino

Os computadores quânticos do Quantinuum série H foram projetados para serem atualizados continuamente, o que permite que os clientes tenham acesso aos recursos de hardware mais recentes, pois o Quantinuum aprimora continuamente as fidelidades de portão, os erros de memória e a velocidade do sistema.

O hardware Quantinuum percorre períodos comerciais e períodos de desenvolvimento. Durante períodos comerciais, o hardware está disponível para processar trabalhos por meio de um sistema de filas. Durante os períodos de desenvolvimento, o hardware fica offline à medida que as atualizações são aplicadas.

Todos os meses, um calendário é enviado aos usuários do Quantinuum com informações sobre os períodos comerciais e de desenvolvimento. Se você não recebeu esse calendário, envie um email para QCsupport@quantinuum.com.

Um targetstatus indica sua capacidade atual de processar trabalhos. Os estados possíveis de um target incluem:

  • Disponível: o target está online, processando trabalhos enviados e aceitando novos.
  • Degradado: o target está aceitando trabalhos, mas não processando-os no momento.
  • Indisponível: o target está offline, não aceitando novos envios de trabalho.

Para o computador targetsquântico Quantinuum , Disponível e Degradado correspondem a períodos comerciais, enquanto Não disponível corresponde a períodos de desenvolvimento em que o computador está offline para atualizações.

As informações de status atuais podem ser recuperadas na guia Provedores de um espaço de trabalho no portal do Azure.

Preços

Para ver os planos de cobrança do Quantinuum, visite os Preços do Azure Quantum.

Limites e cotas

As cotas de Quantinuum são controladas com base na unidade de crédito de uso da QPU, no HQC (H-System Quantum Credit) para trabalhos enviados a computadores quânticos do Quantinuum e em hqcs emuladores (eHQCs) para trabalhos enviados a emuladores.

Os HQCs e o eHQCs são usados para calcular o custo da execução de um trabalho e são calculados com base na seguinte fórmula:

$$ HQC = 5 + C(N_{1q} + 10 N_{2q} + 5 N_m)/5000 $$

em que:

  • $N_{1Q}$ é o número de operações de um qubit em um circuito.
  • $N_{2Q}$ é o número de operações nativas de dois qubits em um circuito. O portão nativo é equivalente a CNOT até vários portões de um qubit.
  • $N_{m}$ é o número de operações de preparação e medição de estado (SPAM) em um circuito, incluindo a preparação de estado implícita inicial e quaisquer medidas intermediárias e finais e redefinições de estado.
  • $C$ é a contagem de captura.

Observação

O custo total em HQCs inclui todos os portões e medidas em quaisquer branches condicionais ou fluxos de controle. Isso pode ter um impacto maior nos trabalhos híbridos integrados.

As cotas são baseadas na seleção do plano e podem ser aumentadas com um tíquete de suporte. Para ver seus limites e suas cotas atuais, acesse a folha Créditos e cotas e selecione a guia Cotas do seu workspace no portal do Azure. Para obter mais informações, confira Cotas do Azure Quantum.

Observação

Se você estiver usando um plano de Créditos do Azure Quantum e não um plano de cobrança, as informações de cotas serão mapeadas para seus créditos alocados. Nesse caso, a cota lista o número total de créditos recebidos.