KR20200052367A - 양자 오류 수정 - Google Patents

양자 오류 수정 Download PDF

Info

Publication number
KR20200052367A
KR20200052367A KR1020207010698A KR20207010698A KR20200052367A KR 20200052367 A KR20200052367 A KR 20200052367A KR 1020207010698 A KR1020207010698 A KR 1020207010698A KR 20207010698 A KR20207010698 A KR 20207010698A KR 20200052367 A KR20200052367 A KR 20200052367A
Authority
KR
South Korea
Prior art keywords
quantum
layer
processor
processing
classic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
KR1020207010698A
Other languages
English (en)
Other versions
KR102721149B1 (ko
Inventor
오스틴 그렉 파울러
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20200052367A publication Critical patent/KR20200052367A/ko
Application granted granted Critical
Publication of KR102721149B1 publication Critical patent/KR102721149B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/70Quantum error correction, detection or prevention, e.g. surface codes or magic state distillation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Chemical & Material Sciences (AREA)
  • Nanotechnology (AREA)
  • Quality & Reliability (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Correction Of Errors (AREA)
  • Optical Communication System (AREA)

Abstract

양자 오류 수정 장치가 개시된다.  장치는 프로세싱 코어들의 어레이, 각 프로세싱 코어는: 제1 칩 상의 프로세서; 및 상기 제1 칩 상의 프로세서 캐시를 포함하며; 및 상기 프로세싱 코어들의 어레이에서 인접 프로세싱 코어들을 상호 연결하기 위한 버스를 포함하며; 각 프로세싱 코어는: 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 적어도 하나의 인접 프로세싱 코어의 프로세서 캐시에 액세스하게 하는 제어 코드를 포함한다.

Description

양자 오류 수정
본 출원은 양자 컴퓨터에서의 오류 수정을 위한 하드웨어에 관한 것이다. 보다 구체적으로, 본 출원은 양자 컴퓨터에서 오류를 결정하기 위한 클래식 프로세싱 어레이에 관한 것이다.
양자 컴퓨터는 기존 컴퓨터보다 특정 유형의 문제를 더 빨리 해결하기 위해 양자 중첩 및 얽힘을 이용하는 컴퓨팅 디바이스다. 양자 컴퓨터의 빌딩 블록은 큐비트이다. 큐비트는 상태가 클래식 비트의 경우처럼 두 상태들 중 단지 하나의 상태에 있는 것이 아닌 두 상태들이 중첩에 있을 수 있는 2-레벨 시스템이다.
양자 알고리즘은 양자 컴퓨터에서 실행되는 알고리즘이다. 양자 컴퓨터에서 이러한 알고리즘을 실행하는 동안, 디코히어런스 및 노이즈를 포함하는 다수의 소스로부터의 오류가 발생할 수 있다. no-cloning 정리로 인해, 상태의 다수의 사본을 만드는 기존의 오류 검출 및 수정 기법은 적절하지 않다. 대신에, 양자 오류 검출 및 수정 기법은 큐비트를 다수의 다른 큐비트와 얽히게 하고, 얽힌 큐비트의 서브셋에 대한 측정을 수행하여 오류가 언제 발생했는지를 식별하는 것을 포함한다.
일반적으로, 일부 양태에서, 본 개시의 주제는 프로세싱 코어들의 어레이를 포함하는 장치에서 이용될 수 있고, 각 프로세싱 코어는: 제1 칩상의 프로세서; 및 상기 제1 칩 상의 프로세서 캐시를 포함하며; 그리고
상기 프로세싱 코어들의 어레이에서 인접 프로세싱 코어들을 상호 연결하기 위한 버스를 포함하며; 각 프로세싱 코어는: 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 적어도 하나의 인접 프로세싱 코어의 프로세서 캐시에 액세스하게 하는 제어 코드를 포함한다.
방법들의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 예를 들어, 일부 구현예에서, 제어 코드는 프로세서 캐시에 저장된다.
일부 구현예에서, 각 프로세서 캐시는 제1 레벨 프로세서 캐시; 및 제2 레벨 프로세서 캐시를 포함하며, 데이터는 상기 제1 레벨 캐시를 통해 상기 프로세서와 상기 제2 레벨 프로세서 캐시 사이를 통과한다.
일부 구현예에서, 제어 코드는 제1 레벨 프로세서 캐시에 저장된다.
일부 구현예에서, 제어기 코드는 기계 코드를 포함한다.
일부 구현예에서, 상기 제어기 코드는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 상기 적어도 하나의 인접 프로세서 코어의 상기 제2 레벨 프로세서 캐시에 액세스하게 한다.
일부 구현예에서, 상기 프로세서 캐시는 상기 적어도 하나의 인접 프로세싱 코어로부터 액세스된 데이터를 저장하도록 구성된 하나 이상의 버퍼들을 포함한다.
일부 구현예에서, 상기 적어도 하나의 인접 프로세싱 코어로부터 액세스된 데이터는 상기 하나 이상의 버퍼들에 주기적으로 기록된다.
일부 구현예에서, 각 프로세싱 코어는 각각의 측정 데이터 세트를 수신하고, 상기 측정 데이터 세트를 상기 프로세서 캐시에 저장하고 그리고 상기 측정 데이터 세트를 프로세싱하도록 구성된다.
일부 구현예에서, 상기 측정 데이터를 프로세싱하기 위한 명령어들은 상기 프로세서 캐시에 저장된다.
일부 구현예에서, 상기 측정 데이터의 세트를 프로세싱하기 위해, 상기 프로세싱 코어는 양자 오류 수정을 수행하도록 구성된다.
일부 구현예에서, 양자 오류 수정은 표면 코드를 구현하는 것을 포함한다.
일부 구현예에서, 상기 측정 데이터의 세트를 프로세싱하기 위해, 상기 프로세싱 코어는 랜덤 액세스 메모리를 사용하지 않도록 구성된다.
일부 구현예에서, 프로세서 코어는 하나 이상의 추가 프로세서를 더 포함한다.
본 개시의 다른 양태는 시스템에서 이용될 수 있으며, 상기 시스템은: 임의의 선행하는 구현예에 따른 프로세싱 코어들의 어레이를 포함하는 제1 클래식 컴퓨팅 레이어; 및 양자 컴퓨팅 알고리즘을 구현하도록 구성된 양자 디바이스들의 어레이를 포함하는 양자 컴퓨팅 레이어를 포함하며, 상기 클래식 프로세싱 레이어는: 상기 양자 컴퓨팅 레이어로부터 측정 데이터를 수신하고; 그리고 상기 수신된 측정 데이터를 사용하여 상기 양자 컴퓨팅 레이어에 의해 수행된 상기 양자 컴퓨팅 알고리즘에서 하나 이상의 오류들을 결정하도록 구성된다.
본 개시의 추가적 양태는 시스템에서 이용될 수 있으며, 상기 시스템은: 프로세싱 코어들의 어레이를 포함하는 제1 클래식 컴퓨팅 레이어, 각 프로세싱 코어는: 프로세서; 및 프로세서 캐시를 포함하며; 및 상기 프로세싱 코어들의 어레이에서 인접 프로세싱 코어들을 상호 연결하기 위한 버스를 포함하며; 각 프로세싱 코어는: 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 적어도 하나의 인접 프로세싱 코어의 프로세서 캐시에 액세스하게 하는 제어 코드를 포함하며; 양자 컴퓨팅 알고리즘을 구현하도록 구성된 양자 디바이스들의 어레이를 포함하는 양자 컴퓨팅 레이어를 포함하며, 상기 클래식 프로세싱 레이어는: 상기 양자 컴퓨팅 레이어로부터 측정 데이터를 수신하고; 그리고 상기 수신된 측정 데이터를 사용하여 상기 양자 컴퓨팅 레이어에 의해 수행된 상기 양자 컴퓨팅 알고리즘에서 하나 이상의 오류들을 결정하도록 구성된다.
일부 구현예에서, 시스템은 필드 프로그래머블 게이트 어레이들의 어레이를 포함하는 제어 레이어를 더 포함하며, 상기 제어 레이어는: 상기 양자 컴퓨팅 레이어로부터 물리적 측정치를 수신하고; 상기 물리적 측정치를 측정 데이터로 변환하고; 그리고 상기 측정 데이터를 상기 제1 클래식 컴퓨팅 레이어로 출력하도록 구성된다.
일부 구현예에서, 상기 제어 레이어는: 양자 오류 수정 명령어들을 수신하고; 그리고 상기 양자 오류 수정 명령어들을 수신함에 응답하여, 상기 양자 컴퓨팅 레이어 상에서 하나 이상의 큐비트 회전들을 구현하게 하도록 더 구성된다.
일부 구현예에서, 시스템은 제2 클래식 프로세싱 레이어를 더 포함하며, 상기 제2 클래식 프로세싱 레이어는: 상기 제1 클래식 컴퓨팅 레이어로부터 상기 양자 컴퓨팅 알고리즘에서 하나 이상의 결정된 오류들을 수신하고; 그리고 상기 하나 이상의 결정된 오류들로부터 하나 이상의 양자 오류 수정 명령어들을 결정하도록 구성된다.
일부 구현예에서, 상기 제2 프로세싱 레이어는 상기 하나 이상의 양자 오류 수정 명령어들로 하여금 상기 양자 컴퓨팅 레이어에서 구현되도록 더 구성된다.
일부 구현예에서, 상기 제2 프로세싱 레이어는 상기 하나 이상의 양자 오류 수정 명령어들을 결정하기 위해 표면 코드를 구현하도록 구성된다.
일부 구현예에서, 상기 제1 클래식 프로세싱 레이어의 각 프로세싱 코어는 상기 양자 컴퓨팅 레이어 내의 양자 디바이스들의 로컬 패치로부터 측정치를 수신한다.
도 1은 양자 컴퓨터의 실시예의 개략도를 도시한다.
도 2는 클래식 프로세싱 레이어를 위한 프로세싱 코어의 예를 도시한다.
도 3은 실시예에 따른 클래식 프로세싱 어레이의 일부의 예를 도시한다.
도 4는 다수의 프로세서 코어의 예를 도시한다.
도 5는 다수의 프로세서 코어의 추가 예를 도시한다.
도 6은 양자 컴퓨터의 추가 실시예의 개략도를 도시한다.
도 7은 실시예에 따른 양자 컴퓨터에서 수행되는 프로세스의 개략적인 예를 도시한다.
도 8은 주어진 로컬 패치를 나타내는 어레이의 3차원 데이터 구조의 예를 도시하며, 상기 주어진 로컬 패치는 해당 로컬 패치와 연관된 프로세서 코어의 프로세서 캐시에 주기적으로 기록된다.
도 1은 양자 컴퓨터(100)의 실시예의 개략도를 도시한다.
양자 컴퓨터(100)는 양자 컴퓨팅 레이어(102), 제어 레이어(104) 및 클래식 프로세싱 레이어(106)를 포함한다.
양자 컴퓨팅 레이어(102)는 양자 컴퓨팅 알고리즘을 수행하도록 구성된 양자 디바이스 또는 큐비트(108)의 어레이를 포함한다. 양자 디바이스 또는 큐비트(108)는 데이터 큐비트와 신드롬(또는 측정) 큐비트의 혼합을 포함한다. 양자 컴퓨팅 레이어(102)는 큐비트(108)에 대한 동작을 수행하기 위한 복수의 양자 게이트(도시 생략)를 더 포함한다. 일부 실시예에서, 양자 컴퓨팅 레이어는 양자 디바이스(108)의 2차원 어레이 형태이다.
양자 디바이스 또는 큐비트(108)는 예를 들어 초전도 큐비트일 수 있다. 양자 컴퓨팅 레이어(102)는 양자 알고리즘의 실행을 통해(예를 들어, 4.2K 미만) 큐비트들 사이의 코히어런스(coherence)을 유지하기에 충분히 낮은 온도로 유지된다. 초전도 큐비트가 사용되는 실시예에서, 온도는 초전도 임계 온도 아래로 유지된다. 본 명세서에서, 용어 "큐비트” 및 "양자 디바이스"는 상호 교환적으로 사용될 것이다.
복수의 제어 디바이스(110)를 포함하는 제어 레이어(104)는 양자 컴퓨팅 레이어(102)와 클래식 프로세싱 레이어(106) 사이에 삽입된다. 제어 디바이스(110)는 양자 컴퓨팅 레이어(102)의 큐비트(108)로부터 원시 측정 데이터를 수신하고, 그것들을 클래식 프로세싱 레이어(106)에서 사용하기 위한 이진 측정 데이터로 변환한다. 일부 실시예에서, 제어 디바이스(110)는 또한 양자 디바이스(108)에 명령어들을 발행하여, 예를 들어 양자 게이트(도시되지 않음)에게 큐비트 회전을 수행하게 할 수 있다. 일부 실시예에서, 각 제어 디바이스(110)는 약 6개의 양자 디바이스(108)에 연결된다. 제어 디바이스(110)는 일부 실시예에서, FPGA(Field Programmable Gated Array)이다.
클래식 프로세싱 레이어(106)(여기서 "제1 클래식 프로세싱 레이어"라고도 함)는 프로세싱 코어(112)의 어레이를 포함한다. 프로세싱 코어(112)는 도 2와 관련하여 아래에서 더 상세히 설명된다. 클래식 프로세싱 레이어(106)는 제어 레이어(104)을 통해 양자 컴퓨팅 레이어(102)에 연결된다. 클래식 컴퓨팅 레이어(106)의 프로세싱 코어(112)는 큐비트(108)의 로컬 패치(114)와 연관된다. 로컬 패치(114)는 함께 그룹화된 복수의 큐비트(108)를 포함한다. 일부 실시예에서, 패치 크기는 약 백 큐비트이다. 클래식 프로세싱 레이어(106)의 프로세싱 코어(112)는 클래식 프로세싱 레이어(106)의 인접 프로세싱 코어(112)에 연결된다. 이는 프로세싱 코어(112)로 하여금 데이터를 그들의 이웃하는 코어와 교환하게 할 수 있다. 일부 실시예에서, 프로세싱 코어(112)는 클래식 프로세싱 레이어(106) 내에 프로세싱 코어들의 2차원 어레이(112)를 형성한다.
클래식 프로세싱 코어(112)에는 프로세서 코어 내의 프로세서에 의해 실행될 때 프로세서로 하여금 인접 코어의 프로세서 캐시에 액세스하게 하는 전용 어셈블리 명령어들이 제공된다. 복잡한 메모리 제어기가 필요하지 않기 때문에 인접 코어간에 지연 시간이 짧은 통신이 발생할 수 있다.
사용시, 양자 컴퓨팅 레이어(102)는 양자 컴퓨팅 알고리즘을 실행한다. 양자 컴퓨팅 레이어(102) 내의 신드롬 큐비트는 원시 측정 데이터를 생성하기 위해 그들의 인접 데이터 큐비트와 인터렉션한다. 원시 측정 데이터는 제어 레이어(104)의 제어 디바이스(110)에 공급된다. 제어 디바이스(110)는 원시 측정 데이터를 이진 측정 데이터로 변환하고, 이진 측정 데이터를 클래식 프로세싱 레이어(106)의 프로세싱 코어(112)로 스트리밍한다.
클래식 프로세싱 레이어(106)는 제어 레이어(104)로부터의 이진 측정 데이터를 측정되었던 양자 컴퓨팅 레이어(102)의 큐비트(108)의 양자 상태의 패리티로 변환한다. 이어서, 이들 패리티는 클래식 프로세싱 레이어(106)에 의해 프로세싱되어 양자 컴퓨팅 레이어(102)에서 양자 디바이스(108)에 대한 임의의 양자 오류 및/또는 요구되는 수정된 패리티를 결정한다. 그 후, 결정된 수정은 필요한 수정 액션을 결정하기 위해 추가로 프로세싱될 수 있다.
도 2는 클래식 컴퓨팅 레이어를 위한 프로세싱 코어의 예를 도시한다. 클래식 프로세싱 레이어(106)의 각 프로세서 코어(112)는 프로세서(116), 하나 이상의 프로세서 캐시(118) 및 클래식 프로세싱 레이어(106)에서 가장 가까운 인접 프로세싱 코어에 대한 버스(120)를 포함한다. 프로세싱 코어(112)는 칩 상에 제공된다.
버스들(120)은 클래식 프로세싱 레이어(106)에서 프로세싱 코어들의 어레이에서 인접 프로세싱 코어들(112)을 상호연결한다. 버스(120)는 프로세서(116)로 하여금 가장 가까운 인접 프로세싱 코어(112)의 프로세서 캐시(118)에 액세스하게 하여, 인접 프로세싱 코어(112)와 연관된 양자 디바이스(108)의 로컬 패치(114)로부터 측정 데이터를 획득한다. 각 프로세싱 코어(112)에는 프로세서(116)에 의해 실행될 때 프로세서(116)로 하여금 적어도 하나의 인접 프로세싱 코어(112)의 프로세서 캐시(118)에 액세스하게 하는 제어 코드(126)가 제공된다. 제어 코드(126)는 프로세서(116)에 의한 코드의 액세스를 가속화하기 위해 프로세서 캐시(118) 내에 저장된다. 일부 실시예에서, 제어 코드는 기계 코드 또는 어셈블리 코드의 형태이다.
프로세서 코어(112)는 적어도 하나의 인접 프로세서 코어(112)의 프로세서 캐시(118)의 직접 액세스를 트리거링할 수 있는 제어 코드(예를 들어, 어셈블리 코드 형태)를 인식하도록 구성될 수 있다. 예를 들어, 프로세서 코어(112)는 적어도 하나 이상의 유사하게 구성된 프로세서 코어의 프로세서 캐시(118)에 직접 액세스하는 입력/출력 회로를 가질 수 있다. 프로세서 코어(112)는 하나 이상의 인접 프로세서 코어(112)의 프로세싱 캐시(118)에 직접 액세스하게 하도록 프로세싱 코어에 특정적인 대응하는 어셈블리 코드 명령어들을 프로세싱하도록 구성된다. 이러한 회로를 구현하기 위해 임의의 적절한 프로세서 제조 기법이 사용될 수 있다.
프로세서 코어(112)는 프로세싱 코어(112)로부터 가장 가까운 인접 프로세싱 코어보다 멀리 떨어진 데이터에 액세스할 수 있다. 예를 들어, 다음 가장 가까운 또는 다음으로 가장 가까운 인접 프로세싱 코어(112)가 액세스될 수 있다. 이 추가 통신은 여러 가지 방법으로 달성될 수 있다. 예를 들어, 특정한 좌표에서의 정보는 그 좌표를 담당하는 프로세서 코어(112)에 도달할 때까지 그 좌표의 방향으로 요청을 전송함으로써 요청될 수 있다. 이 프로세서 코어(112)는 요청된 정보를 요청자에게 다시 보낼 수 있다. 또 다른 예는 프로세싱 코어에 저장된 가장 가까운 4개 이상의 코어에 대한 추가 어셈블리 레벨 명령어가 있다.
프로세서 캐시(118)는 프로세싱 코어에 의해 수신된 측정 데이터를 프로세싱하기 위한 명령어들을 추가로 저장한다. 이들 명령어들은 양자 오류 수정 및/또는 결정 알고리즘을 포함한다. 일부 예에서, 양자 오류 수정 알고리즘은 예를 들어 토릭 코드와 같은 표면 코드를 포함한다. 표면 코드의 예는 “Towards practical classical processing for the surface code: timing analysis” by Fowler et al.에서 제공된다[https://doi.org/10.1103/PhysRevLett.108.180501].
일부 실시예에서, 프로세서 캐시는 L1 캐시(122)(여기서는 "제1 레벨 캐시"라고도 함) 및 L2 캐시(124)(여기서는 "제2 레벨 캐시"라고도 함)를 포함한다.
상기 기술된 바와 같이 구성된 프로세서 코어(112)는 캐시 레이어들 간의 직접 통신을 트리거링하는 명령어들을 프로세싱할 수 있다. 일부 구현예에서, L1 캐시는 양자 오류 수정 프로세스의 상태를 저장하는데 사용되며, L2 캐시는 양자 오류 수정 프로세스를 구현하는 명령어들을 저장한다.
L1 캐시(122)는 프로세서(116)에 의해 현재 프로세싱되고 있는 측정 데이터를 포함하는 데이터(130)를 포함한다.
L2 캐시(124)는 양자 오류 수정 알고리즘을 수행하기 위한 명령어들(128)을 포함하는 데이터를 저장한다. 인접 프로세싱 코어(112)에 액세스하기 위한 제어 코드(126)는 또한 L2 캐시(124)에 저장된다. 저 레벨 어셈블리 명령어(132)는 또한 프로세싱 코어(112)의 L1 캐시(122)와 L2 캐시(124) 사이에서 측정 데이터를 이동시키기 위해 사용된다. 일부 실시예에서, 저 레벨 어셈블리 명령어들(132)은 제어 코드(126)의 일부로서 제공된다. 다른 실시예에서, 저 레벨 어셈블리 명령어(132)는 별도로 제공된다.
L2 캐시(124)는 또한 양자 디바이스들(108)로부터 획득된 측정 데이터(134)를 프로세싱 코어(112)와 연관된 로컬 패치(114)에 저장한다. 연관된 로컬 패치(114)로부터의 측정 데이터(134)는 제어 레이어(104)을 통해 양자 컴퓨팅 레이어(102)로부터 L2 캐시(124)로 공급된다. 측정 데이터(134)는 필요에 따라 L1 캐시(122)를 통한 프로세싱을 위해 프로세서(116)로 전송된다.
각 L2 캐시(124)는 프로세서 코어(112)의 버스(120) 각각에 대한 수신 버퍼들(미도시)을 더 포함한다. 버퍼는 대응하는 인접 프로세싱 코어에 의해 주기적으로 기록된다. 버퍼는 "중지 비트"를 발행하여 다른 코어가 경쟁을 줄이기 위해 과부하되어 있음을 알리도록 구성될 수 있다. 그러한 실시예에서, 프로세서에 의해 실행될 때, 제어 코드는 프로세서로 하여금 인접 프로세서 코어의 제2 레벨 프로세서 캐시(124)에 액세스하게 할 수 있다.
알고리즘 명령어들 및 측정 데이터를 저장하기 위해 프로세서 캐시를 사용하면 양자 오류 수정을 수행할 때 랜덤 액세스 메모리와 같은 외부 메모리의 필요성을 감소시키거나 없앨 수 있다. 이를 통해 오류 수정 알고리즘을 수행할 때 지연을 감소시킬 수 있다.
일부 실시예에서, L1 캐시는 8 kB 내지 128 kB 사이의 메모리를 갖는다. 일부 실시예에서, L1 캐시는 64 kB의 메모리를 갖는다. 일부 실시예에서, L2 캐시는 0.5 MB 내지 3 MB 사이의 메모리를 갖는다. 일부 실시예에서, L2 캐시는 1.5 MB의 메모리를 갖는다.
로컬 패치 당 단일 프로세싱 코어를 사용하는 어레이의 일부 예가 도 3에 도시된다.
클래식 프로세싱 레이어는 클래식 프로세싱 코어(112)의 어레이를 포함한다. 어레이는 프로세싱 코어(112)를 각각 포함하는 복수의 마더 보드(136)를 포함한다. 주어진 예에서, 4개의 프로세싱 코어만이 도시되어 있지만, 일반적으로 어레이는 임의의 수의 프로세싱 코어(112)로 구성될 수 있다.
프로세서 코어(112)는 어레이의 각 마더 보드(136) 상에 위치된다. 인접 마더 보드(136) 상의 프로세서 캐시(118)는 버스(120)를 통해 링크된다.
각 프로세싱 코어(112)는 양자 컴퓨팅 레이어(102)에서 양자 디바이스(108)의 로컬 패치(114)로부터 측정 데이터를 수신한다. 어레이 내의 프로세싱 코어(112)는 양자 컴퓨팅 레이어(102)에서 관심있는 로컬 패치(114)를 총괄적으로 커버한다. 일부 실시예에서, 어레이는 양자 컴퓨팅 레이어(102)의 모든 로컬 패치(114)를 커버한다.
양자 오류 수정 알고리즘의 실행 동안, 버스(120)는 프로세싱 코어(112)가 인접 프로세싱 코어(112)의 측정 데이터에 액세스할 수 있게 한다. 인접 프로세싱 코어(112)는 측정 데이터에 액세스하는 프로세싱 코어(112)의 로컬 패치(114)에 인접한 양자 컴퓨팅 레이어(102)의 로컬 패치(114)와 연관된다.
또한 도 4를 참조하면, 일부 대안적 실시예에서, 다수의 프로세싱 코어(112)가 각 마더 보드(136) 상에 위치된다. 각 프로세서 코어(112)는 하나 이상의 프로세서(116) 및 프로세서 캐시(118)를 포함한다. 각 마더 보드(136) 상의 프로세서 코어(112)는 (일부 실시예에서 L3 캐시의 형태일 수 있는) 인트라-마더 보드 버스(138)를 통해 데이터를 교환할 수 있다. 도시된 실시예에서, 마더 보드(136)에는 4 개의 프로세서 코어(112)가 제공된다. 그러나, 더 적거나 더 많은 프로세서 코어(112)가 사용될 수 있다.
도시된 실시예에서, 마더 보드(126)의 주변의 프로세서 코어(112) 각각은 인접한 마더 보드 상의 가장 가까운 인접 프로세서 코어에 대한 방향성 버스(140)를 갖는다. 이를 통해 서로 다른 마더 보드에 있는 인접 프로세서 코어의 프로세서 캐시간에 측정 데이터를 교환할 수 있다.
또한 도 5를 참조하면, 인접 마더 보드에서 가장 가까운 인접 프로세서 코어에 대한 방향성 버스를 갖는 주변 프로세서 코어(112) 각각을 갖는 것에 대한 대안은 공유 리소스로서 사용되는 주변 프로세서에 대한 공통 방향성 버스(140)를 갖는 것이다. 이 실시예에서, 공통 방향성 버스(140)는 인접 마더 보드 상의 프로세서 캐시 간에 데이터를 교환한다. 공통 방향성 버스(130)는 인트라-마더 보드 버스(138)와 연결될 수 있으며, 인접 마더 보드 프로세서 코어의 캐시로부터의 데이터가 마더 보드(126) 상의 임의의 프로세서 코어(112)에 의해 사용될 수 있게 한다.
도 6을 참조하면, 추가 프로세싱이 제2 클래식 프로세싱 레이어(134)에 제공될 수 있다. 제2 클래식 프로세싱 레이어는 제2 레이어 프로세싱 코어(136)의 어레이를 포함한다. 제2 클래식 프로세싱 레이어(134)의 제2 레이어 프로세싱 코어(136)는 클래식 프로세싱 레이어(106)에 의해 출력된 수정된 패리티 및/또는 식별된 오류를 사용하여 식별된 양자 오류를 수정하기 위한 명령어를 결정한다. 결정된 명령어(146)는 제어 레이어(104)로 전송되고, 제어 레이어는 이들을 제어 신호로 변환하여 양자 컴퓨팅 레이어(102)의 양자 디바이스(108)에 적용함으로써 식별된 오류를 수정한다.
전형적으로, 제2 프로세싱 레이어(142)는 제1 클래식 프로세싱 레이어(106)가 프로세싱 코어(112)를 갖는 것보다 적은 제2 레이어 프로세싱 코어(144)를 갖는다. 일부 실시예에서, 제2 클래식 프로세싱 레이어(142)는 최대 100개 미만의 프로세싱 코어의 팩터를 갖는다. 제2 클래식 프로세싱 레이어(142)는 또한 글로벌 양자 알고리즘 제어를 제공할 수 있다.
상술한 시스템은 양자 오류를 결정하고 수정하기 위한 표면 코드를 구현하는데 특히 적합하다. 이러한 표면 코드의 예는 Toric 코드이다.
사용시, 양자 컴퓨팅 레이어는 오류 수정을 위해 사용되는 표면 코드를 갖는 양자 알고리즘을 실행한다. 표면 코드는 대형 체커 보드로 시각화될 수 있다. 각 사각형은 큐비트를 나타낸다. 흰색 사각형은 데이터를 저장하는데 사용되는 큐비트에 해당하며 데이터 큐비트라고 지칭한다. 검은 사각형은 인접한 4개의 데이터 큐비트에서 오류를 확인하는데 사용되는 큐비트에 해당하며, 측정 또는 신드롬 큐비트라고 지칭한다. 표면 코드의 영역을 켜거나 끔으로써 계산이 이루어진다. 물리적으로, 이것은 측정 큐비트가 양자 컴퓨팅 레이어의 특정 영역 내에서 데이터 큐비트와의 인터렉션을 중단시키는 것을 포함한다.
이 상황에서, 양자 알고리즘은 시간이 수직으로 진행되는 3차원 기하학적 구조 또는 어레이로서 시각화될 수 있다. 알고리즘의 실행은 2차원(1차원 어레이의 큐비트) 또는 3차원(2차원 어레이의 큐비트) 데이터 구조에서 동작하는 것으로 시각화될 수 있고, 때때로 “시공간” 또는 “볼륨”으로 지칭된다. 이 데이터 구조는 본 명세서에서 "플럼빙 조각"으로 지칭되는 규칙적인 빌딩 블록으로 구성될 수 있다. 이 플럼빙 조각의 스트림은 제어 하드웨어에 공급되어, 물리적 양자 게이트의 콜렉션들로 확장될 수 있다. 이러한 물리 양자 게이트는 양자 알고리즘의 진행을 제어하기 위해 하드웨어 특정 제어 신호로 변환될 수 있다.
도 7은 양자 컴퓨팅 알고리즘의 실행 동안 양자 컴퓨터에서 수행되는 프로세스의 예를 도시한다. 양자 알고리즘의 실행 동안, 측정 큐비트는 양자 컴퓨팅 레이어(102) 내에서 병렬로 인접하는 데이터 큐비트와 인터렉션하고, 데이터 큐비트 양자 상태(148)의 측정을 수행한다. 일부 실시예에서, 확인의 모든 사이클 동안, 양자 컴퓨터에서 큐비트 수의 절반과 같은 다수의 이진 측정이 생성된다. 측정의 라운드가 순차적으로 수행된다.
측정 큐비트에 의한 데이터 큐비트의 물리적 측정은 판독 신호(150)로서 제어 레이어(104)으로 전달된다. 제어 레이어에서, 판독 신호(150)는 측정 데이터(152)로 변환된다. 이어서, 측정 데이터(152)는 측정 데이터(152)가 시작된 양자 디바이스의 로컬 패치에 대응하는 제1 클래식 프로세싱 레이어(106)의 클래식 프로세싱 코어로 전송된다.
제1 클래식 프로세싱 레이어는 측정 데이터를 수신하고, 이를 처리하여 양자 알고리즘의 실행에서 임의의 오류를 결정한다.
제1 단계는 측정을 검출 이벤트로 변환하는 것이다. 일부 실시예에서, 이것은 양자 컴퓨팅 레이어에서의 위치에서의 각각의 측정을 동일한 위치에서의 이전 측정과 비교함으로써 달성된다. 특정 위치에서의 측정이 해당 위치에서의 이전 측정과 다를 경우, 검출 이벤트가 해당 위치에 기록된다.
표면 코드에서, 검출 이벤트는 양자 알고리즘에서 오류 체인의 종점에 대응한다. 검출 이벤트에 대응하는 가능한 오류를 결정하기 위해, 검출 이벤트는 서로 매칭되어 쌍을 형성하거나, 큐비트 어레이의 경계에 매칭된다.
검출 이벤트의 매칭은 제1 클래식 프로세싱 레이어(106)에서 수행된다. 각 클래식 프로세서 코어는 대응하는 로컬 패치에서 발생할 수 있는 잠재적 검출 이벤트의 레이어화된 표현을 저장한다. 일부 실시예에서, 레이어화된 표현은 양자 알고리즘의 스테이지에서 오류 검출의 라운드 동안 발생할 수 있는 잠재적 검출 이벤트를 포함한다. 각 레이어에서 잠재적 검출 이벤트로부터 벗어나는 것은 검출 이벤트를 다른 잠재적 검출 이벤트에 연결하는 가중선의 세트이다. 각 선의 가중치는 오류의 결과로서 선의 각 끝에서 발생하는 검출 이벤트의 가능성을 나타낸다. 일부 실시예에서, 선들은 더 높은 확률 선들이 더 낮은 확률 선들보다 더 작은 가중치를 갖도록 가중화된다.
레이어화된 표현은 양자 알고리즘에 대한 지식과 그 실행 중에 발생할 수 있는 가능한 오류에 기초하여 미리 결정된다. 레이어화된 표현은 각 로컬 패치에 대한 표현이 제1 클래식 컴퓨팅 레이어에서 대응하는 프로세서 코어의 프로세서 캐시에 맞도록 선택된다.
양자 알고리즘이 진행됨에 따라, 레이어화된 표현은 알고리즘의 진행을 나타내는 각각의 클래식 프로세싱 코어에서 어레이를 구성하는데 사용된다. 어레이의 수평 슬라이스는 이하 설명되는 바와 같이 오류 검출 측정의 라운드에 대응한다. 주어진 로컬 패치를 나타내는 어레이는 해당 로컬 패치와 연관된 프로세서 코어의 프로세서 캐시에 주기적으로 기록된다. 도 8을 참조하여, 이러한 어레이(156)의 예가 이제 설명될 것이다. 도면에서, 시간은 왼쪽에서 오른쪽으로 주기적으로 흐른다. 검출 이벤트(158)가 어레이(156)에서 결정될 때, 프로세서 코어는 최소 가중치 완전 매칭(minimum weight perfect matching)을 사용하여 어레이에서 다른 결정된 검출 이벤트와 매칭시키려고 시도한다. 어레이는 양자 컴퓨터가 통과한 양자 알고리즘의 스테이지에 대응하는 레이어화된 표현의 관련 레이어(160)로 구성된다(일부만이 도 8에 표시되어 있음).
최소 가중치 완전 매칭을 수행하기 위한 각 프로세서 코어에 대한 명령어는 해당 프로세서 코어의 프로세서 캐시에 저장된다. 외부 메모리에 액세스 할 필요가 없으므로 매칭 알고리즘을 빠르게 실행할 수 있다. 검출 이벤트를 매칭시키면 양자 알고리즘의 실행에서 발생할 수 있는 오류 리스트(162)가 발생시킨다.
프로세서 코어에 의한 검출 이벤트의 매칭 동안, 프로세서 코어는 자신의 로컬 패치에 인접한 디바이스의 로컬 패치에서의 검출 이벤트에 관한 데이터를 요구할 수 있다. 예를 들어, 프로세서가 검출 이벤트를 로컬 패치의 다른 검출 이벤트와 매칭시킬 수 없는 경우, 인접 로컬 패치의 검출 이벤트와 매칭시킬 수 있다. 이러한 상황에서, 프로세서 코어는 전술한 바와 같이 그들 사이의 방향성 버스를 통해 인접 프로세서 코어의 프로세서 캐시에 액세스할 수 있다.
매칭되는 검출 이벤트를 사용하여 발생한 오류를 결정할 수 있다. 대응하는 패리티 수정은 오류로부터 결정될 수 있고, 양자 알고리즘의 시공간 표현으로 삽입된다. 이것은 일부 실시예에서, 물리적 큐비트 레벨 파울리 프레임(154) 정보를 저장하는 레이어화된 구조일 수 있다.
일부 실시예에서, 오류 리스트(162)는 상관 표면 패리티의 형태이다. 매칭 후, 전술한 바와 같이, 양자 컴퓨터의 클래식 시뮬레이션에서 시공간에 수정이 삽입된다. 이러한 수정은 물리적 측정 결과의 실제 값을 결정하기 위해 양자 게이트(효율적으로 수행될 수 있음)를 통해 시간 내에 전방향으로 전파될 수 있다. 그 다음, 상관 표면에서 수정된 측정 결과의 패리티가 상위 레벨 프로세싱을 위해 송신된다.
일부 실시예에서, 수정된 패리티는 상위 레벨 프로세싱을 위해 제2 클래식 프로세싱 레이어(142)으로 전달된다. 제2 클래식 프로세싱 레이어(142)은 양자 알고리즘을 수정하기 위해 필요한 미래의 논리 게이트를 결정하는데 사용된다. 수정된 패리티(162)는 논리적 측정 결과 및 논리적 부산물 연산자(164)로 변환된다. 모든 논리적 부산물 연산자 세트를 논리 파울리 프레임이라고 한다. 논리 Pauli 프레임과 논리 측정 결과가 주어지면, 양자 알고리즘을 수정하는데 필요한 수정 액션을 결정할 수 있다. 논리 측정 및 논리 파울리 프레임(164)은 논리 큐비트의 측정 값을 포함하며, 결과는 0 또는 1이며, 측정되지 않은 논리 큐비트가 이상적인 값과 다른 방식으로 구성된다. 차이점은 각각 2x2 행렬인 I, X, Y, Z 연산자 중 하나로 표시될 수 있다.
제2 클래식 프로세싱 레이어는 또한 글로벌 양자 알고리즘 제어를 제공한다. 일부 실시예에서, 글로벌 양자 알고리즘 제어는 다음 구성들을 사용하여 구현될 수 있다.
논리 측정 종속 논리 Clifford + T 회로 모듈(166). 양자 회로는 양자 게이트로 구성된다. 이러한 유형의 게이트의 예는 초기화, 측정, I, X, Y, Z, CNOT, CZ, S, H 연산 및 이들의 조합을 포함하는 Clifford 게이트이다. 다른 예는 T 게이트이다. 양자 회로는 소프트웨어와 유사하며, 일부 미래 게이트는 중간 측정 값에 종속한다. 논리 측정 종속 논리 Clifford + T 회로 모듈(166)은 논리 측정으로부터 이들 논리 측정 종속 미래 게이트를 결정한다. 이들은 제1 레이어에 의해 결정된 식별된 오류 수정을 구현하기 위한 미래 게이트를 포함할 수 있다. 다수의 논리적 측정이 획득되면, 양자 회로의 미래 게이트가 결정될 수 있다. 계산이 진행되고 더 많은 논리적 측정이 가능해짐에 따라, 확신이 있는 더 많은 수의 게이트가 알려진다. 이 모듈의 출력은 논리 Clifford + T 회로(168)이다.
토폴로지 스켈레톤 플러스 상태 증류 팩토리 모듈(170). 논리 측정 종속 논리 Clifford + T 회로 모듈(166)에 의해 결정된 알고리즘의 알려진 부분은 "토폴로지 스켈레톤(topological skeleton)"으로 지칭되는 표준 구조 및 양자 알고리즘에서 사용하기 위한 보조(ancilla) 양자 상태를 증류하기 위한 팩토리로 변환된다.
스켈레톤, 팩토리 및 팩토리에서 스켈레톤 모듈로의 경로(172). 토폴로지 스켈레톤 플러스 상태 증류 팩토리 모듈(170)에 의해 결정된 토폴로지 스켈레톤 플러스 상태 증류 팩토리가 주어지면, 논리 측정(164)은 어느 팩토리가 보조 상태를 성공적으로 증류했는지를 결정하는데 사용될 수 있다. 그 다음, 이러한 상태를 출력이 필요한 토폴로지 스켈레톤에 연결하는데 필요한 경로가 결정된다.
상관 표면 모듈(174). 상관 표면은 패리티가 논리 측정 결과를 제공하고 및/또는 논리 파울리 프레임 수정을 생성하는 측정 세트이다. 상관 표면은 논리 X 및/또는 Z 부산물 연산자가 계산에 도입되었는지 여부를 결정하기 위해 검사할 측정 결과의 패리티를 표시한다. 상관 표면은 스켈레톤, 팩토리 및 팩토리에서 스켈레톤 모듈(172)까지의 경로의 출력으로부터 결정된다. 상관 표면은 물리적 측정으로부터 패리티를 결정하는데 사용하기 위해 제1 클래식 컴퓨팅 레이어(106)로 출력된다.
플럼빙 조각 모듈(176). 플럼빙 조각 모듈은 스켈레톤, 팩토리 및 팩토리에서 스켈레톤 모듈(172)까지의 경로의 출력을 양자 컴퓨팅 레이어(102)에서 필요한 게이트를 구현하기 위한 플럼빙 조각의 세트로 변환한다.플럼빙 조각 모듈(176)은 플럼빙 조각을 양자 컴퓨팅 레이어(102)에서의 구현하기 위한 제어 레이어(104)에 출력한다. 제어 레이어는 이들을 물리 게이트 동작(178)으로 변환한다. 이들은 결정된 수정으로 양자 알고리즘을 구현하기 위해 양자 컴퓨팅 레이어(102) 내의 게이트에 제어 펄스(180)로서 출력된다.
결정된 수정 액션은 제2 클래식 프로세싱 레이어에 의해 제어 레이어(104)로 출력된다. 물리 게이트는 결정된 수정 액션을 제어 펄스로 변환한다. 제어 펄스는 양자 컴퓨팅 레이어(102)에서 큐비트에 대한 수정 액션을 구현하는데 사용된다.
설명된 양자 주제 및 본 명세서에 기술된 양자 동작의 구현예는 본 명세서에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는, 양자 회로 또는 양자 계산 시스템에서 구현될 수 있다.
“양자 계산 시스템"이라는 용어는 양자 컴퓨터, 양자 정보 프로세싱 시스템, 양자 암호 시스템 또는 양자 시뮬레이터를 포함할 수 있지만, 이에 한정되지 않는다.
양자 정보 및 양자 데이터라는 용어는 양자 시스템에서 수행, 보유되거나 저장되는 정보 또는 데이터를 지칭하며, 여기서 가장 작은 비-사소한(non-trivial) 시스템 예를 들어 양자 정보의 단위를 정의하는 시스템은 큐비트이다.
용어 "큐비트"은 대응하는 맥락에서 2-레벨 시스템으로서 적절하게 근사화될 수 있는 모든 양자 시스템을 포함하는 것으로 이해된다. 이러한 양자 시스템은 예를 들어, 둘 이상의 레벨을 갖는 다중 레벨 시스템을 포함할 수 있다. 예로서, 이러한 시스템은 원자, 전자, 광자, 이온 또는 초전도 큐비트를 포함할 수 있다. 많은 구현예에서, 계산 기초 상태는 기저 및 제1 여기 상태로 식별되지만, 계산 상태가 더 높은 레벨 여기 상태로 식별되는 다른 설정도 가능하다. 양자 메모리는 광을 전송에 사용하는 광물질 인터페이스, 중첩 또는 양자 코히어런스와 같은 양자 데이터의 양자 피처를 저장 및 보존하기 위한 물질과 같이, 높은 충실도 및 효율로 양자 데이터를 장시간 저장할 수 있는 디바이스들인 것으로 이해된다.
양자 회로 엘리먼트는 양자 프로세싱 동작을 수행하는데 사용될 수 있다. 즉, 양자 회로 엘리먼트는 비-결정적 방식으로 데이터에 대한 동작을 수행하기 위해 중첩 및 얽힘과 같은 양자-기계적 현상을 이용하도록 구성될 수 있다. 큐비트와 같은 특정 양자 회로 엘리먼트는 동시적으로 하나 이상의 상태에서 정보를 나타내고 동작하도록 구성될 수 있다. 본 명세서에 개시된 프로세스로 형성될 수 있는 초전도 양자 회로 엘리먼트의 예는 동일 평면 도파관, 양자 LC 발진기, 큐비트(예를 들어, 플럭스 큐비트 또는 전하 큐비트), 초전도 양자 간섭 장치(SQUID)(예를 들어, RF-SQUID 또는 DCSQUID), 인덕터, 커패시터, 전송 라인, 접지 평면 등과 같은 회로 엘리먼트를 포함한다.
대조적으로, 클래식 회로 엘리먼트는 일반적으로 결정적 방식으로 데이터를 프로세싱한다. 클래식 회로 엘리먼트는 데이터에 대한 기본적인 산술 논리 및/또는 입력/출력 동작을 수행함으로써, 컴퓨터 프로그램의 명령어들을 집 적으로 수행하도록 구성될 수 있으며, 여기서 데이터는 아날로그 또는 디지털 형태로 표현된다. 일부 구현예에서, 클래식 회로 엘리먼트들은 전기 또는 전자기 연결들을 통해 양자 회로 엘리먼트들에 데이터를 전송 및/또는 수신하기 위해 사용될 수 있다. 본원에 개시된 프로세스로 형성될 수 있는 클래식 회로 엘리먼트의 예는 RSFQ(Rapid Single Flux Quantum Quantum) 디바이스, RQL(reciprocal Quantum Logic) 디바이스 및 바이어스 단일 저항 양자점을 사용하지 않는 RSFQ의 에너지 효율적인 버전인 ERSFQ 디바이스를 포함한다. 다른 클래식 회로 엘리먼트가 여기에 개시된 프로세스들과 함께 형성될 수 있다.
본 명세서에 기술된 회로 엘리먼트와 같은 초전도 양자 회로 엘리먼트 및/또는 초전도 클래식 회로 엘리먼트를 사용하는 양자 계산 시스템의 동작 중에, 초전도 회로 엘리먼트는 초전도체 재료가 초전도 특성을 나타낼 수 있는 온도로 극저온 내에서 냉각된다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 구현예에 특정적일 수 있는 구성들에 대한 설명으로 해석되어야 한다. 별개의 구현예의 맥락에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 구현예에서 조합하여 구현될 수 있다. 반대로, 단일 구현예의 맥락에서 기술된 다양한 구성들은 또한 다수의 구현예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 예를 들면, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 더욱이, 위에서 설명된 구현예에서 다양한 컴포넌트들의 분리는 모든 구현들에서 이러한 분리를 요구하는 것으로 이해되어서는 안된다.
다수의 구현예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 본 발명의 정신과 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 다른 구현예들도 다음의 청구항들의 범위 내에 있다.

Claims (23)

  1. 장치로서:
    프로세싱 코어들의 어레이, 각 프로세싱 코어는:
    제1 칩 상의 프로세서; 및
    상기 제1 칩 상의 프로세서 캐시를 포함하며; 및
    상기 프로세싱 코어들의 어레이에서 인접 프로세싱 코어들을 상호 연결하기 위한 버스를 포함하며;
    각 프로세싱 코어는:
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 적어도 하나의 인접 프로세싱 코어의 프로세서 캐시에 액세스하게 하는 제어 코드를 포함하는, 장치.
  2. 청구항 1에 있어서, 상기 제어 코드는 상기 프로세서 캐시에 저장되는, 장치.
  3. 청구항 1 또는 2에 있어서, 각 프로세서 캐시는:
    제1 레벨 프로세서 캐시; 및
    제2 레벨 프로세서 캐시를 포함하며, 데이터는 상기 제1 레벨 캐시를 통해 상기 프로세서와 상기 제2 레벨 프로세서 캐시 사이를 통과하는, 장치.
  4. 청구항 3에 있어서, 상기 제어 코드는 상기 제2 레벨 프로세서 캐시에 저장되는, 장치.
  5. 청구항 4에 있어서, 상기 제어기 코드는 머신 코드를 포함하는, 장치.
  6. 청구항 3 내지 5 중 어느 한 항에 있어서, 상기 제어기 코드는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 상기 적어도 하나의 인접 프로세서 코어의 상기 제2 레벨 프로세서 캐시에 액세스하게 하는, 장치.
  7. 선행하는 청구항 중 어느 한 항에 있어서, 상기 프로세서 캐시는 상기 적어도 하나의 인접 프로세싱 코어로부터 액세스된 데이터를 저장하도록 구성된 하나 이상의 버퍼들을 포함하는, 장치.
  8. 청구항 7에 있어서, 상기 적어도 하나의 인접 프로세싱 코어로부터 액세스된 데이터는 상기 하나 이상의 버퍼들에 주기적으로 기록되는, 장치.
  9. 선행하는 청구항 중 어느 한 항에 있어서, 각 프로세싱 코어는 각각의 측정 데이터 세트를 수신하고, 상기 측정 데이터 세트를 상기 프로세서 캐시에 저장하고 그리고 상기 측정 데이터 세트를 프로세싱하도록 구성되는, 장치.
  10. 청구항 9에 있어서, 상기 측정 데이터를 프로세싱하기 위한 명령어들은 상기 프로세서 캐시에 저장되는, 장치.
  11. 청구항 9 또는 10에 있어서, 상기 측정 데이터의 세트를 프로세싱하기 위해, 상기 프로세싱 코어는 양자 오류 수정을 수행하도록 구성되는, 장치.
  12. 청구항 11에 있어서, 상기 양자 오류 수정은 표면 코드를 구현하는 것을 포함하는, 장치.
  13. 청구항 9 내지 12 중 어느 한 항에 있어서, 상기 측정 데이터의 세트를 프로세싱하기 위해, 상기 프로세싱 코어는 랜덤 액세스 메모리를 사용하지 않도록 구성되는, 장치.
  14. 선행하는 청구항 중 어느 한 항에 있어서, 상기 프로세서 코어는 하나 이상의 추가 프로세서들을 더 포함하는, 장치.
  15. 시스템으로서,
    임의의 선행하는 청구항에 따른 프로세싱 코어들의 어레이를 포함하는 제1 클래식 컴퓨팅 레이어; 및
    양자 컴퓨팅 알고리즘을 구현하도록 구성된 양자 디바이스들의 어레이를 포함하는 양자 컴퓨팅 레이어를 포함하며,
    상기 클래식 프로세싱 레이어는:
    상기 양자 컴퓨팅 레이어로부터 측정 데이터를 수신하고; 그리고
    상기 수신된 측정 데이터를 사용하여 상기 양자 컴퓨팅 레이어에 의해 수행된 상기 양자 컴퓨팅 알고리즘에서 하나 이상의 오류들을 결정하도록 구성되는, 시스템.
  16. 시스템으로서,
    프로세싱 코어들의 어레이를 포함하는 제1 클래식 컴퓨팅 레이어, 각 프로세싱 코어는:
    프로세서; 및
    프로세서 캐시를 포함하며; 및
    상기 프로세싱 코어들의 어레이에서 인접 프로세싱 코어들을 상호 연결하기 위한 버스;
    각 프로세싱 코어는:
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 적어도 하나의 인접 프로세싱 코어의 프로세서 캐시에 액세스하게 하는 제어 코드를 포함하며;
    양자 컴퓨팅 알고리즘을 구현하도록 구성된 양자 디바이스들의 어레이를 포함하는 양자 컴퓨팅 레이어를 포함하며,
    상기 클래식 프로세싱 레이어는:
    상기 양자 컴퓨팅 레이어로부터 측정 데이터를 수신하고; 그리고
    상기 수신된 측정 데이터를 사용하여 상기 양자 컴퓨팅 레이어에 의해 수행된 상기 양자 컴퓨팅 알고리즘에서 하나 이상의 오류들을 결정하도록 구성되는, 시스템.
  17. 청구항 15 또는 16에 있어서, 필드 프로그래머블 게이트 어레이들의 어레이를 포함하는 제어 레이어를 더 포함하며, 상기 제어 레이어는:
    상기 양자 컴퓨팅 레이어로부터 물리적 측정치를 수신하고;
    상기 물리적 측정치를 측정 데이터로 변환하고; 그리고
    상기 측정 데이터를 상기 제1 클래식 컴퓨팅 레이어로 출력하도록 구성되는, 시스템.
  18. 청구항 17에 있어서, 상기 제어 레이어는:
    양자 오류 수정 명령어들을 수신하고; 그리고
    상기 양자 오류 수정 명령어들을 수신함에 응답하여, 상기 양자 컴퓨팅 레이어 상에서 하나 이상의 큐비트 회전들을 구현하게 하도록 더 구성되는, 시스템.
  19. 청구항 16 내지 18 중 어느 한 항에 있어서, 상기 클래식 프로세싱 레이어는 상기 양자 컴퓨팅 레이어에서 양자 디바이스들의 수정된 패리티들을 결정하도록 구성되는, 시스템.
  20. 청구항 19에 있어서, 제2 클래식 프로세싱 레이어를 더 포함하며, 상기 제2 클래식 프로세싱 레이어는:
    상기 제1 클래식 컴퓨팅 레이어로부터 상기 양자 컴퓨팅 레이어 내의 양자 디바이스들의 하나 이상의 수정된 패리티들을 수신하고; 그리고
    상기 하나 이상의 결정된 오류 수정 패리티들로부터 하나 이상의 양자 오류 수정 명령어들을 결정하도록 구성되는, 시스템.
  21. 청구항 20에 있어서, 상기 제2 프로세싱 레이어는 상기 하나 이상의 양자 오류 수정 명령어들로 하여금 상기 양자 컴퓨팅 레이어에서 구현되도록 더 구성되는, 시스템.
  22. 청구항 20 또는 21에 있어서, 상기 제2 프로세싱 레이어는 상기 하나 이상의 양자 오류 수정 명령어들을 결정하기 위해 표면 코드를 구현하도록 구성되는, 시스템.
  23. 청구항 15 내지 23 중 어느 한 항에 있어서, 상기 제1 클래식 프로세싱 레이어의 각 프로세싱 코어는 상기 양자 컴퓨팅 레이어 내의 양자 디바이스들의 로컬 패치로부터 측정치를 수신하는, 시스템.
KR1020207010698A 2017-09-13 2017-09-13 양자 오류 수정 Active KR102721149B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/051290 WO2019054995A1 (en) 2017-09-13 2017-09-13 QUANTUM ERROR CORRECTION

Publications (2)

Publication Number Publication Date
KR20200052367A true KR20200052367A (ko) 2020-05-14
KR102721149B1 KR102721149B1 (ko) 2024-10-24

Family

ID=59982484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207010698A Active KR102721149B1 (ko) 2017-09-13 2017-09-13 양자 오류 수정

Country Status (8)

Country Link
US (3) US11449385B2 (ko)
EP (2) EP4216112B1 (ko)
JP (1) JP6884273B2 (ko)
KR (1) KR102721149B1 (ko)
CN (2) CN111417967B (ko)
AU (3) AU2017431392B2 (ko)
CA (1) CA3075163C (ko)
WO (1) WO2019054995A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018165021A1 (en) 2017-03-10 2018-09-13 Rigetti & Co., Inc. Modular control in a quantum computing system
EP4216112B1 (en) * 2017-09-13 2026-03-11 Google LLC Quantum error correction
US11710058B2 (en) 2018-06-30 2023-07-25 Intel Corporation Apparatus and method for recompilation of quantum circuits to compensate for drift in a quantum computer
US11663291B2 (en) * 2020-06-12 2023-05-30 Accenture Global Solutions Limited Quantum computation for cost optimization problems
US11308252B1 (en) * 2020-11-13 2022-04-19 International Business Machines Corporation Fault-tolerant T-gates via quasiprobability decomposition
JP7242743B2 (ja) 2021-04-08 2023-03-20 株式会社メルカリ システム、情報処理方法及びプログラム
US11934920B2 (en) * 2021-08-19 2024-03-19 Quantinuum Llc Quantum system controller configured for quantum error correction
US12373724B1 (en) * 2021-12-31 2025-07-29 Google Llc Low latency scalable parallel streaming matching for quantum computing systems
US11875228B2 (en) * 2022-01-27 2024-01-16 Red Hat, Inc. Classifying quantum errors
JP7689343B2 (ja) * 2022-05-24 2025-06-06 日本電信電話株式会社 制御装置、量子計算機、制御方法、及びプログラム
CN120449968B (zh) * 2025-07-14 2025-10-28 中国科学技术大学 基于物理先验结构引导的量子误差缓解神经网络训练方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155833A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited キャッシュメモリ制御装置およびキャッシュメモリ制御方法
KR20110019775A (ko) * 2008-06-06 2011-02-28 애플 인크. 다수의 프로세서들에서 데이터 병렬 컴퓨팅을 하기 위한 응용 프로그래밍 인터페이스들
US20140089593A1 (en) * 2011-12-29 2014-03-27 Xavier Vera Recovering from data errors using implicit redundancy
KR20150067433A (ko) * 2013-12-10 2015-06-18 삼성전자주식회사 L2 캐시 특성을 조절할 수 있는 멀티-코어 cpu 시스템, 이의 동작 방법, 및 이를 포함하는 장치들
KR20160046225A (ko) * 2014-10-20 2016-04-28 한국전자통신연구원 고장 제어 기능을 구비한 캐시 메모리

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7875876B1 (en) * 2006-06-15 2011-01-25 Hrl Laboratories, Llc Scalable quantum computer
JP4786727B2 (ja) * 2009-03-27 2011-10-05 株式会社東芝 量子計算方法、量子計算機およびプログラム
WO2015178992A2 (en) 2014-02-28 2015-11-26 Rigetti & Co., Inc. Processing signals in a quantum computing system
JP6213366B2 (ja) * 2014-04-25 2017-10-18 富士通株式会社 演算処理装置とその制御方法
US10229365B2 (en) * 2014-11-03 2019-03-12 Newsouth Innovations Pty Limited Apparatus and method for quantum processing
US10283696B2 (en) * 2015-06-30 2019-05-07 International Business Machines Corporation Architecture for coupling quantum bits using localized resonators
US9985193B2 (en) * 2015-06-30 2018-05-29 International Business Machines Corporation Architecture for coupling quantum bits using localized resonators
US9614532B1 (en) * 2015-12-17 2017-04-04 International Business Machines Corporation Single-flux-quantum probabilistic digitizer
US10275717B2 (en) * 2016-06-02 2019-04-30 Google Llc Training quantum evolutions using sublogical controls
EP4216112B1 (en) * 2017-09-13 2026-03-11 Google LLC Quantum error correction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155833A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited キャッシュメモリ制御装置およびキャッシュメモリ制御方法
KR20110019775A (ko) * 2008-06-06 2011-02-28 애플 인크. 다수의 프로세서들에서 데이터 병렬 컴퓨팅을 하기 위한 응용 프로그래밍 인터페이스들
US20140089593A1 (en) * 2011-12-29 2014-03-27 Xavier Vera Recovering from data errors using implicit redundancy
KR20150067433A (ko) * 2013-12-10 2015-06-18 삼성전자주식회사 L2 캐시 특성을 조절할 수 있는 멀티-코어 cpu 시스템, 이의 동작 방법, 및 이를 포함하는 장치들
KR20160046225A (ko) * 2014-10-20 2016-04-28 한국전자통신연구원 고장 제어 기능을 구비한 캐시 메모리

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
G. Fowler. Austin et al "Towards practical classical processing for the surface code: timing analysis." arXiv:1202.5602v2(2012.) 1부.* *
G. Fowler. Austin et al "Towards practical classical processing for the surface code." arXiv:1110.5133v2(2012.) 1부.* *

Also Published As

Publication number Publication date
WO2019054995A1 (en) 2019-03-21
CN111417967B (zh) 2024-06-18
AU2022203842A1 (en) 2022-06-23
US20240078152A1 (en) 2024-03-07
CN111417967A (zh) 2020-07-14
EP4216112A1 (en) 2023-07-26
AU2017431392A1 (en) 2020-04-02
EP3682382B1 (en) 2023-04-12
US20220382626A1 (en) 2022-12-01
JP6884273B2 (ja) 2021-06-09
CA3075163A1 (en) 2019-03-21
CN118627637A (zh) 2024-09-10
US11740962B2 (en) 2023-08-29
EP3682382A1 (en) 2020-07-22
US20200278903A1 (en) 2020-09-03
CA3075163C (en) 2022-11-01
KR102721149B1 (ko) 2024-10-24
EP4216112B1 (en) 2026-03-11
US11449385B2 (en) 2022-09-20
US12174697B2 (en) 2024-12-24
AU2021201029A1 (en) 2021-03-11
JP2020533705A (ja) 2020-11-19
AU2021201029B2 (en) 2022-03-10
AU2017431392B2 (en) 2021-01-21
AU2022203842B2 (en) 2023-08-24

Similar Documents

Publication Publication Date Title
US12174697B2 (en) Quantum error correction
US11755941B2 (en) Geometry-based compression for quantum computing devices
AU2021225173B2 (en) Quantum error correction
US12182661B2 (en) Computing platform with heterogenous quantum processors
US20240354618A1 (en) Data packet in data processing unit assisted quantum metrology
Bach et al. Re-structuring CNN using quantum layer executed on FPGA hardware for classifying 2-D data

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E90F Notification of reason for final refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601