Jak używać znanych oszacowań za pomocą narzędzia do szacowania zasobów
Z tego artykułu dowiesz się, jak używać wstępnie obliczonych oszacowań i zoptymalizować wykonywanie narzędzia do szacowania zasobów usługi Azure Quantum.
Aby uzyskać informacje o sposobie uruchamiania narzędzia do szacowania zasobów, zobacz Różne sposoby uruchamiania narzędzia do szacowania zasobów.
Wymagania wstępne
- Najnowsza wersja programu Visual Studio Code lub otwórz program VS Code w sieci Web.
- Najnowsza wersja rozszerzenia zestawu Azure Quantum Development Kit. Aby uzyskać szczegółowe informacje na temat instalacji, zobacz Instalowanie zestawu QDK w programie VS Code.
Jeśli chcesz użyć języka Python w programie VS Code, potrzebne są również następujące elementy:
Zainstaluj najnowszą wersję języka Python i rozszerzeń Jupyter dla programu VS Code.
Najnowszy pakiet usługi Azure Quantum
qsharp
.python -m pip install --upgrade qsharp
Używanie znanych oszacowań dla operacji
Jeśli znasz już pewne oszacowania dla operacji, na przykład z opublikowanego artykułu, jednym ze sposobów skrócenia czasu wykonywania jest uwzględnienie znanych szacunków i uwzględnienie ich w ogólnym koszcie programu.
Niektóre scenariusze, w których można wykonać szacowanie na podstawie wstępnie obliczonych oszacowań:
- Chcesz wypróbować nowatorski algorytm opisany w dokumencie, aby sprawdzić, czy poprawia wydajność programu. Możesz wziąć oszacowania z papieru i włączyć je do programu.
- Chcesz opracować program od góry do dołu, czyli rozpocząć programowanie z funkcji main, a następnie zaimplementować niższe poziomy. Możesz użyć znanych szacunków na najwyższym poziomie z oczekiwanymi oszacowaniami dla całego programu. W miarę postępu procesu programowania nowe składniki zaczynają wywoływać znane oszacowania i oczekiwane szacunki są zastępowane przez rzeczywistą implementację. W ten sposób oszacowania dla całego programu są znane z góry i są bardziej precyzyjne w miarę postępów rozwoju.
Za pomocą AccountForEstimates
Q# operacji można przekazać znane szacunki do narzędzia do szacowania zasobów.
Uwaga
Operacja specjalna jest operacją AccountForEstimates
wewnętrzną narzędzia do szacowania zasobów. Nie jest obsługiwana przez inne wykonanie targets.
Rozważmy na przykład następującą Q# operację o nazwie FactoringFromLogicalCounts
, która przyjmuje listę znanych szacunków i listę kubitów.
import Microsoft.Quantum.ResourceEstimation.*;
operation FactoringFromLogicalCounts() : Unit {
use qubits = Qubit[12581];
AccountForEstimates(
[TCount(12), RotationCount(12), RotationDepth(12),
CczCount(3731607428), MeasurementCount(1078154040)],
PSSPCLayout(), qubits);
}
Operacja AccountForEstimates
może przyjmować następujące parametry:
Funkcje z AccountForEstimates |
opis |
---|---|
AuxQubitCount(amount : Int) |
Zwraca krotkę, którą można przekazać do AccountForEstimates operacji, aby określić, że liczba kubitów pomocniczych jest równa amount . |
TCount(amount : Int) |
Zwraca krotkę, którą można przekazać do AccountForEstimates operacji, aby określić, że liczba bram T jest równa amount . |
MeasurementCount(amount : Int) |
Zwraca krotkę, którą można przekazać do AccountForEstimates operacji, aby określić, że liczba pomiarów jest równa amount wartości . |
RotationCount(amount : Int) |
Zwraca krotkę, którą można przekazać do AccountForEstimates operacji, aby określić, że liczba obrotów jest równa amount . |
RotationDepth(amount : Int) |
Zwraca krotkę, którą można przekazać do AccountForEstimates operacji, aby określić, że głębokość obrotu jest równa amount . |
CczCount(amount : Int) |
Zwraca krotkę, którą można przekazać do AccountForEstimates operacji, aby określić, że liczba bram CCZ jest równa amount . |
PSSPCLayout() |
Wskazuje układ przetwarzania równoległego syntezy sekwencyjnej Pauli (PSSPC). Aby uzyskać więcej informacji, zobacz arXiv:2211.0769. |
Uwaga
Jeśli wystąpi jakikolwiek problem podczas pracy z narzędziem do szacowania zasobów, zapoznaj się ze stroną Rozwiązywanie problemów lub skontaktuj się z .AzureQuantumInfo@microsoft.com