75- qubit Quantum Computing Emulator - CiteSeerX

9 downloads 0 Views 243KB Size Report
75- qubit Quantum Computing Emulator. Minoru Fujishima. 1. , Kento Inai. 1. , Tetsuro Kitasho. 1. , and Koichiro Hoh. 1 2. 1Graduate School of Frontier Sciences, ...
Extended Abstracts of the 2003 International Conference on Solid State Devices and Materials, Tokyo, 2003, pp. 406-407

P1-4

75- qubit Quantum Computing Emulator Minoru Fujishima1, Kento Inai1, Tetsuro Kitasho1, and Koichiro Hoh1 2 1

Graduate School of Frontier Sciences, the University of Tokyo and 2CREST. 5-1-5-703 Kashiwanoha, Kashiwa, Chiba 277-8561, Japan Phone: +81-4-7136-3849 Fax : +81-4-7136-3850 E-mail: [email protected] 1. Introduction Quantum computers realize parallel computing and solve NP problems efficiently since the possibilities of all the candidates for the answer are simultaneously calculated by utilizing quantum-mechanical processes. NP problems such as factorization are problems for which it is difficult to find the answers but candidates found are easily verified. When factoring a large number using the conventional computer, basically the candidates for the factor must be calculated one after another as shown in Fig. 1. As a result, quantum computers have been studied worldwide. However, many quantum bits (qubits) are required in quantum computing for practical algorithms. Taking the function b = f (a) as an example, in a quantum computer, separate qubits must be assigned for input “a” and output “b”, because all outputs must correspond with inputs, and the same qubit cannot be used for an output and an input. The assignment of qubits to realize the function with 2-bit input and 2-bit output using a quantum computer is shown in Fig. 2. In this case, 4 qubits are required for the input and the output. Similarly, during calculation, separate qubits are required according to the number of temporary variables when temporary variables are necessary in a quantum computer. It must be noted that the realization of quantum computing with large-scale qubits is difficult not only with physical quantum-mechanical processes but also with software simulation. In order to realize a quantum computer for solving practical problems, development of software as well as hardware is necessary, although qubit expansion using physical quantum-mechanical processes has been a focus for research on quantum computing. Moreover, in order to develop software efficiently, a system which can emulate large-scale problems at high speed is required. In this paper, a quantum computing emulator, which executes 75-qubit programs at high speed, is proposed for the development of practical quantum algorithms. Our emulator, named a quantum index processor, emulates the procedure of quantum computing at high speed by using the latest CMOS LSI. 2. Emulating Method for Qubit Expansion Logic Quantum Computing For general quantum algorithms, operations proceed as follows. In the first stage, the probabilities are distributed equally to the quantum states which correspond to the candidates for the answer. In the second stage, these probabilities are exchanged between quantum states in order to execute the calculations required for the given application. Until the second stage, only two probabilities appear, which are 0 and 1/m, when the number of candidates for the answer is m. As a result, binary code can be used to represent the quantum states although conventional quantum computing simulation requires complex numbers in order to represent them. Therefore, we have proposed a logic quantum processor (LQP) that expresses probabilities using binary code [1]. Required hardware resources such as processing elements and

memory can be considerably reduced compared with the resources required for the conventional quantum computing emulator. Quantum Index Processor When the location of “1” in the quantum states is used instead of the values of the quantum states, memory usage can be reduced further since most quantum states stored in memories remain “0” in the LQP. The location of “1” in the quantum states is called the quantum index, hereafter. The processor holding only quantum indexes instead of quantum states is named a quantum index processor (QIP). Figure 3 shows a comparison of memory usage in the LQP and the QIP proposed in this paper. Internal data transitions in the processor are compared in Fig. 4 when quantum operations are executed. As shown in this figure, while probabilities in the quantum states are exchanged in each quantum operation in the LQP, only the index numbers are changed in the QIP. 3. Hardware Implementation The block diagram of the QIP is shown in Fig. 5. The QIP has 2048 processing elements (PEs) and emulates massive parallel computing in the quantum computer. Each PE handles one candidate for the answer and executes the calculations using quantum indexes which correspond to the quantum operations. Each PE has a logic unit (LU), a memory block and a temporary register. 64-qubit index data are stored in the memory. We have implemented the QIP on a field programmable gate array (FPGA) with 1.5 million gates. 2048 (=211) PEs are arrayed on one chip, which corresponds to 11 qubits. Each PE has 64 quantum index bits, which correspond to 64 qubits. In total, our proposed system realizes quantum operation with 75 qubits. Upon implementation, the clock frequency of the QIP is 80 MHz. A comparison between computation time of the LQP and the QIP is shown in Fig. 6, where Shor’s factoring algorithms [2] are used. It is noted that the computation time of the LQP is predicted value by simulation instead of experimental measurement. 4. Conclusion The system for emulating large-scale quantum computing was proposed by calculating the quantum index during the quantum operation. As a result of hardware implementation with an FPGA, the system realized the emulation of a 75-qubit quantum algorithm. It is found that the computation time of the QIP is 1026 times faster than that of the conventional emulator. Therefore, the proposed system will be a powerful tool for the development of quantum algorithms. References [1] K. Saito, M. Fujishima and K. Hoh, “High-Speed Emulation of Quantum Computing Based on Logic Operations,” Int. Conf. on Solid-State Devices and Materials, 2002. [2] P. Shor, “Algorithms for quantum computation: discrete logarithms and factoring,” Proc. 35th Annual Symposium on Foundations of Computer Science (1994), pp. 124-134.

- 406 -

Conventional computer

Quantum computer

bi = f (ai) input ai f(x) output bi

q0

bi = f (ai) a0 a1 a2

a0a1…ax-1

b0 b1 b2

ax-1

b0 b1 b2

a2

f(x)

bx-1

a0 a1

b0b1…bx-1 ax-1

Sequential operation

q0q1

Parallel operation 01

Fig. 1 Comparison between operation processes of conventional and quantum computers.

q0q1

4-qubit system Input register

q2 q3 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11

Output register 00

q0

q1

q2

input q0 q1

q3

output f(x)

01

q2q3 10

The probability of quantum states indicates the correspondence of the input and the output.

11

10 probability 0 1/4 0 0 0 0 1/4 0 0 0 0 1/4 1/4 0 0 0

11

10

11

00

01

10

11

0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 before

0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0

QIP q0q1 q2q3 p 00 0 01 1 00 10 0 11 0 0 00 01 0 01 10 1 11 0 0 00 01 0 10 10 0 11 1 00 1 01 0 11 10 0 11 0 before

1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 after

q2q3

p’

00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11

1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 after

LU: Logic Unit Temporary register LU

Operations

PE

PE

PE

PEdata

IR

PE Memory for index

address

q2q3 probability 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11

: data stored in memory

State Controller

Output

Answer register

PE

PE

PE

PE

2048 PEs are implemented.

Fig. 5 Block diagram of the QIP 1030 Computation time [sec]

01

q0 q1

p, p’: probability

MUX

00

q2q3 probability Logic Quantum 00 0 Processor (LQP) 01 1 10 0 11 0 LQP expresses probabilities by 00 0 01 using binary 0 code. 10 1 11 0 00 0 Quantum Index 01 0 Processor (QIP) 10 0 11 1 00 1 QIP indicates the 01 0 location where 10 0 “1” is stored. 11 0

q3

Fig. 4 Comparison of internal data transitions when NOT is performed in the LSB.

Fig. 2 Separate qubits are required for input and output registers in a quantum computer. q0q1

q2

NOT operation LQP q2 q3 p p’ 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11

00

bx-1

q1

LQP x 1/1026

1015 QIP 100 0

: data stored in memory Fig. 3 Comparison of the expressions of quantum states using the LQP and the QIP

10 20 Number of bits of the problem

Fig. 6 Comparison of computation time between the LQP and the QIP

- 407 -

30