Dışa aktarma bir sözleşmedir
OpenQASM, kuantum programlarını tanımlamak için kullanılan bir dildir. Üçüncü sürümü, daha kapsamlı kuantum akışlarını anlatmak için klasik kontrolü ve başka olanakları modele ekler. N/M dışa aktarıcıları desteklenen program yapılarını bir OpenQASM gösterimine dönüştürür; her N/M programını her kuantum hizmetiyle uyumlu hâle getirmez.
Soruyu somut kurmak yararlıdır: bu kaynak, bu özellik ayarları ve bu dışa aktarma hedefiyle, gerekli anlamını kaybetmeden temsil edilebiliyor mu?
Davranışını bildiğiniz bir devreyle başlayın
Dışa aktarmadan önce bu programı Playground'da çalıştırın:
module export_bell;
fn main() {
let q = qreg[2];
H(q[0]);
CNOT(q[0], q[1]);
let c0 = measure(q[0]);
let c1 = measure(q[1]);
return q;
}İdeal dağılım yalnızca 00 ve 11 sonuçlarını içerir. Çalışma alanından bir OpenQASM dışa aktarma hedefi seçip üretilen metni inceleyin. Kuantum yazmacını, karşılık gelen H ve kontrollü X kapılarını, ölçüm hedeflerini ve varsa eşlik eden üst veriyi bulun. Özgün N/M kaynağını dışa aktarılan dosyayla birlikte saklayın.
Kullanacağınız sonraki araç hazırsa sonucu orada ayrıştırıp tanılamalarını inceleyin. Desteklenen bir içe aktarıcıyla geri dönüş denemesinde aynı biçimlendirmeyi veya değişken adlarını beklemek yerine devrenin davranışını ve ilgili üst veriyi karşılaştırın.
OpenQASM 2 ve 3 neden farklı tercihlerdir?
Temel kapı ve ölçüm devreleri, eski biçimde doğrudan temsil edilebilir. Daha kapsamlı klasik kontrol, yeni biçimi ve daha dar bir dışa aktarıcı sözleşmesini gerektirebilir. N/M'nin eğitim blokları, sınırlandırılmış klasik fonksiyonları veya yapılandırılmış üst verileri; dönüştürme, tamamlanmış parametre bağlamı ya da eşlik eden yardımcı dosya gerektirebilir.
Yardımcı dosya yalnızca süs değildir. Dışa aktarıcı böyle bir dosyanın gerekli olduğunu belirtiyorsa programla birlikte koruyun. Sonraki aracın N/M'ye özgü sözleşmeyi açıkça anlaması gerekir; yalnızca QASM metninin ayrıştırılması, bu ek bilginin korunduğunu göstermez.
Desteklenmeyen bir yapı sessizce atılmak yerine tanılama üretmelidir. Seçtiğiniz programın gerçek dışa aktarma sonucunu okuyun. N/M belgeleri ve RFC arşivi desteklenen sözleşmeleri, OpenQASM tanımı ise standart dili açıklar. Bunlar ilişkili fakat farklı sorumlulukları olan kaynaklardır.
Taşınabilirlik kontrol listesi
- Özgün kaynağı ve bütün dışa aktarma ayarlarını saklayın.
- OpenQASM sürümünü ve gerekli kütüphane bildirimlerini belirleyin.
- Parametreleri dışa aktarıcının gerektirdiği biçimde tamamlayın.
- Gerekli yardımcı dosyaları biçim sürümleriyle birlikte koruyun.
- Dosyayı metin editöründe açmanın yanında hedef araçta ayrıştırın.
- Küçük ve sonucu bilinen bir örneğin anlamını karşılaştırın.
- Hedef cihazın kapı kümesini ve çalıştırma sınırlarını ayrıca kontrol edin.
Sözdizimi kabul edilen bir dosya, taşınabilirliğin yalnızca bir aşamasıdır. Cihaza yerleştirme, optimizasyon, kuyruk, kimlik bilgileri ve gerçek çalıştırma ek aşamalardır. Başarılı dışa aktarma; hesap bağlantısını, ücretli donanım işini veya ölçülmüş kuantum üstünlüğünü göstermez.
Kaynaklar
- OpenQASM 3: A broader and deeper quantum assembly language, Cross ve çalışma arkadaşları: dilin amacı ve tasarımı.
- N/M belgeleri: projenin gerçek dışa aktarma akışı.
- N/M RFC arşivi: dil ve aktarım sözleşmeleri.
- N/M ile Bell durumu: örnek devrenin beklenen davranışı.