1. Ana sayfa
  2. İçerik planı
  3. Layout seçimi · Qiskit
Qiskit · transpiler ve donanım eşlemesi

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.

  • Çıktı: Layout nesnesi ve fiziksel indeks düzeni
  • Girdi: devre etkileşimleri + Target / coupling
  • Politika: otomatik sezgisel · isteğe bağlı initial_layout

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.

Mimari özet Etkileşim çiftleri + cihaz topolojisi + kapı/hat güvenilirliği → layout kararı → routing maliyetinin üst sınırı. Layout'u rapordan düşürmek, sonuçları yorumlamayı zorlaştırı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.

Pratik kural Elle layout verdiğinizde, neden o qubitleri seçtiğinizi (kalibrasyon ekranı, önceki karakterizasyon) not düşün; aksi hâlde üç ay sonra aynı betik anlaşılmaz hâle gelir.

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.

read_layout.py Python
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())
qiskit Çıktı devresi · layout ve indeks izi UTF-8 · LF
initial_layout_seed.py Python
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)
qiskit initial_layout · gömme örneği UTF-8 · LF
layout_vs_depth.py Python
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)
qiskit Yerleşim kalitesi · derinlik karşılaştırması UTF-8 · LF

İ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.

Özet Layout = mantıksal–fiziksel eşleme. Target duyarlı maliyet, etkileşim deseni ve topoloji uyumu seçimi belirler; initial_layout ve tohum tekrarlanabilirliği taşır. Raporlarda nihai layout'u mutlaka sergileyin.