Getting Started¶
The Intel® Quantum SDK is a complete quantum computing stack using simulation. It gives developers the programming tools for developing applications that incorporate results from quantum algorithms.
Included are a quantum compiler, quantum runtime, language extensions, and a suite of qubit simulator backends (ranging from abstract to physics-based). The language extensions provide the data types to represent quantum resources and build powerful quantum expressions. The quantum compiler comprehends that logic, and optimizes the quantum instructions to reduce the number and complexity. The quantum runtime enables the dynamic flow of data between the qubit simulator backend and the C++ data structures. And the qubit simulators apply various simulation techniques to return a result from a given quantum system.
Users can find information here to: * Get familiar with new tools and quantum computing concepts. * Check on hardware requirements. * Learn about how to use the SDK.
System Requirements¶
The Intel® Quantum SDK has the following memory requirements:
Memory Requirements¶
The memory requirement of applications compiled using the Intel® Quantum SDK will be the sum of the traditional footprint created by the data structure in the C++ code and the memory required by the qubit simulator.
The backends utilizing state-vector simulations require an amount of memory
which increases with the number of qubits.
Representing \(n\) qubits requires \(2^n\)
complex numbers. Representing a complex double
value requires 16 bytes, \(2^4\). So
the memory required to simulate \(n\) qubits is
As an example, simulating different-sized qubit systems will require at least:
qubits |
memory |
---|---|
10 |
17 KB |
20 |
17 MB |
30 |
17.2 GB |
Note that adding 1 additional qubit doubles the required memory.
How to Use?¶
In the simplest terms, using the Intel® Quantum SDK follows the pattern:
Write the quantum algorithm with a
.cpp
extension as a separate file. This file will include thequantum_kernel
definitions, initialization for quantum hardware, and the logic for the quantum/classical algorithms (see Writing New Algorithms section for details). Example:my_new_algo.cpp
Build and Run. Invoke the
intel-quantum-compiler
to use the Intel® Quantum SDK:$ ./intel-quantum-compiler [compiler flags] new_algo_start_here.cpp
To see a list of the flag options, run
$ ./intel-quantum-compiler -h
Run the executable produced by the compiler:
$ ./new_algo_start_here
See Summary of Known Limitations / Issues for the limitations.