Sdílet prostřednictvím


Jak používat známé odhady s nástrojem pro odhad prostředků

V tomto článku se dozvíte, jak používat předem vypočítané odhady a optimalizovat provádění odhadu prostředků Azure Quantum.

Informace o tom, jak spustit nástroj pro odhad prostředků, najdete v tématu Různé způsoby spuštění nástroje pro odhad prostředků.

Požadavky

Pokud chcete v editoru VS Code používat Python, potřebujete také následující:

  • Nainstalujte nejnovější verzi Pythonu a rozšíření Jupyter pro VS Code.

  • Nejnovější balíček Azure Quantum qsharp .

    python -m pip install --upgrade qsharp 
    

Použití známých odhadů pro operaci

Pokud už znáte některé odhady operace, například z publikovaného dokumentu, je jedním ze způsobů, jak zkrátit dobu provádění, vzít známé odhady a začlenit je do celkových nákladů programu.

Některé scénáře, ve kterých můžete chtít provést odhad předpočítaných odhadů:

  • Chcete vyzkoušet nový algoritmus popsaný v dokumentu a zkontrolovat, jestli zlepšuje výkon programu. Můžete vzít odhady z papíru a začlenit je do programu.
  • Chcete vyvíjet program shora dolů, to znamená začít vyvíjet z hlavní funkce a pak implementovat nižší úrovně. Známé odhady můžete použít na nejvyšší úrovni s očekávanými odhady pro celý program. Při pokroku procesu vývoje se nové komponenty začnou volat na známé odhady a očekávané odhady se nahradí skutečnou implementací. Tímto způsobem jsou odhady pro celý program známé předem a při vývoji se zpřesní.

Pomocí této operace můžete AccountForEstimatesQ# předat známé odhady estimátoru prostředků.

Poznámka:

Zvláštní operace je vnitřní operací AccountForEstimates pro estimátor prostředků. Není podporováno jiným spuštěním targets.

Představte si například následující Q# operaci, která přebírá FactoringFromLogicalCounts seznam známých odhadů a seznam qubitů.

import Microsoft.Quantum.ResourceEstimation.*;

operation FactoringFromLogicalCounts() : Unit {
    use qubits = Qubit[12581];

    AccountForEstimates(
        [TCount(12), RotationCount(12), RotationDepth(12),
         CczCount(3731607428), MeasurementCount(1078154040)],
        PSSPCLayout(), qubits);
}

Operace AccountForEstimates může mít následující parametry:

Funkce s AccountForEstimates Popis
AuxQubitCount(amount : Int) Vrátí řazenou kolekci členů, kterou lze předat operaci AccountForEstimates , aby bylo možné určit, že počet pomocných qubitů je roven hodnotě amount.
TCount(amount : Int) Vrátí řazenou kolekci členů, kterou lze předat operaci AccountForEstimates , aby bylo možné určit, že počet bran T je roven hodnotě amount.
MeasurementCount(amount : Int) Vrátí řazenou kolekci členů, kterou lze předat operaci AccountForEstimates , aby bylo možné určit, že počet měření je roven hodnotě amount.
RotationCount(amount : Int) Vrátí řazenou kolekci členů, kterou lze předat operaci AccountForEstimates , aby bylo možné určit, že počet rotací je roven hodnotě amount.
RotationDepth(amount : Int) Vrátí řazenou kolekci členů, kterou lze předat operaci AccountForEstimates , aby bylo možné určit, že hloubka otáčení je rovna hodnotě amount.
CczCount(amount : Int) Vrátí řazenou kolekci členů, kterou lze předat operaci AccountForEstimates , aby bylo možné určit, že počet bran CCZ je roven hodnotě amount.
PSSPCLayout() Indikuje rozložení psSPC (Parallel Synthesis Sequential Pauli Computation). Další informace naleznete v tématu arXiv:2211.0769.

Poznámka:

Pokud při práci s nástrojem pro odhad prostředků narazíte na nějaký problém, podívejte se na stránku Řešení potíží nebo se obraťte AzureQuantumInfo@microsoft.comna kontakt .