트랜스파일과 라우팅
트랜스파일은 양자 회로를 칩이 실제로 지원하는 네이티브 게이트 집합으로 다시 쓰는 과정이고, 라우팅은 제한된 연결성 아래에서 논리 큐비트를 물리 큐비트에 배치하며 직접 연결이 없는 곳에 SWAP 게이트를 삽입하는 과정입니다.
무슨 뜻인가요
H나 CX 같은 익숙한 게이트로 짠 회로는 보통 하드웨어에서 바로 실행될 수 없습니다.각 칩은 네이티브 게이트 집합만 지원하는데, 이 집합은 칩의 고정된 물성이 아니라 보정(calibration)에 의해 정해집니다.그래서 같은 칩이라도 날마다 지원 게이트가 달라질 수 있고, 큐비트마다 지원 게이트가 다를 수도 있습니다.트랜스파일은 같은 추상 수준의 언어끼리의 번역이고(TypeScript→JavaScript처럼), 컴파일은 더 낮은 수준으로 내려가는 변환입니다(Java→바이트코드처럼).실제 칩은 연결성이 매우 제한적이어서, 연결되지 않은 두 큐비트 사이의 2큐비트 게이트는 물리적으로 불가능합니다.라우터는 SWAP 게이트를 삽입해 상태를 칩 위로 옮기는데, SWAP 하나마다 추가 2큐비트 게이트, 시간, 오류가 붙기 때문에 라우터는 우회로를 최소화합니다.최적화기는 중복 게이트를 상쇄해 지우고(연달아 있는 H 두 개는 사라짐), 배리어는 수학적 연산이 아닌 스케줄러 지시로서 그 선을 넘는 재배치를 금지합니다.좋은 트랜스파일러는 보정 인식형입니다 — 매핑을 고를 때 당일의 큐비트별 코히런스와 연결별 오류율을 읽고, 측정 결과를 원래 논리 큐비트로 되돌리기 위해 그 매핑을 기억합니다.일상 비유
흔한 오해
- 모든 큐비트는 동등하지 않습니다 — 코히런스 시간과 오류율이 큐비트마다, 연결마다 다르고(2큐비트 게이트 충실도도 쌍마다 다름), 이 값들은 매일 변합니다. 그래서 트랜스파일러는 균일한 칩을 가정하지 말고 당일 보정 데이터를 읽어야 합니다.
- '논리 큐비트'에는 두 가지 뜻이 있습니다 — 내 회로 속의 회로 수준 큐비트와, 여러 물리 큐비트를 묶어 만든 오류정정 큐비트. 트랜스파일 맥락에서는 전자, 즉 하드웨어 매핑 전 회로 속 큐비트 1개를 뜻합니다.
- 배리어는 수학적 연산이 아닙니다 — 멀티스레드 코드에서 재배치를 막는 mutex처럼, 스케줄러에게 내리는 지시입니다. 양자 상태가 아니라 최적화기가 할 수 있는 일을 바꿉니다.
핵심 정리
- 네이티브 게이트 집합은 칩의 고정 물성이 아니라 보정으로 정해집니다 — 같은 칩이 날마다, 큐비트마다 다른 게이트를 지원할 수 있습니다.
- SWAP 하나마다 추가 2큐비트 게이트가 들어가 시간과 오류가 늘어납니다 — 라우터의 존재 이유는 SWAP 수 최소화입니다.
- Qiskit은 최적화 레벨 0–3을 제공합니다. 게이트 상쇄(연속 H 두 개 제거)가 대표적 최적화이고, 배리어가 그 적용 범위를 통제합니다.
- 2026년 현재 Qiskit은 전 세계 양자 개발자의 약 70%가 사용하며 누적 4조 개 이상의 회로가 실행됐습니다 — 트랜스파일러 품질은 활발한 연구 격전지입니다.
이해했는지 확인해 보세요
물리 큐비트 Q0과 Q1이 직접 연결돼 있지 않은 칩에서 cx(0,1)은 왜 바로 실행될 수 없고, 트랜스파일러는 어떻게 처리합니까?
- A.CX 게이트는 보편적이지 않아 단일 큐비트 게이트로 대체해야 하기 때문
- B.2큐비트 게이트는 연결된 쌍을 잇는 커플러에 작동하므로, 라우터가 SWAP 게이트를 삽입해 상태를 연결된 큐비트로 옮긴다
- C.Q0과 Q1은 항상 주파수가 달라 어떤 상호작용도 영원히 불가능하기 때문
- D.트랜스파일러가 두 큐비트를 측정한 뒤 연결된 큐비트에 상태를 재구성한다
정답 보기
정답: B. 2큐비트 게이트는 연결된 쌍을 잇는 커플러에 작동하므로, 라우터가 SWAP 게이트를 삽입해 상태를 연결된 큐비트로 옮긴다
이유: 2큐비트 게이트는 물리적으로 연결된 큐비트 사이의 커플러에 작동합니다. 직접 연결이 없으면 라우터가 SWAP 게이트를 삽입해 상태를 연결된 쌍까지 옮기는데, SWAP마다 추가 2큐비트 게이트·시간·오류 비용이 들어 라우터는 이를 최소화합니다.
양자 회로에서 배리어(barrier)란 무엇입니까?
- A.양자 상태의 진화를 막는 유니터리 게이트
- B.회로의 두 단계를 나누는 측정
- C.최적화기가 그 선을 넘어 게이트를 재배치하거나 상쇄하지 못하게 하는 스케줄러 지시
- D.큐비트를 크로스토크로부터 격리하는 하드웨어 부품
정답 보기
정답: C. 최적화기가 그 선을 넘어 게이트를 재배치하거나 상쇄하지 못하게 하는 스케줄러 지시
이유: 배리어는 수학적 연산이 아닙니다. 멀티스레드 코드의 mutex처럼, 트랜스파일러의 최적화기에게 그 선을 넘어 연산을 재배치·상쇄하지 말라고 지시합니다 — 예를 들어 그냥 두면 지워질 연속 H 두 개를 보존할 때 씁니다.
먼저 알아야 할 개념
Core concept is standard practice, but native gate sets, vendor tooling and ecosystem stats (Qiskit adoption, optimization levels) evolve; graded timebound as of source date. Qiskit ~70% / 4T-circuit stats re-verified 2026-07-10 against IBM Newsroom (2026-06-02); the 70% figure originates from the Unitary Fund 2023 OSS survey (self-selected sample).
