Aracılığıyla paylaş


Bilinen tahminleri kaynak tahmin aracıyla kullanma

Bu makalede, Microsoft Quantum kaynak tahmin aracının çalışma süresini iyileştirmek için önceden hesaplanmış tahminleri kullanmayı öğreneceksiniz. Bir işlemin bazı kaynak gereksinimleriyle ilgili tahminleri (örneğin yayımlanmış bir çalışmadan) zaten biliyorsanız, bilinen tahminleri kaynak tahmin aracına giriş olarak geçirebilir ve çalışma süresini kısaltabilirsiniz. Kaynak tahmin aracı bilinen tahminleri alır ve bunları genel program maliyetine ekler.

Kaynak tahmin aracını çalıştırma hakkında bilgi için bkz. Kaynak tahmin aracısını çalıştırmanın farklı yolları.

Önkoşullar

VS Code'da Python kullanmak istiyorsanız, aşağıdakileri de yapmanız gerekir:

  • VS Code'da Python ve Jupyter uzantılarının en son sürümlerini yükleyin.

  • Python kitaplığının en son sürümünü qdk yükleyin.

    python -m pip install --upgrade qdk
    

İşlem için bilinen tahminleri kullanma

Aşağıdaki senaryolarda önceden hesaplanmış tahminleri kaynak tahmin aracına geçirmek yararlıdır:

  • Yayımlanan bir makaledeki algoritmayı deneyerek algoritmanın programınızın performansını geliştirip geliştirmediğini denetlemek istiyorsunuz. Kağıttan tahminler alabilir ve bunları tahmin sürecine dahil edebilirsiniz.
  • Programınızı yukarıdan aşağıya geliştirmek istiyorsunuz. Bilinen tahminleri en üst düzeyde kullanabilir ve tüm programa geçirebilirsiniz. Geliştirme ilerledikçe, önceden hesaplanan değerleri yineleyebilir ve daraltabilirsiniz.
  • Q# Kullanımı
  • Python'ı Kullan

Bilinen tahminleri bir Q# programındaki kaynak tahmin aracına geçirmek için AccountForEstimates işlemini kullanın.

Not

Özel işlem AccountForEstimates , yalnızca kaynak tahmin aracı için iç işlemdir. Programınız Q# işlemi içeriyorsa AccountForEstimates , programınız diğer simülatörde veya donanımda targetsçalışamaz.

Örneğin, aşağıdaki Q# adlı FactoringFromLogicalCounts işlemi, bilinen tahminlerin bir listesini ve qubit listesini alır:

import Std.ResourceEstimation.*;

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

    let knownEstimates = [
        TCount(12),
        RotationCount(12),
        RotationDepth(12),
        CczCount(3731607428),
        MeasurementCount(1078154040)
    ];

    AccountForEstimates(knownEstimates, PSSPCLayout(), qubits);
}

AccountForEstimates işlemi aşağıdaki parametreleri alabilir:

c0'ye aktarabileceğiniz işlev Açıklama
AuxQubitCount(amount : Int) AccountForEstimates işlemi için geçirebileceğiniz ve yardımcı kubit sayısının amount değerine eşit olduğunu belirtmek üzere bir tanımlama grubu döndürür.
TCount(amount : Int) T kapısı sayısının değerine eşit AccountForEstimatesolduğunu belirtmek için işleme geçirebileceğiniz amount bir tanımlama grubu döndürür.
MeasurementCount(amount : Int) AccountForEstimates işleme iletebileceğiniz ve ölçüm sayısının amount değerine eşit olduğunu belirtmek için bir demet döndürür.
RotationCount(amount : Int) Rotasyon sayısının amount eşit olduğunu belirtmek için AccountForEstimates işlemine geçirebileceğiniz bir ikili döndürür.
RotationDepth(amount : Int) AccountForEstimates işlemi için döndürme derinliğinin amount'e eşit olduğunu belirtmek amacıyla geçirebileceğiniz bir tuple döndürür.
CczCount(amount : Int) CCZ kapı sayısının amount eşit olduğunu belirtmek için AccountForEstimates işlemine geçirebileceğiniz bir küme 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ıyla çalışırken sorunlarla karşılaşırsanız Sorun giderme sayfasına bakın veya ile iletişime geçin AzureQuantumInfo@microsoft.com.