Partilhar via


Como usar estimativas conhecidas com o Resource Estimator

Neste artigo, você aprenderá a usar estimativas pré-calculadas e otimizar a execução do Azure Quantum Resource Estimator.

Para obter informações sobre como executar o Estimador de Recursos, consulte Diferentes maneiras de executar o Estimador de Recursos.

Pré-requisitos

Se você quiser usar Python no VS Code, você também precisa do seguinte:

  • Instale a versão mais recente das extensões Python e Jupyter para VS Code.

  • O pacote mais recente do Azure Quantum qsharp .

    python -m pip install --upgrade qsharp 
    

Usar estimativas conhecidas para uma operação

Se você já conhece algumas estimativas para uma operação, por exemplo, a partir de um artigo publicado, uma maneira de reduzir o tempo de execução é pegar as estimativas conhecidas e incorporá-las ao custo geral do programa.

Alguns cenários em que você pode querer realizar estimativas a partir de estimativas pré-calculadas:

  • Você quer tentar um novo algoritmo descrito em um artigo para verificar se ele melhora o desempenho do seu programa. Você pode pegar estimativas do papel e incorporá-las ao programa.
  • Você quer desenvolver o programa de cima para baixo, ou seja, começar a desenvolver a partir da função principal e, em seguida, implementar níveis mais baixos. Você pode usar as estimativas conhecidas no nível superior com as estimativas esperadas para todo o programa. À medida que o processo de desenvolvimento progride, novos componentes começam a chamar para as estimativas conhecidas e as estimativas esperadas são substituídas pela implementação real. Desta forma, as estimativas para todo o programa são conhecidas antecipadamente e ficam mais precisas à medida que o desenvolvimento progride.

Você pode usar a AccountForEstimatesQ# operação para passar estimativas conhecidas para o Estimador de Recursos.

Nota

A operação AccountForEstimates especial é uma operação intrínseca para o Estimador de Recursos. Não é suportado por outra execução targets.

Por exemplo, considere a seguinte Q# operação chamada FactoringFromLogicalCounts que usa uma lista de estimativas conhecidas e uma lista de qubits.

import Microsoft.Quantum.ResourceEstimation.*;

operation FactoringFromLogicalCounts() : Unit {
    use qubits = Qubit[12581];

    AccountForEstimates(
        [TCount(12), RotationCount(12), RotationDepth(12),
         CczCount(3731607428), MeasurementCount(1078154040)],
        PSSPCLayout(), qubits);
}

A AccountForEstimates operação pode ter os seguintes parâmetros:

Funções com AccountForEstimates Description
AuxQubitCount(amount : Int) Retorna uma tupla que pode ser passada para a AccountForEstimates operação para especificar que o número de qubits auxiliares é igual ao amount.
TCount(amount : Int) Retorna uma tupla que pode ser passada para a AccountForEstimates operação para especificar que o número de portas T é igual ao amount.
MeasurementCount(amount : Int) Retorna uma tupla que pode ser passada para a AccountForEstimates operação para especificar que o número de medições é igual ao amount.
RotationCount(amount : Int) Retorna uma tupla que pode ser passada para a AccountForEstimates operação para especificar que o número de rotações é igual ao amount.
RotationDepth(amount : Int) Retorna uma tupla que pode ser passada para a AccountForEstimates operação para especificar que a profundidade de rotação é igual ao amount.
CczCount(amount : Int) Retorna uma tupla que pode ser passada para a AccountForEstimates operação para especificar que o número de portas CCZ é igual ao amount.
PSSPCLayout() Indique o layout Parallel Synthesis Sequential Pauli Computation (PSSPC). Para obter mais informações, consulte arXiv:2211.0769.

Nota

Se tiver algum problema ao trabalhar com o Estimador de Recursos, consulte a página Resolução de problemas ou contacte AzureQuantumInfo@microsoft.com.