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
- A versão mais recente do Visual Studio Code ou abra o VS Code na Web.
- A versão mais recente da extensão do Azure Quantum Development Kit. Para obter detalhes da instalação, consulte Instalando o QDK no VS Code.
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 AccountForEstimates
Q# 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.