3 ms·
> But today, as quantum computers with dozens of qubits are being built, and systems with hundreds or even thousands of qubits are on the horizon, the complexit
by fouc 5y ago
> But today, as quantum computers with dozens of qubits are being built, and systems with hundreds or even thousands of qubits are on the horizon, the complexity of programming a quantum computer requires a more structured approach. This has led to the birth of a large number of quantum programming frameworks and languages, ranging from fully-fledged programming languages like Microsoft’s Q#, to Python frameworks like IBM’s Qiskit, to basic assembly languages like QASM.
I'm guessing this is QASM https://www.quantum-inspire.com/kbase/cqasm/ https://www.quantum-inspire.com/kbase/cqasm/
Interesting graphics there. Seems like programming for quantum computers is an act of building "circuits"
- nilslice 5y agoYes, at a low (assembly-like) level, "circuits" define how a series of gate operations are applied to qubits. Various abstractions make this easier, including the languages and frameworks mentioned in the linked article. Interesting to note is the recent formation of the Linux Foundation's QIR Alliance[0], which has specified a quantum intermediate representation within LLVM to bridge the quantum software/hardware ecosystem. [0]: https://www.linuxfoundation.org/press-release/new-quantum-intermediate-representation-alliance-serves-as-common-interface-for-quantum-computing-development/ https://www.linuxfoundation.org/press-release/new-quantum-in...
- wzeng 5y agoThe cQASM that you link to is one of the flavors of QASM. Another commonly used one is openqasm whose 2.0 and 3.0 specs are here: https://github.com/Qiskit/openqasm https://github.com/Qiskit/openqasm Along with QIR like as is listed in the comment, these are two open assembly specs with collaborative governance. Another is Quil: https://github.com/quil-lang/quil https://github.com/quil-lang/quil While quantum computing has a history of using circuit diagrams (which are still very useful) to represent programs. These languages have representations under the hood that look a lot more like assembly. For example: https://github.com/Qiskit/openqasm/blob/master/examples/adder.qasm https://github.com/Qiskit/openqasm/blob/master/examples/adde...
- rackjack 5y agoFirst we build circuits, then we build languages, then we build everything else