Layout seçimi — mantıksal qubitleri fiziksel mimariye kilitleyen eşleme kararı
Layout, algoritmanın yazıldığı mantıksal qubit indekslerinin, seçilen cihazdaki fiziksel qubit konumlarına atanmasıdır. Bu atama bir kez yapıldığında, iki-qubit kapıların çoğu artık coupling grafiğinde bir yürüyüş problemine dönüşür; dolayısıyla layout kalitesi, sonraki yönlendirme ve SWAP maliyetini üstten sınırlar veya şişirir. Bu sayfa; maliyet düşüncesini, initial_layout ile kullanıcı müdahalesini, etkileşim deseninin topolojiyle uyumunu ve preset boru hattındaki yeri işler. Genel transpile çerçevesi transpiler pipeline sayfasında kaldı; burada odak yalnızca yerleşim seçimidir.
Kavram haritası ve boru hattındaki yer
Çoğu kullanıcı devreyi “tam bağlı” soyut bir çip üzerinde yazar: herhangi bir cx(i, j) hayal edilebilir. Gerçek süperiletken işlemcilerde ise iki-qubit etkileşimi yalnızca coupling haritasındaki komşu çiftlerde doğrudandır. Layout seçimi, bu soyut dünyayı fiziksel dünyaya ilk kez yapıştıran adımdır; ardından gelen yönlendirme aşaması çoğu zaman “layout'u bozmadan kenarlar üzerinde hareket etmek” şeklinde düşünülebilir. Kötü bir yerleşim, doğru yönlendirme algoritmasıyla bile telafi edilemeyen SWAP derinliğine yol açabilir.
Bu sayfanın sınırı
Kenar üzerinde kapı sırasını kaydırma, SWAP zinciri kırma veya zaman çizelgesine oturtma konuları yönlendirme, SWAP ekleme ve zamanlama sayfalarına aittir. Taban kapı ayrıştırması taban kapıları ve kapı ayrıştırması başlığında kalır. Burada yalnızca hangi fiziksel düğümlerin hangi mantıksal rolleri üstlendiği sorulur ve yanıtlanır.
Layout nesnesi ve transpile çıktısı
Transpile tamamlandığında, çıktı devresi çoğu senaryoda bir Layout taşır: mantıksal Qubit kayıtları ile fiziksel konumlar arasında çift yönlü bir sözlük. Bu nesne yalnızca belgeleme için değildir; aynı transpile çıktısını başka bir araç zincirine verirken “hangi ölçüm kanalı hangi donanım hattına aittir?” sorusunun cevabıdır. Ölçüm ve klasik kayıt semantiği ölçüm mantığı ile bağlantılı okunmalıdır.
Başlangıç ve bitiş layout'u
Preset boru hattı içinde yerleşim bazen çok evreli işlenir: önce kabaca bir atama, sonra routing sırasında ince ayar veya yeniden yerleştirme denemeleri. Kullanıcı açısından kritik olan, nihai çıktıda görünen eşlemenin raporlanmasıdır; ara aşamalardaki geçici layout'lar genelde yalnızca teşhis veya özel pass zincirlerinde görünür. Özel pass tasarımı pass manager ve özel pass sayfalarında ele alınır.
Mimari-duyarlı maliyet ve Target
Otomatik layout seçicileri, yalnızca graf mesafesine bakmaz; mümkün olduğunda Target içindeki kapı süreleri ve hata tahminlerini de maliyete dahil eder. Aynı çift etkileşimi, bir fiziksel kenarda düşük hata ile mi yoksa uzun bir SWAP zincirinin ucunda mı gerçekleşecek sorusu, yerleşim puanını değiştirir. Bu nedenle “en kısa yol” ile “en güvenilir yol” ayrışabilir. Target ve özellik okuma backend mimarisi ile backend özellikleri sayfalarında çerçevelenmiştir.
Dinamik kalibrasyon etkisi
Cihaz kalibrasyonu gün içinde değiştiğinde, aynı devre ve aynı sezgisel için bile farklı layout seçilebilir. Bu, yazılımın donanım mimarisini anlık okuduğu anlamına gelir; statik bir “en iyi yerleşim tablosu” genelde sürdürülebilir değildir. Kalibrasyon verisinin ayrıntılı okuması kalibrasyon verisi sayfasına bırakılır.
initial_layout, gömme ve kısıtlar
transpile ve preset pass manager, initial_layout parametresi verildiğinde otomatik aramayı bu kısıtla tohumlar: belirtilen mantıksal–fiziksel çiftler korunmaya çalışılır veya en azından başlangıç noktası olarak alınır (sürüme ve iç pass sırasına bağlı ince farklar olabilir). Bu, donanım üzerinde “şu hatları ayırdım, şu qubitlerde çalış” demenin yazılım karşılığıdır; örneğin belirli qubitlerin okuma hatasının düşük olduğu bilinen bir deneyde bilinçli sabitleme yapılabilir.
Gömme (embedding)
Devre, cihazdan daha az qubit kullanıyorsa, layout yalnızca kullanılan alt kümenin fiziksel düğümlere yerleştirilmesini ifade eder; kalan fiziksel qubitler pasif kalır. Yanlış gömme, sık etkileşen çiftleri grafikte uzak düğümlere iterek SWAP ihtiyacını yapay şekilde artırır. Topolojinin geometrik sezgisi donanım topolojisi ve coupling map sayfalarında desteklenir.
Geçerlilik ve çakışmalar
Aynı fiziksel qubit'e iki mantıksal qubit atanamaz; coupling dışındaki bir çifte doğrudan iki-qubit kapısı zorlamak ise yönlendirme aşamasına borç çıkar. Kullanıcı layout'u fiziksel kısıtlara aykırıysa, transpile hata verebilir veya ağır düzeltme üretebilir; bu yüzden elle layout verirken cihaz şemasını yan yana açmak disiplindir.
İki-qubit etkileşim deseni ve topoloji
Yerleşim seçiminin girdisi, soyut devrenin iki-qubit etkileşim grafiğidir: hangi mantıksal qubit çiftleri birbirine native iki-qubit kapısıyla bağlanmış? Bu graf, cihazın coupling grafinin bir altgrafına ne kadar “benzer” yerleştirilebilir, temel kombinatorik sorudur. Tam yerleştirme mümkün değilse, yüksek dereceli düğümler (çok sayıda eşzamanlı komşu isteyen mantıksal qubitler) önce kritik düğümlere oturtulmaya çalışılır; kalanlar için mesafe açılır.
Uzun menzilli etkileşimler
Soyut devrede komşu olmayan çiftler arasında doğrudan iki-qubit kapısı yazmak yaygındır; layout bu çiftleri mümkünse fiziksel olarak yakın düğümlere taşımaya çalışır. Başarı oranı, cihazın çapı ve bağlanırlığı ile sınırlıdır; bu sınır yönlendirme sayfasında maliyet olarak geri döner. Algoritma tasarımında etkileşim grafiğini donanıma göre inceltmek, transpiler'a bırakılan işi azaltmanın en temiz yoludur.
Otomatik seçim: yüksek seviye sezgiseller
Preset boru hatlarında otomatik layout genellikle altgraf eşleştirme veya öğrenilmiş / güdümlü arama fikrine dayanır: etkileşim çiftlerini coupling kenarlarıyla hizalama, düşük hatalı kenarları tercih etme, bağlı bileşenleri ayrı yerleştirme. IBM ekosisteminde yaygın kullanılan SABRE ailesi, layout ve routing'i birlikte düşünen bir zihniyetle anılır; yine de kavramsal olarak “ilk hangi düğümler eşlenir?” sorusu layout tarafında, “kenar sırası nasıl kayar?” sorusu routing tarafında okunmalıdır. Algoritma isimleri ve pass içi ayrıntı pass manager belgesinde sürüme göre takip edilmelidir.
Deneme sayısı ve arama bütçesi
Yüksek optimization_level değerleri, layout için daha geniş arama veya daha agresif yeniden deneme anlamına gelebilir; bu da transpile süresini artırır. Üretimde “en iyi layout'u bul” ile “zamanında derle” gerilimi burada yaşanır. Seviye tablosu optimization seviyeleri sayfasında özetlenir.
Optimization level, tohum ve raporlama
Layout seçimi, içinde rastgele veya çoklu eşdeğer çözüm kırılımı taşıyabilir. Aynı devre ve hedefle farklı çalıştırmalar, eşdeğer derinlikte farklı fiziksel eşlemeler üretebilir. Bu nedenle deneylerde seed_transpiler (veya sürümünüzdeki eşdeğeri) ve kullanılan optimization level birlikte kaydedilmelidir. Nihai çıktının layout alanı, yayınlanan sonuçların hangi fiziksel hatlara karşılık geldiğini gösteren zorunlu meta veridir.
Rapor şablonu
Önerilen minimum alanlar: backend adı ve sürümü, optimization level, tohum, transpile tarihi, nihai layout özeti, iki-qubit derinliği ve toplam kapı sayıları. Böylece aynı makale içinde layout değişiminden kaynaklanan sonuç kayması ayırt edilebilir. Genel tekrarlanabilirlik disiplini transpiler pipeline · determinizm bölümüyle uyumludur.
Kod laboratuvarı
Aşağıdaki örnekler yerel FakeManilaV2 üzerinde çalışır: nihai layout okuma,
initial_layout ile sabitleme ve uzun menzilli etkileşimde
kötü yerleşimin derinliğe etkisi. Import yolları kurulumunuza göre değişebilir.
from qiskit import QuantumCircuit, transpile
from qiskit_ibm_runtime.fake_provider import FakeManilaV2
qc = QuantumCircuit(3)
qc.h(0)
qc.cx(0, 1)
qc.cx(1, 2)
backend = FakeManilaV2()
tqc = transpile(qc, backend=backend, optimization_level=2, seed_transpiler=11)
print(tqc.layout)
if tqc.layout is not None:
print("virtual_bits:", tqc.layout.get_virtual_bits())
from qiskit import QuantumCircuit, transpile
from qiskit_ibm_runtime.fake_provider import FakeManilaV2
# 2 mantıksal qubit -> fiziksel 3 ve 4'e gömme (Manila 5 qubit doğrusal topoloji)
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
backend = FakeManilaV2()
tqc = transpile(
qc,
backend=backend,
initial_layout=[3, 4],
optimization_level=2,
seed_transpiler=0,
)
print(tqc.layout)
from qiskit import QuantumCircuit, transpile
from qiskit_ibm_runtime.fake_provider import FakeManilaV2
# Mantıksal 0 ile 2 arasında doğrudan etkileşim: yerleşim kötü seçilirse derinlik artar.
qc = QuantumCircuit(3)
qc.cx(0, 2)
qc.cx(0, 1)
backend = FakeManilaV2()
seed = 5
auto = transpile(qc, backend=backend, optimization_level=3, seed_transpiler=seed)
spread = transpile(
qc,
backend=backend,
initial_layout=[0, 2, 4],
optimization_level=1,
seed_transpiler=seed,
)
print("Otomatik (yüksek seviye) depth:", auto.depth(), "layout:", auto.layout)
print("Uzak düğümlere sabit depth:", spread.depth(), "layout:", spread.layout)
İleri okuma ve özet
Layout seçimi, kuantum derleyicide mimariyi yazılıma bağlayan ilk somut kilittir. İyi bir eşleme, etkileşimleri güvenilir kenarlara yaklaştırır; kötü eşleme ise routing ve SWAP aşamalarına ağır borç yükler. Target bilgisi ve güncel kalibrasyon, otomatik seçimin dinamik girdisidir; kullanıcı müdahalesi ise deney tasarımında kontrollü kısıt sağlar.
- Transpiler pipeline — layout'un durduğu genel boru hattı.
- Yönlendirme ve SWAP ekleme — layout sonrası topolojik uyarlama.
- Optimization seviyeleri — arama bütçesi ve seviye davranışı.
- Pass manager ve özel pass — yerleşimi özel zincire gömme.
- Donanım topolojisi, coupling map — yerleşim kararının geometrik zemini.
- Backend özellikleri — maliyet ve güvenilirlik sinyalleri.