Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os computadores quânticos são propensos a ruído e erros porque os qubits individuais são altamente sensíveis a alterações nas condições ambientais. A computação quântica tolerante a falhas requer algoritmos que utilizem códigos de correção quântica de erros (QEC). Estes códigos constroem e utilizam qubits lógicos a partir de coleções de qubits físicos individuais. Os qubits lógicos corrigem erros enquanto um programa corre num computador quântico, para que os cálculos quânticos possam fornecer resultados fiáveis.
O estimador de recursos quânticos Microsoft é uma ferramenta open-source na biblioteca Microsoft Quantum Development Kit (QDK) Python que permite estimar os recursos necessários para executar um programa quântico num computador quântico tolerante a falhas. Os códigos de correção de erros aumentam o número de qubits físicos e o tempo de execução de um algoritmo quântico. O estimador de recursos determina quantos qubits físicos e quanto tempo é necessário para que uma aplicação quântica corra em hardware específico com um dado esquema de correção de erros.
Com o estimador quântico de recursos, pode comparar tecnologias de qubits, esquemas de correção de erros quânticos e tecnologias de hardware para compreender o impacto nos recursos necessários para executar um programa quântico.
Como funciona o estimador quântico de recursos?
O estimador de recursos é concebido com base numa abordagem de modelação em camadas para ser flexível e componível. Constroem modelos para a aplicação, o hardware e o esquema de correção de erros. Também especificas como estes modelos interagem. Todos os modelos e instruções são independentes uns dos outros, por isso podes combinar e comparar diferentes combinações de modelos.
O estimador de recursos utiliza representações intermédias para ligar as camadas. Estas representações fazem parte da implementação do estimador e não são necessárias para o uso típico. Interages com o estimador de recursos através de linguagens de programação padrão e modelos de configuração de alto nível.
O estimador quântico de recursos requer quatro entradas:
- Um modelo de aplicação que descreve a computação quântica, como um programa Q#
- Um modelo de arquitetura que descreve o target hardware quântico, como qubits supercondutores baseados em portas com tempos de porta específicos e taxas de erro
- Um modelo de correção de erros e de destilação em fábrica que corresponde ao modelo da arquitetura de hardware
- Um orçamento de erros, que é a taxa máxima de erro permitida para operações em qubits lógicos
A partir do modelo da aplicação, o estimador de recursos gera um ou mais rastreios da aplicação. Estes traços são representações compactas das sequências de instruções aplicadas aos qubits. A partir do modelo de arquitetura e do modelo de correção de erros, o estimador de recursos deriva um conjunto físico de instruções (ISA) que especifica tempos de operação, custos de qubits e taxas de erro.
Tanto a camada de aplicação como a camada de arquitetura são convertidas em transformações configuráveis. As transformações de traço da camada de aplicação incluem decomposições de portas e rotinas de layout. As transformações ISA da camada de arquitetura incluem códigos de correção de erros quânticos e fábricas de estados mágicos para construir conjuntos de instruções lógicas de maior fidelidade a partir dos primitivos físicos da arquitetura.
O estimador de recursos explora um grande espaço de design combinatório porque existem muitas escolhas válidas de design em cada camada. Por exemplo, diferentes distâncias de código QEC, diferentes protocolos de fábrica e diferentes parâmetros de decomposição. O estimador de recursos explora todas as combinações de traço de aplicação e ISA de arquitetura para avaliar a contagem física de qubits, os tempos de execução e as taxas de erro acumuladas para cada combinação. Os resultados são filtrados para uma fronteira Pareto-ótima, que é o conjunto ótimo de configurações onde nenhum outro resultado é simultaneamente melhor em qubits e tempo de execução, mantendo-se dentro do orçamento de erro especificado.
Suporte a linguagens de aplicação
O estimador de recursos aceita aplicações quânticas em várias das seguintes linguagens de programação e formatos intermédios:
- Q#
- Cirq
- OpenQASM
- QIR
- Contagens lógicas
- Aplicações personalizadas
Com QIR e a capacidade de criar aplicações personalizadas, o estimador de recursos é independente da linguagem e suporta uma vasta gama de ferramentas de programação quântica. As aplicações em diferentes frameworks são analisadas usando o mesmo pipeline de estimativa. Também pode construir aplicações personalizadas fora destes frameworks suportados.
Suporte de hardware para arquitetura
As estimativas de recursos dependem de suposições sobre o target hardware e o código de correção de erros que protege as operações lógicas contra erros. O estimador de recursos inclui modelos incorporados para arquiteturas comuns e esquemas de correção de erros. Também pode definir o seu próprio hardware personalizado e modelos de correção de erros para explorar arquiteturas hipotéticas, avaliar tecnologias emergentes ou estudar como as alterações nos parâmetros físicos afetam os requisitos de recursos para executar um programa.
Compare estimativas e visualize os resultados
O estimador de recursos permite-lhe estimar os recursos necessários para executar o mesmo algoritmo quântico para diferentes configurações de target modelos de arquitetura. Pode representar os resultados para cada configuração para comparar os resultados. Ao comparar estimativas, pode perceber como a arquitetura dos qubits, o esquema QEC e outros parâmetros de hardware impactam os recursos totais necessários para executar o seu programa.
Comece a usar o estimador de recursos
Para começar, veja Como instalar e usar o estimador de recursos Microsoft Quantum.
Para mais informações e exemplos de código, consulte os exemplos de estimadores de recursos quânticos no repositório QDK no GitHub.