Udostępnij przez


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ć działanie narzędzia do szacowania zasobów Azure Quantum. 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.

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

Jeśli chcesz użyć języka Python w programie VS Code, potrzebne są również następujące elementy:

  • Zainstaluj najnowszą wersję rozszerzeń Python i Jupyter dla VS Code.

  • Najnowszy qdk pakiet języka Python.

    python -m pip install --upgrade qdk
    

Używanie znanych oszacowań dla operacji

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 od funkcji głównej, a następnie zaimplementować niższe poziomy. Możesz użyć znanych szacunków na najwyższym poziomie wraz 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.
  • Użyj Q#
  • Użyj Pythona

Możesz użyć operacji AccountForEstimatesQ# do przekazania określonych szacunków do narzędzia Resource Estimator.

Uwaga

Operacja specjalna AccountForEstimates jest operacją wewnętrzną dla narzędzia do szacowania zasobów. Nie jest obsługiwana przez inne wykonania.

Na przykład, rozważ następującą Q# operację nazwaną FactoringFromLogicalCounts, która przyjmuje listę znanych szacunków i listę kubitów.

import Std.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 operacji AccountForEstimates, 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 operacji AccountForEstimates, aby określić, że głębokość obrotu jest równa amount.
CczCount(amount : Int) Zwraca krotkę, którą można przekazać do operacji AccountForEstimates, 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 napotkasz 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.

  • Zrozumienie wyników szacowania zasobów
  • Różne sposoby uruchamiania Szacowania zasobów
  • Dostosuj oszacowania zasobów do cech maszyny
  • Samouczek: Szacowanie zasobów w problemie chemii kwantowej