Kaynak Tahmin Aracı ile bilinen tahminleri kullanma

Bu makalede, önceden hesaplanan tahminleri kullanmayı ve Azure Quantum Kaynak Tahmin Aracı'nın yürütülmesini iyileştirmeyi öğreneceksiniz.

Kaynak Tahmin Aracı'nı çalıştırma hakkında bilgi için bkz. Kaynak Tahmin Aracı'nı çalıştırmanın farklı yolları.

Önkoşullar

VS Code'da Python kullanmak istiyorsanız aşağıdakilere de ihtiyacınız vardır:

  • PYTHON'ın en son sürümünü ve VS Code için Jupyter uzantılarını yükleyin.

  • En son Azure Quantum qsharp paketi.

    python -m pip install --upgrade qsharp 
    

İşlem için bilinen tahminleri kullanma

Bir işlemle ilgili bazı tahminleri zaten biliyorsanız (örneğin, yayımlanmış bir makaleden) yürütme süresini azaltmanın bir yolu bilinen tahminleri almak ve bunları genel program maliyetine dahil etmektir.

Önceden hesaplanmış tahminlerden tahmin gerçekleştirmek isteyebileceğiniz bazı senaryolar:

  • Programınızın performansını geliştirip geliştirmediğini denetlemek için bir makalede açıklanan yeni bir algoritmayı denemek istiyorsunuz. Kağıttan tahminler alabilir ve bunları programa dahil edebilirsiniz.
  • Yukarıdan aşağıya program geliştirmek, yani ana işlevden geliştirmeye başlamak ve daha düşük düzeyler uygulamak istiyorsunuz. Bilinen tahminleri, programın tamamı için beklenen tahminlerle en üst düzeyde kullanabilirsiniz. Geliştirme süreci ilerledikçe, yeni bileşenler bilinen tahminleri çağırmaya başlar ve beklenen tahminler gerçek uygulamayla değiştirilir. Bu şekilde, tüm program için tahminler önceden bilinir ve geliştirme ilerledikçe daha kesin hale getirilir.

Bilinen tahminleri Kaynak Tahmin Aracı'na geçirmek için işlemini kullanabilirsiniz AccountForEstimatesQ# .

Not

Özel işlem AccountForEstimates , Kaynak Tahmin Aracı için bir iç işlemdir. Diğer yürütme targetstarafından desteklenmez.

Örneğin, bilinen tahminlerin listesini ve kubit listesini alan adlı FactoringFromLogicalCounts aşağıdaki Q# işlemi göz önünde bulundurun.

open Microsoft.Quantum.ResourceEstimation;

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

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

İşlem AccountForEstimates aşağıdaki parametreleri alabilir:

ile işlevler AccountForEstimates Description
AuxQubitCount(amount : Int) Yedek kubit sayısının değerine eşit amountolduğunu belirtmek için işleme geçirilebilen AccountForEstimates bir tanımlama grubu döndürür.
TCount(amount : Int) T kapısı sayısının değerine eşit amountolduğunu belirtmek için işleme geçirilebilen AccountForEstimates bir tanımlama grubu döndürür.
MeasurementCount(amount : Int) Ölçüm sayısının değerine eşit amountolduğunu belirtmek için işleme geçirilebilen AccountForEstimates bir tanımlama grubu döndürür.
RotationCount(amount : Int) Döndürme sayısının değerine eşit amountolduğunu belirtmek için işleme geçirilebilen AccountForEstimates bir tanımlama grubu döndürür.
RotationDepth(amount : Int) Döndürme derinliğinin değerine eşit amountolduğunu belirtmek için işleme geçirilebilen AccountForEstimates bir tanımlama grubu döndürür.
CczCount(amount : Int) CCZ geçitlerinin sayısının değerine eşit amountolduğunu belirtmek için işleme geçirilebilen AccountForEstimates bir tanımlama grubu döndürür.
PSSPCLayout() Paralel Sentez Sıralı Pauli Hesaplaması (PSSPC) düzenini gösterir. Daha fazla bilgi için bkz. arXiv:2211.0769.

Not

Kaynak Tahmin Aracı ile çalışırken herhangi bir sorunla karşılaşırsanız Sorun Giderme sayfasına göz atın veya ile iletişime geçin AzureQuantumInfo@microsoft.com.

Sonraki adımlar