Close
0%
0%

8Q: The DIY Quantum Computer

The 8Q is an 8 qubit, general purpose, linux capable quantum computer

Public Chat
Similar projects worth following

The 8Q Computer is a linux-capable development board with an Allwinner H6 Linux Capable processor and an open-source, open-core 8 Qubit, Photonic Based General Purpose Quantum Processing Unit.

The 8Q Core QPU is room-temperature stable and designed to be built at home by amateur hackers who want to get into quantum computing on a budget.

The total cost of components is estimated to be between $8,000-10,000, although your mileage may vary, and the estimated size of the QPU built with 'macro' optical components is approximately 4'x3'.

roadmap.pdf

Roadmap for the 8Q DIY Quantum Computer project

Adobe Portable Document Format - 54.06 kB - 07/06/2020 at 19:28

Preview
Download

  • 152 × Beam Splitter Beam splitters of various types, used in all logic gates
  • 24 × LT1721 Comparator Used in the Faint Laser Single Photon Sources
  • 228 × Fiber Optic Connectors
  • 14 × Single-core, PM, shielded fiber optic cable Feet
  • 22 × MEMS Switch Assorted (1x2, 1x4)

  • Delay in updates

    Noah Wood07/20/2020 at 09:44 0 comments

    Hey guys, sorry for the delay in updates, my development computer was running way too slow to get any meaningful work done (can you believe I designed this on a jailbroken chromebook with a modified linux kernel?), so this past week I've been building and configuring a beastly development computer (been fiddling to undervolt and OC the GPU and CPU, running benchmarks, etc.)

    Right now I'm setting up a new development environment, transferring files over from my old drive, etc. I'll be writing up a shell script for linux to create the development environment so if anyone wants to contribute they don't have to try and do it manually.

    I'm also starting a livestream at twitch.tv/SpookyMFG, it won't be all focused on this project, just a sort of general vlog of what I'm working on if anyone's interested.

  • Work To Be Done (8Q Core)

    Noah Wood07/06/2020 at 06:02 0 comments

    I've been working on this project in private for a fairly long time, there is quite a bit of work to be done especially on the documentation side as well as with making the components readily available, I think the best option is to start by re-formatting the existing documentation and theory of operation for the 8Q core processor, from there I need to create a new library for the logic gates and control circuitry in KiCAD.

    Making the computer linux ready I don't foresee taking incredibly long as I've made the decision to isolate the quantum circuitry entirely from the digital circuitry and communicate over some form of digital bus.

    I'm still debating whether to use the SPI to communicate with the quantum processing unit or if I should use the (much) faster (and much more complex) PCIe ports available on the H6.

    Going with the PCIe side of things, as the design improves and the materials used shrink down (currently the QPU is going to be the size of a small table!), it would be advantageous to have PCIe capabilities from the start, you'd be able to upgrade any existing PC with the QPU without making any major hardware changes. As far as performance and the like goes, there isn't really any major advantage to be achieved as we're expecting these to start off painfully slow.

    The ISA for the QPU is pretty much defined by the hardware and is a hard constraint, but if we want it to be compatible with existing quantum programming languages like e.g. OpenQASM, we need to do a little bit more to reduce the number of instructions required for the end user. This may also be a hard requirement due to the significant speed differences between the electrical and optical circuits. (Yes, electricity travels close to the speed of light, but not close enough for us to discount it entirely).


    Basically you need to send instructions to the QPU in incredibly tight time constraints, and the QPU needs to execute them similarly. This is particularly the case with controlled gates which need to fire ancillary photons so that they arrive simultaneously with the control and target qubits to reduce unwanted phase synchronization problems. To reduce these time constraints from angstroms to something more reasonable with macro-scale hardware, we've introduced delay loops which allow just enough time (on the order of ms) for the QPU control logic to execute a single instruction; we could increase the delay loops to allow for more instructions, but every increase in latency exponentially increases the error rate (which is bad). There's far too much to get into with this, but ultimately we need a simplified ISA for our QPU/CPU bridge.

    We also really should take the time to create an algorithm to determine success probabilities of a given algorithm to determine the number of times you need to repeat a given operation (and ultimately how long the operation will take), ideally this would be taken care of by the compiler, but given the fact we are working with exponential failure rates I think it would probably be very useful to have the QPU do some verification on its' own and raise a conditional error dependent on a flag so people don't inadvertently send a program that can't successfully be run in less than a reasonable time (e.g. several days).

    Finally, we need to write a compiler for our new ISA; I'm looking to target a reduced version of OpenQASM to start as it's the Quantum Assembly Language I'm most familiar with.

    Anywho, short summary of work to be done on the 8Q Core:

    • Reformat Documentation For Github/ReadTheDocs
    • Decide PCIe vs SPI
    • Create a Simplified Instruction Set Architecture For QPU/CPU Bridge
    • Upload KiCAD Libraries
    • Create Pre-Processing Success Probability Algorithms
    • Design QPU/CPU Bridge & QPU Controller

View all 2 project logs

Enjoy this project?

Share

Discussions

Deborishi Ganguly wrote 07/07/2020 at 10:43 point

Hey Noah, I am a complete newbie to the field of QC, but wouldn't you need all of these (the list is from the IBM Q page: https://www.ibm.com/quantum-computing/learn/what-is-quantum-computing) to make one?:

1 Qubit Signal Amplifier:  One of two amplifying stages is cooled to a temperature of 4 Kelvin.

2 Input Microwave Lines: Attenuation is applied at each stage in the refrigerator in order to protect qubits from thermal noise during the process of sending control and readout signals to the processor.

3 Superconducting Coaxial Lines: In order to minimize energy loss, the coaxial lines that direct signals between the first and second amplifying stages are made out of superconductors.

4 Cryogenic Isolators: Cryogenic isolators enable qubits signals to go forward while preventing noise from compromising qubit quality.

5 Quantum Amplifiers: Quantum amplifiers inside of a magnetic shield capture and amplify processor readout signals while minimizing noise.

6 Cryoperm Shield: The quantum processor sits inside a shield that protects it from electromagnetic radiation in order to preserve its quality.

7 Mixing Chamber: The mixing chamber at the lowest part of the refrigerator provides the necessary cooling power to bring the processor and associated components down to a temperature of 15 mK — colder than outer space.

I don't mean to be disrespectful Sir, but I am a little confused. It will be great to have a discussion on this.

  Are you sure? yes | no

Noah Wood wrote 07/08/2020 at 13:22 point

Hi Deborishi,
So there are a few different ways to build a quantum computer. IBM uses the spin-state of atoms embedded in transistors. The way an atomic quantum computer typically works is the qubit is cooled down to just a few kelvin, radio waves which are tuned to the atom are then used to set the state of the qubit and perform the logical operations.

I believe D-Wave uses trapped ion (which I know almost nothing about), and there are almost certainly more methods being experimented with, but before all of these new technologies came about quantum mechanics was first discovered and experimented on using optics (photons).

20 years ago, physicists Knill, Laflamme, and Milburne developed a method of performing quantum computation using photons which became known as the KLM Protocol. Rather than using the spin-state of an atom it uses the polarization states of a photon (horizontal, vertical) which are separated into two modes H and V (representing the boolean 0 and 1, or the X and Y axis of the blochsphere). Rather than using radiowaves to perform the logical operations, we rely on optical components (mirrors, beam splitters, phase shifters, etc.)

The tldr;
IBM uses atomic quantum computing
We are using linear-optical quantum computing.

Here's some reading material on wikipedia that might help you understand a bit better:
https://en.wikipedia.org/wiki/Linear_optical_quantum_computing
https://en.wikipedia.org/wiki/KLM_protocol

Hope that helps :)

  Are you sure? yes | no

Deborishi Ganguly wrote 07/08/2020 at 13:31 point

Absolutely! Thank you for the links, reviewing them now.

  Are you sure? yes | no

Dan Maloney wrote 07/06/2020 at 20:21 point

That's quite a price tag, but I guess it's not that far off what homebrew computer people were spending back in the 70s when you adjust for inflation.

  Are you sure? yes | no

Noah Wood wrote 07/07/2020 at 01:27 point

Yeah, a lot of the parts aren't mass-produced so you wind up paying premiums for engineering samples.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates