Personal tools
You are here: Home Science & Projects benchmarking Codes IQCS


The Improving Quantum Computer Simulations (IQCS) benchmark does not belong to a conventional class of HPC-codes like MC, MD, CFD. Instead, since the simulation of quantum operations is memory bounded (adding another qubit doubles the size of the state vector), it serves primarily as a benchmark for memory bandwidth and internode communication.

In contrast to a classical bit, which can be either 0 or 1, the state of a qubit |q> is given by a linear superposition of the basis states

           |0> and |1>
|q> = a |0> + b |1> ; |a|2 + |b|2 = 1

with a and b being complex numbers. The state vector of |q> is defined by (a,b)t. A quantum operation on |q> is represented by a unitary 2x2-matrix U. For example, the Hadamard-operation H is given b

             (1  1)
H = 1/sqrt(2) (1 -1) (*)

mapping the basis states according to

           |0> → 1/sqrt(2) (1,1)t,
|1> → 1/sqrt(2) (1,-1)t.

The state |q> of a n-qubit system can be written as

           |q> = a_{0...00} |0...00> + a_{0...01} + a_{0...10} + ... + a_{0...11} |0...11>
+ a_{1...11} |1...11>

where (a0...00, a0...01, a0...10, ..., a0...11, a1...11)t corresponds to the state vector. It is obvious that the size of the state vector grows exponentially with the number of qubits. Storing each complex component of the state vector in two doubles, each component requires 16 Byte of memory. Therefore, the state vector of a n-qubit system consumes (16 * 2n)/10244 TByte. In case of 37 qubits, 2 TB are needed to store the state vector of the system.

More information


Document Actions