Como usar estimativas conhecidas com o Avaliador de Recursos
Neste artigo, você aprenderá a usar estimativas pré-calculadas e otimizar a execução do Avaliador de Recursos do Azure Quantum.
Para obter informações sobre como executar o Avaliador de Recursos, consulte Diferentes maneiras de executar o Avaliador 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 Kit de desenvolvimento do Azure Quantum. Para obter detalhes de instalação, consulte Instalando o QDK no VS Code.
Se você quiser usar o Python no VS Code, também precisará 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, 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 de estimativas pré-calculadas:
- Você deseja experimentar 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ê deseja 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 inferiores. Você pode usar as estimativas conhecidas no nível superior com estimativas esperadas para todo o programa. À medida que o processo de desenvolvimento avança, novos componentes começam a chamar as estimativas conhecidas e as estimativas esperadas são substituídas pela implementação real. Dessa forma, as estimativas para todo o programa são conhecidas antecipadamente e ficam mais precisas à medida que o desenvolvimento avança.
Você pode usar a AccountForEstimates
Q# operação para passar estimativas conhecidas para o Avaliador de Recursos.
Observação
A operação AccountForEstimates
especial é uma operação intrínseca para o Avaliador de Recursos. Não é suportado por outra execução targets.
Por exemplo, considere a operação a seguir Q# 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 |
Descrição |
---|---|
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 medidas é 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 PSSPC (Computação Sequencial de Pauli de Síntese Paralela). Para obter mais informações, consulte arXiv:2211.0769. |
Observação
Se você tiver algum problema ao trabalhar com o Avaliador de recursos, verifique a página Solução de problemas ou entre em contato com AzureQuantumInfo@microsoft.com.