WO2025005328A1 - 저지연성과 고확장성을 갖는 양자 컴퓨터 시뮬레이터 - Google Patents

저지연성과 고확장성을 갖는 양자 컴퓨터 시뮬레이터 Download PDF

Info

Publication number
WO2025005328A1
WO2025005328A1 PCT/KR2023/009226 KR2023009226W WO2025005328A1 WO 2025005328 A1 WO2025005328 A1 WO 2025005328A1 KR 2023009226 W KR2023009226 W KR 2023009226W WO 2025005328 A1 WO2025005328 A1 WO 2025005328A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
state vectors
vectors
memory
group
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.)
Ceased
Application number
PCT/KR2023/009226
Other languages
English (en)
French (fr)
Inventor
홍윤표
전석훈
김병수
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Korea Electronics Technology Institute
Original Assignee
Korea Electronics Technology Institute
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 Korea Electronics Technology Institute filed Critical Korea Electronics Technology Institute
Publication of WO2025005328A1 publication Critical patent/WO2025005328A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/80Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Definitions

  • This patent application is related to the development project of hardware/software fusion memory solution technology for fusion memory and high-speed operation engine control among the PIM AI semiconductor core technology development project of the Ministry of Trade, Industry and Energy in 2023 and the development project of quantum computing SoC architecture and S/W platform solution technology of the basic research project of the Korea Electronics Technology Institute in 2022.
  • the present invention relates to a simulator of a quantum circuit model, and more specifically, to a hardware structure capable of quickly performing simulation of a quantum circuit model on a classical computer.
  • Quantum computers are computers that can solve existing NP-complete problems in polynomial time using various new algorithms such as Shor's algorithm and Groover's algorithm, and are a technology that can currently break the RSA encryption system that utilizes the characteristics of prime numbers.
  • Shor's algorithm and Groover's algorithm
  • RSA encryption system that utilizes the characteristics of prime numbers.
  • simulations on classical computers are essential for research on algorithms using quantum circuits.
  • a hardware structure with expandability is essential for porting to hardware in various environments.
  • the present invention has been made to solve the above problems, and the purpose of the present invention is to provide a quantum computer simulator that can efficiently perform burst read/write from an external memory even in a quantum circuit using a large number of qubits, and can easily increase or decrease the number of PEs (Processing Elements) without changing the control logic according to a given application/environment.
  • a quantum computer simulator includes: a memory controller which reads state vectors included in a state group from an external memory; a re-ordering module which sorts the read state vectors in an order specified in the state group; an internal memory in which the state vectors sorted by the re-ordering module are stored; and PEs (Processing Elements) which perform gate operations of a quantum circuit using the state vectors stored in the internal memory; wherein the state group is a group in which pair state vectors are listed in order, and the pair state vectors are input state vectors of two gates required for the operation of the output state vector of the gate in the PE.
  • the memory controller can burst read the state vectors from the external memory.
  • the state vectors stored in the internal memory are updated with the operation results by the PEs, the re-ordering module reorders the updated state vectors in the internal memory into the original order, and the memory controller can burst write the reordered state vectors to the external memory.
  • the internal memory includes a plurality of memories, and the memory controller stores all the state vectors in a first memory among the plurality of memories when the number of state vectors in a state group is less than or equal to the number of state vectors that can be stored in one memory, and the PEs can perform gate operations by using two consecutive state vectors in the first memory as a pair of state vectors.
  • the memory controller may perform a burst read of some of the state vectors included in the state group from an external memory and store them in a first memory, and perform a burst read of the remaining state vectors included in the state group from an external memory and store them in a second memory.
  • Some of the state vectors may be the first state vectors among the pair state vectors, and the rest of the state vectors may be the second state vectors among the pair state vectors.
  • the PEs can perform gate operations using the first state vector constituting the pair state vector stored in the first memory and the second state vector constituting the pair state vector stored in the second memory.
  • one state group can contain 2 N pair state vectors.
  • the number of PEs and the number of internal memories are scalable.
  • a quantum computer simulation method includes: a step in which a memory controller reads state vectors included in a state group from an external memory; a step in which a re-ordering module sorts the read state vectors in a specified order in the state group; a step in which an internal memory stores the state vectors sorted by the re-ordering module; and a step in which PEs perform gate operations of a quantum circuit using the state vectors stored in the internal memory; wherein the state group is a group in which pair state vectors are listed in order, and the pair state vectors are input state vectors of two gates necessary for the operation of the output state vector of the gate in the PE.
  • a quantum computer simulator comprises: a memory controller which reads state vectors included in a state group from an external memory; a re-ordering module which sorts the read state vectors in a specified order in the state group; an internal memory in which the state vectors sorted by the re-ordering module are stored and the state vectors are updated with gate operation results of a quantum circuit performed using the stored state vectors; wherein the re-ordering module sorts the updated state vectors in the internal memory into the original order, the memory controller writes the sorted state vectors to an external memory, the state group is a group in which pair state vectors are listed in order, and the pair state vectors are input state vectors of two gates necessary for operation of an output state vector of the gate.
  • a quantum computer simulation method comprises: a step in which a memory controller reads state vectors included in a state group from an external memory; a step in which a re-ordering module arranges the read state vectors in a specified order in the state group; a step in which the state vectors arranged by the re-ordering module are stored in an internal memory; a step in which the state vectors in the internal memory are updated with gate operation results of a quantum circuit performed using the state vectors stored in the internal memory; a step in which the re-ordering module arranges the updated state vectors in the internal memory in their original order; and a step in which the memory controller writes the arranged state vectors to an external memory; wherein the state group is a group in which pair state vectors are listed in order, and the pair state vectors are input state vectors of two gates necessary for the operation of an output state vector of the gate.
  • the number of PEs can be easily increased or decreased without changing the control logic, thereby enabling quantum computer simulation without restrictions according to a given application/environment.
  • Figure 1 is a diagram illustrating a single qubit gate.
  • Figures 2 and 3 are diagrams illustrating pair state vectors.
  • FIG. 4 is a diagram illustrating the configuration of a quantum computing simulator according to one embodiment of the present invention.
  • FIG. 5 is a flowchart provided to explain a quantum computing operation method according to another embodiment of the present invention.
  • a method is proposed to quickly perform simulation of a quantum circuit model by designing a quantum circuit simulator running on a classical computer with a hardware structure capable of burst R/W for an external memory and easily expanding a Processing Element (PE) without changing the control logic.
  • PE Processing Element
  • This technology improves the difficulty in efficient read/write when the state vectors required for gate operations in quantum circuits are stored at addresses far away in external memory, and improves the difficulty in securing scalability of hardware IP due to complex memory control.
  • a classical computer is a computer commonly used today that performs operations based on bits (0 or 1), and is a concept corresponding to a quantum computer that performs operations based on qubits.
  • Fig. 1 illustrates a qubit gate (U gate) configured in a quantum circuit with two qubits (q0, q1).
  • U gate qubit gate
  • the underlined vectors are those whose states have changed from the input state.
  • the final output state vector is as follows.
  • two input state vectors required for calculating an output state vector are defined as a pair state vector.
  • pair state vectors can be generalized as follows.
  • the pair state vector can be simply expressed as an index as follows.
  • pair state vectors are grouped into the smallest units and categorized into state groups as follows.
  • the pair state vector can be simply expressed as an index as follows.
  • pair state vectors are grouped into state groups by minimum units as follows.
  • the pair state vector can be simply expressed as an index as follows.
  • pair state vectors are grouped into state groups by minimum units as follows.
  • the pair state vector can be simply expressed as an index as follows.
  • pair state vectors are grouped into state groups by minimum units as follows.
  • One state group [] contains 2 N pair state vectors.
  • FIG. 4 is a diagram illustrating a configuration of a quantum computing simulator according to an embodiment of the present invention.
  • a quantum computing simulator (100) according to an embodiment of the present invention is configured to include a DMA controller (110), an SRAM set (120, 121), a re-ordering module (130), and a PE (Processing Element, 140).
  • the DMA controller (110) is configured to Burst Read/Write state vectors from external memory (10), and the SRAM sets (120, 121) are spaces where state vectors are temporarily stored.
  • the re-ordering module (130) is configured to align the order of state vectors, and the order alignment is performed when state vectors are moved from an external memory (10) to an SRAM set (120, 121) and when state vectors are moved from an SRAM set (120, 121) to an external memory (10).
  • PEs (140) perform gate operations using state vectors stored in the SRAM set (120, 121), specifically, pair state vectors.
  • FIG. 5 is a flowchart provided to explain a quantum computing operation method according to another embodiment of the present invention.
  • the re-ordering module (130) first checks the position of the qubit to which the gate of the quantum circuit is applied (S205), checks the state groups (S210), and checks the number of state vectors in the state groups (S215).
  • a state group is a set of pair state vectors that are the smallest unit that can perform Burst Read/Write. Since a pair state vector consists of two state vectors, the number of state vectors in a state group is twice the number of pair state vectors included in the state group.
  • the state group when the gate of the quantum circuit to be operated is applied to the Nth qubit, the state group contains 2 N pair state vectors, so the state group contains 2 N+1 state vectors.
  • the re-ordering module (130) controls the DMA controller (110) to perform a burst read of the state vectors included in the state group from an external memory (10), and stores the burst read state vectors in the order specified in the state group in SRAM #0 (120) (S225).
  • the following PEs (140) perform gate operations using the state vectors stored in SRAM #0 (120) by step S225 (S230).
  • the gate operations are performed as follows.
  • PE #0 performs gate operation using the first state vector and the second state vector, which are the first pair state vectors stored in SRAM #0 (120).
  • PE #1 performs gate operations using the third state vector and the fourth state vector, which are the second pair state vectors stored in SRAM #0 (120).
  • PE #2 performs gate operations using the fifth state vector and the sixth state vector, which are the third pair state vectors stored in SRAM #0 (120).
  • the status vectors of SRAM #0 (120) are updated by the operation results in step S230 (S235), and the re-ordering module (130) controls the DMA controller (110) to Burst Write the updated status vectors of SRAM #0 (120) to the external memory (10) in the original order (S240).
  • the re-ordering module (130) controls the DMA controller (110) to perform a burst read of some of the state vectors included in the state group and stores the burst read state vectors in SRAM #0 (120) in the order within the state group (S245), and then controls the DMA controller (110) to perform a burst read of the remaining state vectors in the current state group and stores the burst read states in SRAM #1 (121) in the order within the state group (S250).
  • Some of the state vectors that are Burst Read and stored in SRAM #0 (120) at step S245 are the first state vectors among the pair state vectors, and the rest of the state vectors that are Burst Read and stored in SRAM #1 (121) at step S250 are the second state vectors among the pair state vectors.
  • the state group is [(0, 2 N ), (1, 2 N + 1), ..., (2 N - 1, 2 N + 2 N -1)] some state vectors (the first state vectors among the pair of state vectors) are 0, 1, ..., 2 N - 1, and the remaining state vectors (the second state vectors among the pair of state vectors) are 2 N , 2 N + 1, ..., 2 N + 2 N -1.
  • the following PEs (140) perform gate operations using the state vectors stored in SRAM #0 (120) by step S245 and the state vectors stored in SRAM #1 (121) by step S250 (S255).
  • the gate operations are performed as follows.
  • PE #0 performs a gate operation using the first state vector stored in SRAM #0 (120), which is the first pair state vector, and the first state vector stored in SRAM #1 (121).
  • PE #1 performs a gate operation using the second state vector stored in SRAM #0 (120), which is the second pair state vector, and the second state vector stored in SRAM #1 (121).
  • PE #2 performs a gate operation using the third state vector stored in SRAM #0 (120), which is the third pair state vector, and the third state vector stored in SRAM #1 (121).
  • the state vectors of SRAM #0 (120) and SRAM #1 (121) are updated by the operation results in step S255 (S260), and the re-ordering module (130) controls the DMA controller (110) to Burst Write the updated state vectors of SRAM #0 (120) and the updated state vectors of SRAM #1 (121) to the external memory (10) in the original order (S265).
  • Steps S210 to S265 are repeated until completed for all state groups (S270). And the gate operation procedure illustrated in Fig. 5 is repeated until completed for all gates constituting the quantum circuit.
  • the number of PEs (140) can be expanded as needed. However, since there is a limit to the number of pins that can be output to one clock of SRAMs (210, 211), the number of SRAMs must also be increased as the number of PEs (140) increases, and at this time, no change to the SRAM control logic is required.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

저지연성과 고확장성을 갖는 양자 컴퓨터 시뮬레이터가 제공된다. 본 발명의 실시예에 따른 양자 컴퓨터 시뮬레이터는, 상태 그룹에 포함된 상태 벡터들을 외부 메모리에서 Read 하는 메모리 컨트롤러, Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하는 리-오더링 모듈, 리-오더링 모듈에 의해 정렬된 상태 벡터들이 저장되는 내부 메모리, 내부 메모리에 저장된 상태 벡터들을 이용하여 양자 회로의 게이트 연산을 수행하는 PE들을 포함하고, 상태 그룹은 페어 상태 벡터들이 순서대로 나열되어 있는 그룹이고, 페어 상태 벡터는 PE에서 게이트의 출력 상태 벡터의 연산에 필요한 2개의 게이트의 입력 상태 벡터이다. 이에 의해, 많은 수의 큐빗을 사용하는 양자 회로에서도 외부 메모리에서 효율적으로 Burst Read/Write 할 수 있어 외부 메모리에서의 Latency를 획기적으로 줄임으로써 양자 연산 속도를 매우 빠르게 향상시킬 수 있다.

Description

저지연성과 고확장성을 갖는 양자 컴퓨터 시뮬레이터
본 특허출원은 2023년 산업통상자원부의 PIM인공지능반도체핵심기술개발사업 중 융합 메모리와 고속 연산 엔진 제어를 위한 하드웨어/소프트웨어 융합 메모리 솔루션 기술 개발 과제 및 2022년 한국전자기술연구원 기본연구사업의 양자컴퓨팅 SoC 아키텍쳐 및 S/W 플랫폼 솔루션 기술 개발 과제와 관련한 특허출원입니다.
본 발명은 양자 회로 모델의 시뮬레이터에 관한 것으로, 더욱 상세하게는 고전 컴퓨터에서 양자 회로 모델의 시뮬레이션을 빠르게 수행하는 것이 가능한 하드웨어 구조에 관한 것이다.
양자 컴퓨터는 Shor 알고리즘, Groover 알고리즘 등 여러 새로운 알고리즘을 이용하여 기존 NP-complete 문제들을 다항 시간 내에 해결할 수 있는 컴퓨터로, 현재 소수의 특성을 활용한 RSA 암호체계를 붕괴시킬 수 있는 기술이다. 하지만 양자 컴퓨터를 실제로 가지고 연구를 수행하기는 자원의 한계가 있으므로, 양자 회로를 이용한 알고리즘 연구를 위해 고전 컴퓨터에서 시뮬레이션이 필수적이다.
이러한 시뮬레이션을 빠르게 수행하기 위하여 FPGA에서 연산을 가속하는 다양한 방법이 연구 중이지만, 순차적으로 Read/Write를 수행하지 않는 양자 연산의 특성으로 인해 하드웨어 구조를 잘 만들어도 외부 메모리에서의 Latency로 인해 연산 속도가 감소하게 된다.
또한 다양한 환경의 하드웨어에서 포팅하기 위해서는 확장성을 갖는 하드웨어 구조도 필수적이다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 많은 수의 큐빗을 사용하는 양자 회로에서도 외부 메모리에서 효율적으로 Burst Read/Write 할 수 있고, 주어진 어플리케이션/환경에 따라 PE(Processing Element)를 컨트롤 로직 변경 없이 쉽게 늘리거나 줄일 수 있는 양자 컴퓨터 시뮬레이터를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 양자 컴퓨터 시뮬레이터는, 상태 그룹에 포함된 상태 벡터들을 외부 메모리에서 Read 하는 메모리 컨트롤러; Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하는 리-오더링 모듈; 리-오더링 모듈에 의해 정렬된 상태 벡터들이 저장되는 내부 메모리; 내부 메모리에 저장된 상태 벡터들을 이용하여 양자 회로의 게이트 연산을 수행하는 PE(Processing Element)들;을 포함하고, 상태 그룹은, 페어 상태 벡터들이 순서대로 나열되어 있는 그룹이고, 페어 상태 벡터는, PE에서 게이트의 출력 상태 벡터의 연산에 필요한 2개의 게이트의 입력 상태 벡터이다. 메모리 컨트롤러는, 상태 벡터들을 외부 메모리에서 Burst Read 할 수 있다.
내부 메모리에 저장된 상태 벡터들은, PE들에 의한 연산 결과들로 업데이트 되고, 리-오더링 모듈은, 내부 메모리에 업데이트 된 상태 벡터들을 원래 순서 대로 정렬하며, 메모리 컨트롤러는, 순서가 정렬된 상태 벡터들을 외부 메모리에 Burst Write 할 수 있다.
내부 메모리는, 다수의 메모리들을 포함하며, 메모리 컨트롤러는, 상태 그룹의 상태 벡터 개수가 메모리 하나에 저장 가능한 상태 벡터 개수 이하이면, 상태 벡터들을 다수의 메모리들 중 제1 메모리에 모두 저장하고, PE들은, 제1 메모리에서 연속한 2개의 상태 벡터들을 페어 상태 벡터로 이용하여 게이트 연산을 수행할 수 있다.
메모리 컨트롤러는, 상태 그룹의 상태 벡터 개수가 메모리 하나에 저장 가능한 상태 벡터 개수를 초과하면, 상태 그룹에 포함된 상태 벡터들 중 일부를 외부 메모리에서 Burst Read 하여 제1 메모리에 저장하고, 상태 그룹에 포함된 상태 벡터들 중 나머지를 외부 메모리에서 Burst Read 하여 제2 메모리에 저장할 수 있다.
상태 벡터들 중 일부는, 페어 상태 벡터들 중 첫 번째 상태 벡터들이고, 상태 벡터들 중 나머지는, 페어 상태 벡터들 중 두 번째 상태 벡터들일 수 있다.
PE들은, 제1 메모리에 저장된 페어 상태 벡터를 구성하는 첫 번째 상태 벡터와 제2 메모리에 저장된 페어 상태 벡터를 구성하는 두 번째 상태 벡터를 이용하여 게이트 연산을 수행할 수 있다.
양자 회로의 게이트가 N 번째 큐빗에 적용된 경우, 하나의 상태 그룹에 2N개의 페어 상태 벡터가 포함될 수 있다. PE의 개수와 내부 메모리의 개수는, 확장 가능하다.
본 발명의 다른 실시예에 따른 양자 컴퓨터 시뮬레이션 방법은, 메모리 컨트롤러가, 상태 그룹에 포함된 상태 벡터들을 외부 메모리에서 Read 하는 단계; 리-오더링 모듈이, Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하는 단계; 내부 메모리가, 리-오더링 모듈에 의해 정렬된 상태 벡터들이 저장하는 단계; PE들이, 내부 메모리에 저장된 상태 벡터들을 이용하여 양자 회로의 게이트 연산을 수행하는 단계;를 포함하고, 상태 그룹은, 페어 상태 벡터들이 순서대로 나열되어 있는 그룹이고, 페어 상태 벡터는, PE에서 게이트의 출력 상태 벡터의 연산에 필요한 2개의 게이트의 입력 상태 벡터이다.
본 발명의 또 다른 실시예에 따른 양자 컴퓨터 시뮬레이터는, 상태 그룹에 포함된 상태 벡터들을 외부 메모리에서 Read 하는 메모리 컨트롤러; Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하는 리-오더링 모듈; 리-오더링 모듈에 의해 정렬된 상태 벡터들이 저장되고, 저장된 상태 벡터들을 이용하여 수행된 양자 회로의 게이트 연산 결과로 상태 벡터들이 업데이트 되는 내부 메모리;를 포함하고, 리-오더링 모듈은, 내부 메모리에 업데이트 된 상태 벡터들을 원래 순서 대로 정렬하며, 메모리 컨트롤러는, 순서가 정렬된 상태 벡터들을 외부 메모리에 Write 하고, 상태 그룹은, 페어 상태 벡터들이 순서대로 나열되어 있는 그룹이고, 페어 상태 벡터는, 게이트의 출력 상태 벡터의 연산에 필요한 2개의 게이트의 입력 상태 벡터이다.
본 발명의 또 다른 실시예에 따른 양자 컴퓨터 시뮬레이션 방법은, 메모리 컨트롤러가, 상태 그룹에 포함된 상태 벡터들을 외부 메모리에서 Read 하는 단계; 리-오더링 모듈이, Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하는 단계; 내부 메모리에 리-오더링 모듈에 의해 정렬된 상태 벡터들이 저장되는 단계; 내부 메모리에 저장된 상태 벡터들을 이용하여 수행된 양자 회로의 게이트 연산 결과로 내부 메모리의 상태 벡터들이 업데이트 되는 단계; 리-오더링 모듈이, 내부 메모리에 업데이트 된 상태 벡터들을 원래 순서 대로 정렬하는 단계; 메모리 컨트롤러가, 순서가 정렬된 상태 벡터들을 외부 메모리에 Write 하는 단계;를 포함하고, 상태 그룹은, 페어 상태 벡터들이 순서대로 나열되어 있는 그룹이며, 페어 상태 벡터는, 게이트의 출력 상태 벡터의 연산에 필요한 2개의 게이트의 입력 상태 벡터이다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 많은 수의 큐빗을 사용하는 양자 회로에서도 외부 메모리에서 효율적으로 Burst Read/Write 할 수 있어 외부 메모리에서의 Latency를 획기적으로 줄임으로써 양자 연산 속도를 매우 빠르게 향상시킬 수 있다.
또한 본 발명의 실시예들에 따르면, 컨트롤 로직 변경 없이 PE의 개수를 손쉽게 늘리거나 줄일 수 있어, 주어진 어플리케이션/환경에 따른 제약 없이 양자 컴퓨터 시뮬레이션이 가능해진다.
도 1은 싱글 큐빗 게이트를 예시한 도면,
도 2와 도 3은 페어 상태 벡터들을 예시한 도면들,
도 4는 본 발명의 일 실시예에 따른 양자 컴퓨팅 시뮬레이터의 구성을 도시한 도면,
도 5는 본 발명의 다른 실시예에 따른 양자 컴퓨팅 연산 방법의 설명에 제공되는 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
본 발명의 실시예에서는 고전 컴퓨터에서 실행되는 양자 회로 시뮬레이터를 외부 메모리에 대해 버스트 R/W가 가능하고 컨트롤 로직 변경 없이 손쉽게 PE(Processing Element)를 확장할 수 있는 하드웨어 구조로 설계하여, 양자 회로 모델의 시뮬레이션을 빠르게 수행할 수 있는 방법을 제시한다.
양자 회로의 게이트 연산시 연산에 필요한 상태 벡터(State Vector)들이 외부 메모리 상에서 멀리 떨어진 어드레스들에 저장되어 있어 효율적인 Read/Write 가 어려운 점을 개선하고, 복잡한 메모리 제어로 인해 하드웨어 IP의 확장성(Scalability)을 확보하기 어려운 점을 개선한 기술이다.
여기서 고전 컴퓨터는 비트(0 또는 1) 기반의 연산을 수행하는 현재 일반적으로 사용되고 있는 컴퓨터로, 큐빗(Qubit) 기반의 연산을 수행하는 양자 컴퓨터에 대응하는 개념이다.
N개의 큐빗으로 구성되는 양자 회로에서 상태 벡터는 2N×1 행렬로 표현 가능하며, 행렬의 각 항은 해당 상태가 측정될 확률을 나타낸다. 도 1에는 큐빗이 2개(q0,q1)인 양자 회로에 구성되어 있는 큐빗 게이트(U 게이트)를 예시하였다. 예시된 양자 회로의 큐빗 게이트에 상태 벡터 |A> 가 입력될 때 상태 벡터 |B>가 연산되어 출력되는 과정은 다음과 같다.
Figure PCTKR2023009226-appb-img-000001
밑줄친 벡터들은 입력 상태에서 상태가 변한 것들이다. 출력되는 상태 벡터는 최종적으로 다음과 같다.
Figure PCTKR2023009226-appb-img-000002
이에 따르면 게이트 연산에서 출력 상태 벡터의 연산에는 모든 입력 상태 벡터가 필요하지 않음을 알 수 있다. 구체적으로,
1) 출력 상태 벡터 |00>의 연산에는 입력 상태 벡터 a|00>와 c|10>만 필요하고,
2) 출력 상태 벡터 |01>의 연산에는 입력 상태 벡터 b|01>와 d|11>만 필요하며,
3) 출력 상태 벡터 |10>의 연산에는 입력 상태 벡터 a|00>와 c|10>만 필요하고,
4) 출력 상태 벡터 |11>의 연산에는 입력 상태 벡터 b|01>와 d|11>만 필요하다.
본 발명의 실시예에서는 출력 상태 벡터의 연산에 필요한 2개의 입력 상태 벡터를 페어 상태 벡터(Pair State Vector)로 정의한다.
큐빗이 3개인 양자 회로를 상정하면, 첫 번째 큐빗(q0)에 게이트가 적용되어 있는 경우에는, q0의 값이 바뀌는 상태 벡터들끼리 페어 상태 벡터가 되어 4개의 페어 상태 벡터들은 도 2의 표와 같이 나타낼 수 있다. 그리고 두 번째 큐빗(q1)에 게이트가 적용되어 있는 경우에는, q1의 값이 바뀌는 상태 벡터들끼리 페어 상태 벡터가 되어 4개의 페어 상태 벡터들은 도 3의 표와 같이 나타낼 수 있다.
큐빗이 N개인 양자 회로에 대해 페어 상태 벡터들을 일반화하면 다음과 같다.
0) 게이트가 첫 번째 큐빗(q0)에 적용된 경우
- 페어 상태 벡터
(|000>, |001>), (|010>, |011>), (|100>, |101>), ...
- 페어 상태 벡터를 인덱스로 간략하게 표현하면 다음과 같다.
(0, 1), (2, 3), (4, 5), ...
- Burst Read/Write가 가능하도록 페어 상태 벡터를 최소 단위로 그룹화하여 상태 그룹(State Group)들로 구분하면 다음과 같다. 하나의 상태 그룹 []에는 1(=20)개의 페어 상태 벡터가 포함된다.
[(0, 1)],
[(2, 3)],
[(4, 5)],
...
1) 게이트가 두 번째 큐빗(q1)에 적용된 경우
- 페어 상태 벡터
(|000>, |010>), (|001>, |011>), (|100>, |110>), (|101>, |111>), ...
- 페어 상태 벡터를 인덱스로 간략하게 표현하면 다음과 같다.
(0, 2), (1, 3), (4, 6), (5, 7), ...
- Burst Read/Write가 가능하도록 페어 상태 벡터를 최소 단위로 그룹화하여 상태 그룹들로 구분하면 다음과 같다. 하나의 상태 그룹 []에는 2(=21)개의 페어 상태 벡터가 포함된다.
[(0, 2), (1, 3)],
[(4, 6), (5, 7)],
...
2) 게이트가 세 번째 큐빗(q2)에 적용된 경우
- 페어 상태 벡터를 인덱스로 간략하게 표현하면 다음과 같다.
(0, 4), (1, 5), (2, 6), (3, 7), ...
- Burst Read/Write가 가능도록 페어 상태 벡터를 최소 단위로 그룹화하여 상태 그룹들로 구분하면 다음과 같다. 하나의 상태 그룹 []에는 4(=22)개의 페어 상태 벡터가 포함된다.
[(0, 4), (1, 5), (2, 6), (3, 7)],
...
N) 게이트가 N 번째 큐빗(qN)에 적용된 경우
- 페어 상태 벡터를 인덱스로 간략하게 표현하면 다음과 같다.
(0, 2N ), (1, 2N + 1), ..., (2N - 1, 2N + 2N -1), (22N, 22N + 2N ), (22N + 1, 22N + 2N + 1), ..., (22N + 2N - 1, 22N + 2N + 2N -1), ...
- Burst Read/Write가 가능하도록 페어 상태 벡터를 최소 단위로 그룹화하여 상태 그룹들로 구분하면 다음과 같다. 하나의 상태 그룹 []에는 2N개의 페어 상태 벡터가 포함된다.
[(0, 2N ), (1, 2N + 1), ..., (2N - 1, 2N + 2N -1)],
[(22N, 22N + 2N ), (22N + 1, 22N + 2N + 1), ..., (22N + 2N - 1, 22N + 2N + 2N -1)],
...
위에서 제시한 페어 상태 벡터와 상태 그룹의 개념을 활용하여 양자 컴퓨팅 시뮬레이션을 수행하는 방법에 대해 이하에서 도 4와 도 5를 참조하여 상세히 설명한다.
도 4는 본 발명의 일 실시예에 따른 양자 컴퓨팅 시뮬레이터의 구성을 도시한 도면이다. 본 발명의 실시예에 따른 양자 컴퓨팅 시뮬레이터(100)는 도시된 바와 같이, DMA 컨트롤러(110), SRAM 세트(120,121), 리-오더링 모듈(Re-ordering Module, 130) 및 PE(Processing Element, 140)들을 포함하여 구성된다.
DMA 컨트롤러(110)는 외부 메모리(10)에서 상태 벡터들을 Burst Read/Write하기 위한 구성이고, SRAM 세트(120,121)는 상태 벡터들이 임시 저장되는 공간들이다.
리-오더링 모듈(130)은 상태 벡터들의 순서를 정렬하기 위한 구성으로, 외부 메모리(10)에서 SRAM 세트(120,121)로 상태 벡터들이 옮겨질 때와 SRAM 세트(120,121)에서 외부 메모리(10)로 상태 벡터들이 옮겨질 때 순서 정렬이 수행된다.
PE(140)들은 SRAM 세트(120,121)에 저장된 상태 벡터들, 구체적으로 페어 상태 벡터를 이용하여 게이트 연산을 수행한다.
제시된 양자 컴퓨팅 시뮬레이터(100)에 의한 게이트 연산 과정에 대해, 이하에서 도 5를 참조하여 상세히 설명한다. 도 5는 본 발명의 다른 실시예에 따른 양자 컴퓨팅 연산 방법의 설명에 제공되는 흐름도이다.
게이트 연산을 위해, 먼저 리-오더링 모듈(130)은 양자 회로의 게이트가 적용된 큐빗의 위치를 확인하여(S205), 상태 그룹들을 확인하고(S210), 상태 그룹의 상태 벡터 개수를 확인한다(S215).
상태 그룹은 Burst Read/Write가 가능한 최소 단위의 페어 상태 벡터들의 집합이다. 페어 상태 벡터에는 2개의 상태 벡터가 짝지어 있으므로, 상태 그룹의 상태 벡터 개수는 상태 그룹에 포함된 페어 상태 벡터 개수의 2배이다.
구체적으로 연산해야 할 양자 회로의 게이트가 N 번째 큐빗에 적용된 경우 상태 그룹에는 2N개의 페어 상태 벡터가 포함되므로, 상태 그룹에는 2N+1개의 상태 벡터들이 포함되어 있게 된다.
상태 그룹의 상태 벡터 개수가 SRAM 하나에 저장 가능한 상태 벡터 개수 이하이면(S220-Y), 리-오더링 모듈(130)은 DMA 컨트롤러(110)가 상태 그룹에 포함된 상태 벡터들을 외부 메모리(10)에서 Burst Read 하도록 제어하고, Burst Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하여 SRAM #0(120)에 저장한다(S225).
다음 PE(140)들은 S225단계에 의해 SRAM #0(120)에 저장된 상태 벡터들을 이용하여 게이트 연산을 수행한다(S230). S230단계에서 게이트 연산은 다음과 같이 수행된다.
0) PE #0은 SRAM #0(120)에 저장된 첫 번째 페어 상태 벡터인 첫 번째 상태 벡터와 두 번째 상태 벡터를 이용하여 게이트 연산을 수행하고,
1) PE #1은 SRAM #0(120)에 저장된 두 번째 페어 상태 벡터인 세 번째 상태 벡터와 네 번째 상태 벡터를 이용하여 게이트 연산을 수행하며,
2) PE #2는 SRAM #0(120)에 저장된 세 번째 페어 상태 벡터인 다섯 번째 상태 벡터와 여섯 번째 상태 벡터를 이용하여 게이트 연산을 수행하며,
....
SRAM #0(120)의 상태 벡터들은 S230단계에서의 연산 결과들에 의해 업데이트 되고(S235), 리-오더링 모듈(130)은 SRAM #0(120)에 업데이트 된 상태 벡터들을 원래 순서 대로 DMA 컨트롤러(110)가 외부 메모리(10)에 Burst Write 하도록 제어한다(S240).
한편 상태 그룹의 상태 벡터 개수가 SRAM 하나에 저장 가능한 상태 벡터 개수를 초과하면(S220-N), 리-오더링 모듈(130)은 DMA 컨트롤러(110)가 상태 그룹에 포함된 상태 벡터들 중 일부를 Burst Read 하도록 제어하고 Burst Read 된 상태 벡터들을 상태 그룹 내의 순서에 따라 SRAM #0(120)에 저장한 다음(S245), DMA 컨트롤러(110)가 현재 상태 그룹의 상태 벡터들 중 나머지를 Burst Read 하도록 제어하고 Burst Read된 상태들을 상태 그룹 내의 순서에 따라 SRAM #1(121)에 저장한다(S250).
S245단계에서 Burst Read 되어 SRAM #0(120)에 저장되는 상태 벡터들 중 일부는 페어 상태 벡터들 중 첫 번째 상태 벡터들이고, S250단계에서 Burst Read 되어 SRAM #1(121)에 저장되는 상태 벡터들 중 나머지는 페어 상태 벡터들 중 두 번째 상태 벡터들이다.
이를 테면, 상태 그룹이 [(0, 2N ), (1, 2N + 1), ..., (2N - 1, 2N + 2N -1)]인 경우, 일부 상태 벡터들(페어 상태 벡터들 중 첫 번째 상태 벡터들)은 0, 1, ..., 2N - 1이고, 나머지 상태 벡터들(페어 상태 벡터들 중 두 번째 상태 벡터들)은 2N , 2N + 1, ..., 2N + 2N -1이다.
다음 PE(140)들은 S245단계에 의해 SRAM #0(120)에 저장된 상태 벡터들과 S250단계에 의해 SRAM #1(121)에 저장된 상태 벡터들을 이용하여 게이트 연산을 수행한다(S255). S255단계에서 게이트 연산은 다음과 같이 수행된다.
0) PE #0은 첫 번째 페어 상태 벡터인 SRAM #0(120)에 저장된 첫 번째 상태 벡터와 SRAM #1(121)에 저장된 첫 번째 상태 벡터를 이용하여 게이트 연산을 수행하고,
1) PE #1은 두 번째 페어 상태 벡터인 SRAM #0(120)에 저장된 두 번째 상태 벡터와 SRAM #1(121)에 저장된 두 번째 상태 벡터를 이용하여 게이트 연산을 수행하며,
2) PE #2은 세 번째 페어 상태 벡터인 SRAM #0(120)에 저장된 세 번째 상태 벡터와 SRAM #1(121)에 저장된 세 번째 상태 벡터를 이용하여 게이트 연산을 수행하고,
....
SRAM #0(120)과 SRAM #1(121)의 상태 벡터들은 S255단계에서의 연산 결과들에 의해 업데이트 되고(S260), 리-오더링 모듈(130)은 SRAM #0(120)에 업데이트 된 상태 벡터들과 SRAM #1(121)에 업데이트 된 상태 벡터들을 원래 순서 대로 DMA 컨트롤러(110)가 외부 메모리(10)에 Burst Write 하도록 제어한다(S265).
S210단계 내지 S265단계는 상태 그룹들 모두에 대해 완료될 때까지 반복된다(S270). 그리고 도 5에 도시된 게이트 연산 절차는 양자 회로를 구성하는 모든 게이트들에 대해 완료될 때까지 반복된다.
지금까지 Burst Read/Write에 의해 저지연성을 갖는 양자 컴퓨터 시뮬레이터에 대해 바람직한 실시예를 들어 상세히 설명하였다.
위 실시예에서 제시한 양자 컴퓨터 시뮬레이터에서 PE(140)의 개수는 필요한 만큼 확장하는 것이 가능하다. 단 SRAM(210,211)의 한 클럭에 출력할 수 있는 핀의 개수에 제한이 있으므로, PE(140)의 개수 증가에 따라 SRAM의 개수도 증가시켜야 하며, 이 때 SRAM 컨트롤 로직에 대한 변경은 필요 없다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (12)

  1. 상태 그룹에 포함된 상태 벡터들을 외부 메모리에서 Read 하는 메모리 컨트롤러;
    Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하는 리-오더링 모듈;
    리-오더링 모듈에 의해 정렬된 상태 벡터들이 저장되는 내부 메모리;
    내부 메모리에 저장된 상태 벡터들을 이용하여 양자 회로의 게이트 연산을 수행하는 PE(Processing Element)들;을 포함하고,
    상태 그룹은,
    페어 상태 벡터들이 순서대로 나열되어 있는 그룹이고,
    페어 상태 벡터는,
    PE에서 게이트의 출력 상태 벡터의 연산에 필요한 2개의 게이트의 입력 상태 벡터인 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  2. 청구항 1에 있어서,
    메모리 컨트롤러는,
    상태 벡터들을 외부 메모리에서 Burst Read 하는 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  3. 청구항 2에 있어서,
    내부 메모리에 저장된 상태 벡터들은,
    PE들에 의한 연산 결과들로 업데이트 되고,
    리-오더링 모듈은,
    내부 메모리에 업데이트 된 상태 벡터들을 원래 순서 대로 정렬하며,
    메모리 컨트롤러는,
    순서가 정렬된 상태 벡터들을 외부 메모리에 Burst Write 하는 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  4. 청구항 1에 있어서,
    내부 메모리는,
    다수의 메모리들을 포함하며,
    메모리 컨트롤러는,
    상태 그룹의 상태 벡터 개수가 메모리 하나에 저장 가능한 상태 벡터 개수 이하이면, 상태 벡터들을 다수의 메모리들 중 제1 메모리에 모두 저장하고,
    PE들은,
    제1 메모리에서 연속한 2개의 상태 벡터들을 페어 상태 벡터로 이용하여 게이트 연산을 수행하는 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  5. 청구항 4에 있어서,
    메모리 컨트롤러는,
    상태 그룹의 상태 벡터 개수가 메모리 하나에 저장 가능한 상태 벡터 개수를 초과하면, 상태 그룹에 포함된 상태 벡터들 중 일부를 외부 메모리에서 Burst Read 하여 제1 메모리에 저장하고, 상태 그룹에 포함된 상태 벡터들 중 나머지를 외부 메모리에서 Burst Read 하여 제2 메모리에 저장하는 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  6. 청구항 5에 있어서,
    상태 벡터들 중 일부는,
    페어 상태 벡터들 중 첫 번째 상태 벡터들이고,
    상태 벡터들 중 나머지는,
    페어 상태 벡터들 중 두 번째 상태 벡터들인 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  7. 청구항 6에 있어서,
    PE들은,
    제1 메모리에 저장된 페어 상태 벡터를 구성하는 첫 번째 상태 벡터와 제2 메모리에 저장된 페어 상태 벡터를 구성하는 두 번째 상태 벡터를 이용하여 게이트 연산을 수행하는 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  8. 청구항 1에 있어서,
    양자 회로의 게이트가 N 번째 큐빗에 적용된 경우,
    하나의 상태 그룹에 2N개의 페어 상태 벡터가 포함되는 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  9. 청구항 1에 있어서,
    PE의 개수와 내부 메모리의 개수는,
    확장 가능한 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  10. 메모리 컨트롤러가, 상태 그룹에 포함된 상태 벡터들을 외부 메모리에서 Read 하는 단계;
    리-오더링 모듈이, Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하는 단계;
    내부 메모리가, 리-오더링 모듈에 의해 정렬된 상태 벡터들이 저장하는 단계;
    PE(Processing Element)들이, 내부 메모리에 저장된 상태 벡터들을 이용하여 양자 회로의 게이트 연산을 수행하는 단계;를 포함하고,
    상태 그룹은,
    페어 상태 벡터들이 순서대로 나열되어 있는 그룹이고,
    페어 상태 벡터는,
    PE에서 게이트의 출력 상태 벡터의 연산에 필요한 2개의 게이트의 입력 상태 벡터인 것을 특징으로 하는 양자 컴퓨터 시뮬레이션 방법.
  11. 상태 그룹에 포함된 상태 벡터들을 외부 메모리에서 Read 하는 메모리 컨트롤러;
    Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하는 리-오더링 모듈;
    리-오더링 모듈에 의해 정렬된 상태 벡터들이 저장되고, 저장된 상태 벡터들을 이용하여 수행된 양자 회로의 게이트 연산 결과로 상태 벡터들이 업데이트 되는 내부 메모리;를 포함하고,
    리-오더링 모듈은,
    내부 메모리에 업데이트 된 상태 벡터들을 원래 순서 대로 정렬하며,
    메모리 컨트롤러는,
    순서가 정렬된 상태 벡터들을 외부 메모리에 Write 하고,
    상태 그룹은,
    페어 상태 벡터들이 순서대로 나열되어 있는 그룹이고,
    페어 상태 벡터는,
    게이트의 출력 상태 벡터의 연산에 필요한 2개의 게이트의 입력 상태 벡터인 것을 특징으로 하는 양자 컴퓨터 시뮬레이터.
  12. 메모리 컨트롤러가, 상태 그룹에 포함된 상태 벡터들을 외부 메모리에서 Read 하는 단계;
    리-오더링 모듈이, Read 된 상태 벡터들을 상태 그룹에서 지정된 순서로 정렬하는 단계;
    내부 메모리에 리-오더링 모듈에 의해 정렬된 상태 벡터들이 저장되는 단계;
    내부 메모리에 저장된 상태 벡터들을 이용하여 수행된 양자 회로의 게이트 연산 결과로 내부 메모리의 상태 벡터들이 업데이트 되는 단계;
    리-오더링 모듈이, 내부 메모리에 업데이트 된 상태 벡터들을 원래 순서 대로 정렬하는 단계;
    메모리 컨트롤러가, 순서가 정렬된 상태 벡터들을 외부 메모리에 Write 하는 단계;를 포함하고,
    상태 그룹은,
    페어 상태 벡터들이 순서대로 나열되어 있는 그룹이며,
    페어 상태 벡터는,
    게이트의 출력 상태 벡터의 연산에 필요한 2개의 게이트의 입력 상태 벡터인 것을 특징으로 하는 양자 컴퓨터 시뮬레이션 방법.
PCT/KR2023/009226 2023-06-30 2023-06-30 저지연성과 고확장성을 갖는 양자 컴퓨터 시뮬레이터 Ceased WO2025005328A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020230084782A KR102924748B1 (ko) 2023-06-30 2023-06-30 저지연성과 고확장성을 갖는 양자 컴퓨터 시뮬레이터
KR10-2023-0084782 2023-06-30

Publications (1)

Publication Number Publication Date
WO2025005328A1 true WO2025005328A1 (ko) 2025-01-02

Family

ID=93938430

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/009226 Ceased WO2025005328A1 (ko) 2023-06-30 2023-06-30 저지연성과 고확장성을 갖는 양자 컴퓨터 시뮬레이터

Country Status (2)

Country Link
KR (1) KR102924748B1 (ko)
WO (1) WO2025005328A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140039866A1 (en) * 2012-08-06 2014-02-06 Microsoft Corporation Optimizing quantum simulations by intelligent permutation
US20210397772A1 (en) * 2020-06-23 2021-12-23 Beijing Baidu Netcom Science And Technology Co., Ltd. Quantum circuit simulation method and device, apparatus, and storage medium
KR20230032516A (ko) * 2021-08-31 2023-03-07 한국전자기술연구원 양자 회로 시뮬레이터를 위한 양자 회로 압축 저장 방법
KR20230057246A (ko) * 2021-10-21 2023-04-28 서울대학교산학협력단 저장장치를 이용한 양자 회로 시뮬레이션 시스템 및 그 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140039866A1 (en) * 2012-08-06 2014-02-06 Microsoft Corporation Optimizing quantum simulations by intelligent permutation
US20210397772A1 (en) * 2020-06-23 2021-12-23 Beijing Baidu Netcom Science And Technology Co., Ltd. Quantum circuit simulation method and device, apparatus, and storage medium
KR20230032516A (ko) * 2021-08-31 2023-03-07 한국전자기술연구원 양자 회로 시뮬레이터를 위한 양자 회로 압축 저장 방법
KR20230057246A (ko) * 2021-10-21 2023-04-28 서울대학교산학협력단 저장장치를 이용한 양자 회로 시뮬레이션 시스템 및 그 동작 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DADKHAH DAVOOD, ZOMORODI MARIAM, HOSSEINI SEYED EBRAHIM, PLAWIAK PAWEL, ZHOU XUJUAN: "Reordering and Partitioning of Distributed Quantum Circuits", IEEE ACCESS, vol. 10, 1 January 2022 (2022-01-01), USA , pages 70329 - 70341, XP093254238, ISSN: 2169-3536, DOI: 10.1109/ACCESS.2022.3186485 *

Also Published As

Publication number Publication date
KR102924748B1 (ko) 2026-02-09
KR20250002953A (ko) 2025-01-07

Similar Documents

Publication Publication Date Title
WO2011071282A1 (en) Quantum karnaugh map
Kumar et al. Performance of unbuffered shuffle-exchange networks
EP0332361B1 (en) Method and apparatus for logic simulation
CN111562898B (zh) 一种基于fpga实现的多级归并排序方法
WO2021020848A2 (ko) 인공 신경망을 위한 행렬 연산기 및 행렬 연산 방법
WO2021080122A1 (en) Method and apparatus for analyzing protein-ligand interaction using parallel operation
JP3515591B2 (ja) 二進数を固定値と比較する並列化大きさ比較器
US3938087A (en) High speed binary comparator
WO2021002523A1 (ko) 뉴로모픽 장치
WO2015056818A1 (en) Counting bloom filter
US3226689A (en) Modular computer system master disconnect capability
Fung et al. Parallel simulation of electrical circuits using the TLM technique
WO2025135540A1 (ko) Npu 기반 배치 추론 최적화를 위한 데이터 처리 방법 및 컴퓨팅 장치
KR102924748B1 (ko) 저지연성과 고확장성을 갖는 양자 컴퓨터 시뮬레이터
Lea et al. Associative massively parallel computers
CN113515908A (zh) 驱动矩阵及其生成方法、门电路信息的表示方法、图
WO2017007270A1 (ko) R 언어 기반 빅 데이터 처리용 fpga 시스템 및 방법
JPH0438815A (ja) 荷電ビーム描画用データの作成方法及び作成装置
Liu et al. Memory built-in self test in multicore chips with mesh-based networks
WO2025143319A1 (ko) 트랜지스터 특성 기반 지연시간 최적화 방법 및 이를 위한 장치
RU2028664C1 (ru) Устройство для параллельной обработки данных
KR900008400B1 (ko) 파이프 라인구조를 이용한 데이터 분류장치
JPS6136866A (ja) メモリ装置
WO2025206772A1 (ko) 학습 장치, 추정 장치, 학습 방법, 추정 방법 및 프로그램
Masuyara et al. A realization of an arbitrary BPC permutation in hypercube connected computer networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23943821

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE