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 Visual Studio Code lub otwórz program VS Code w sieci Web.
- Najnowsza wersja rozszerzenia Azure Quantum Development Kit . Aby uzyskać szczegółowe informacje na temat instalacji, zobacz Instalowanie nowoczesnego zestawu QDK w programie VS Code.
Jeśli chcesz używać 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 szacunki operacji, na przykład z opublikowanego dokumentu, jednym ze sposobów skrócenia czasu wykonywania jest uwzględnienie znanych oszacowań i włączenie ich do ogólnego kosztu programu.
Niektóre scenariusze, w których można wykonać szacowanie na podstawie wstępnie obliczonych szacunków:
- 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 w dół, czyli rozpocząć opracowywanie z funkcji main, a następnie zaimplementować niższe poziomy. Możesz użyć znanych oszacowań na najwyższym poziomie z oczekiwanymi szacunkami 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 szacunki dla całego programu są znane z góry i bardziej precyzyjne w miarę postępu rozwoju.
Możesz użyć AccountForEstimates
Q# operacji , aby przekazać znane oszacowania do narzędzia do szacowania zasobów.
Uwaga
Operacja specjalna jest operacją AccountForEstimates
wewnętrzną narzędzia do szacowania zasobów. Nie jest on obsługiwany przez inne wykonanie targets.
Rozważmy na przykład następującą Q# operację o nazwie FactoringFromLogicalCounts
, która przyjmuje listę znanych oszacowań i listę kubitów.
open 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 auxilliary 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 . |
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 równoległej 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
Następne kroki
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla