Silq and QUA vie for Quantum computing language

Read a couple of articles this past week on new Quantum computing programing languages. Specifically, one in ScienceDaily on Silq, (The 1st intuitive programming language for quantum computers) and another in TechCrunch (Quantum Machines announces QUA, its universal lang. for quantum computing). The Silq discussion is based on an ACM SIGPLAN paper (Silq: A High-Level Quantum Language with Safe Uncomputation and Intuitive Semantics). programing

Up until this point there have been a couple of SDK’s for various quantum computers, most notably QASM for IBM’s, Q# for Microsoft’s and ? for Google’s Quantum Computers. We have discussed QASM in a prior post (see: Quantum Computer Programming post).

But both QUA and Silq are steps up the stack from QASM and Q#, both of which are more realistically likened to machine microcode thanassembly code. For example, with QASM you are talking directly to mechanisms to cohere qubits, electronics needed to connect qubits, electronics to excite qubit states, etc.

QUA and Silqs seem to take different tacks to providing their services.

Silq control flow
  • Silq is trying to abstract itself above the hardware layer and to provide some underlying logical constructs and services that any quantum programmer would want to use. Most notably, Silq mentions that they provide automatic erasure of intermediate calculations results which can impact future quantum calculations if they are not erased. They call this “specific uncomputation“. Silq also offers types, loops, conditionals, superposition (the adding together of two quantum states) and diffusion (spreading of quantum states out).
  • QUA on the other hand is Quantum Machines full stack implementation for quantum computer orchestration. QUA is only a one component of this stack (the highest level) but underneath this is a compiler and a Quantum Machine OPX box, a hardware appliance that interfaces with quantum computers of various types. There’s not much detail about QUA other than it offers conditionals and looping constructs and internal error detection.

From what I see, we are a long ways away from having a true programming language for quantum computers. Quantum Machines sees the problem with today’s quantum computers as the lack of a stack problem.

The Silq group see the problem with today’s quantum computers as a lack of any useful abstraction problem. Silq is trying to provide simpler semantics and control structures that maybe someday could become the foundation of a true quantum computing programming language.

Silq has compared itself to Q#, used in Microsoft’s Quantum Computing solution. So our guess is it works only with Microsoft’s quantum computer.

In contrast, QUA offers an orchestration solution for many different quantum computers but you have to buy into their orchestration hardware and stack.

Who will win out in the end is anyone’s guess. There’s a great need for something that can abstract the quantum hardware from the quantum algorithms being implemented. At the moment I like what I see in Silq just wish it was applied more generically.

At press time there were not many details available on Quantum Machines QUA language. Their stack approach may be better in the long run, but having to use their hardware appliance to run it seems counter productive.


However, if the programming gods were to ask my opinion as to where a new programming language was really needed, I’d have to say neuromorphic computing (see Our neuromorphic chips a dead end? post). Neuromorphic computing really needs abstraction help. Without some form of suitable abstraction layer, neuromorphic computing seems dead as it stands.


Picture Credit(s):

Photonics + Nonlinear optical crystals = Quantum computing at room temp

Read an article the other day in ScienceDaily (Path to quantum computing at room temp) which was reporting on a Phys.Org article (Researchers see path to quantum computing at room temp). Both articles were discussing recent research documented in a Physical Review Letters (Controlled-Phase Gate Using Dynamically Coupled Cavities and Optical Nonlinearities, behind paywall) being done at the Army Research Laboratory, Army and MIT researchers used photonis circuits and non-linear optical (NLO) crystals to provide quantum entanglement between photon waves. I found a pre-print version of the paper on, (Controlled-Phase Gate Using Dynamically Coupled Cavities and Optical Nonlinearities).

NLO Crystals

Nonlinear optics (source: Wikipedia Nonlinear Optics article) uses NLO crystals whicht when exposed to high electrical fields and high intensity light can modify or modulate light polarization, frequency, phase and path. For example:

Comparison of a phase-conjugate mirror with a conventional mirror. With the phase-conjugate mirror the image is not deformed when passing through an aberrating element twice.
  • Double or tripling light frequency, where one can double or triple the frequency of light (with two [or three] photons destroyed and a new one created).
  • Cross phase modulation where the wavelength phase of one photon can affect the wavelength phase of another photon.
  • Cross polarization wave generation where the polarization vector of a photon can be changed to be perpendicular to the original photon.
  • Phase conjugation mirror where light beams interact to exactly reverse “the propagation direction and phase variability” of a beam of light.

The Wikipedia article discusses a dozen more affects like this that NLO crystals can have on photons.

Quantum photon traps using NLO

MIT and Army researchers have theorized that there is another NLO crystal affect which can create a quantum photon trap. The researchers believe they can engineer a NLO crystal cavity(s) that act as a photon trap. With such an NLO crystal and photonics circuits, the traps could have the value of either a photon inside or a photon not inside the trap, but as it’s a quantum photon trap, it takes on both values at the same time.

Using photon trap NLO crystals, the researchers believe these devices could serve as room temperature qubits and quantum (photonic) gates.

The researchers state that with recent advances in nano-fabrication and the development of ultra-confined NLO crystals, experimental demonstrations of the photonics qubits and quantum gates appear feasible.

Quantum computing today

As our blog readers mayrecall, quantum computers today can take on many approaches but they all require extremely cold temperatures (a few Kelvin) to work. Even at that temperature quantum computing today is extremely susceptible to noise and other interference.

A quantum computer based on photonics, NLO crystals and operations at room temperature would be much more energy efficient, have many more qubits and much less susceptible to noise. Such a quantum computer could result in quantum computing being as ubiquitous as GPUs, TPU/IPUs or FPGA computational resources today .

Ubiquitous quantum computing would turn over our world. Digital information security today depends on mathematics for key exchanges which are extremely hard to do with digital computers. Quantum computers with sufficient qubits have no difficulty with such mathematics. Block chain relies on similar technology, so that too would also be at risk.

Standards organizations are working on security based on quantum proof algorithms but to date, we have yet to see any descriptions, let alone implementations of any quantum proof security in any information security scheme.

If what the researchers propose, pans out, advances in photonic quantum computing could restart information security of our world.

Photo Credit(s):

Supercomputing 2019 (SC19) conference

I was at SC19 last week and as always there was lots to see on the expo floor and at the show in general. Two expo booths that I thought were especially interesting were:

  • Zapata Computing systems – a quantum computing programming for hire outfit and
  • Cerebras – a new AI wafer scale accelerator chip that sported 400K+ cores in a single package.

Zapata Computing, quantum coding for hire

We’ve been on a sort of quantum thread this past month or so (e.g., see our Quantum computing – part 2 and part 1, The race for quantum supremacy posts). Zapata Computing was at the edge of the exhibit floor in a small booth pretty much just one guy (Michael Warren) and their booth with some handouts. Must have had something on the booth about quantum computing, because I stopped by

Warren said they have ~20 PhDs, from around the world working for them and provide quantum coding for hire. Zapata works with organizations to either get them up to speed on quantum programing or write quantum programs themselves under contract for clients and help run them on quantum computers.

Zapata’s quantum algorithms are designed to run on any type of quantum computer such as ion trap, superconducting qubit, quantum annealers, etc. They also work with Microsoft Azure Quantum, IBM Q, Rigetti, and Honeywell systems to run quantum programs for customers. Notably missing from this list was Google and Honeywell is new to me but seem active in quantum computing.

Zapata has their own Orquestra quantum toolkit. We have discussed quantum software development kits like IBM Q Qiskit previously but Microsoft has their own, QDK and Rigetti has Forrest SDK. So, presumably, Orquestra front ends these other development kits. Couldn’t find anything on Honeywell but it’s likely they have their own development kit as well or make use of others.

In talking to the Warren at the show, Zapata is working to come up with a quantum computing cloud, which can be used to run quantum code on any of these quantum computers with the click of a button. Warren sounded like this was coming out soon.

Some of the Zapata Computing quantum programs they have developed for clients include: logistic simulations, materials design, chemistry simulations, etc.

Warren didn’t mention the cost of running on quantum computers but he said that some companies are more forthright with pricing than others. It seemed Rigetti had a published price list to use their systems but others seemed to want to negotiate price on a per use basis.

It seems only a matter of time before quantum computing becomes just like GPUs. Just another computational accelerator that works well for some workloads but not others. Zapata Computing and Orquestra are just steps along this path.


AI accelerator chips have also been a hot topic for us (see our posts on Google TPU, GraphCore’s system, and the Mythic’s and Syntiant’s AI accelerators). But none,. with the possible exception of GraphCore, has taken this on to quite the same level as Cerebras.

Cerebras offers a wafer scale chip that is embedded into their CS-1 system. The chip has 400K cores, 18GB of (very fast) SRAM (memory), 100Pb/sec (peta-bits or 10**15 bits per second) of bandwidth and draws ~20kW. Their CS-1 system fits in a standard rack taking up 15U of space.

The on-chip fabric is called SWARM which supports a 2D mesh. The SWARM mesh is entirely configurable, to support optimal neural network connectivity. I assume this means that any core can talk directly (with 0 hops) to any other core on the chip through a configuration setup.

The high speed on chip SRAM supports up to 9PB/sec of memory bandwidth and can be accessed in a single clock cycle. They call the cores Sparse Linear Algebra Compute (SLAC) cores and say that they are optimized to support ML-DL computations, which we assume meansfloating point aritmetic.

Although you can’t really see the (wafer scale) chip in the picture above, it’s located in the section between the copper plate and the copper heat sink and is starts at the copper line between the two. CS-1 consumes a lot of power and much of its design is to provide proper cooling. One can view some of that on the left side of the picture above.

As for software, Cerebras CS-1 supports TensorFlow and PyTorch as well as standard C++. Their Cerebras Software Platform stack, consists of two layers: the Cerebras Intermediate Representation and Cerebras Graph Compiler (CGC) that feeds their Cerebras Wafer Scale Engine (WSE). The CGC maps neural network nodes to cores on the WSE and probably configures SWARM to provide NN core to NN core connectivity.

It’s great to see hardware innovation again. There was a time where everyone thought that software alone was going to kill off hardware innovation. But the facts are that both need to innovate to take computing forward. Cerebras didn’t tell me any PetaFlop rate for their system and but my guess it would beat out the 2PFlop GraphCore2 (GC2) system but it’s only a matter of time before GC3 comes out. That being said, what could be beyond wafer scale integration?


I enjoy going to SC19 for all the leading edge technology on display. They have some very interesting cooling solutions that I don’t ever see anywhere else. And the student competition is fun. Teams of students running HPC workloads around the clock, on donated equipment, from Monday evening until Wednesday evening. With (by SC19) spurious fault injection to see how they and their systems react to the faults to continue to perform the work needed.

For every SC conference, they create an SCinet to support the show. This year it supported Tb/sec of bandwidth and the WiFi for the floor and conference. All the equipment and time that goes into creating SCinet is donated.

Unfortunately, I didn’t get a chance to go to keynotes or plenary sessions. I did attend one workshop on container use in HPC and it was completely beyond me. Next years, SC20 will be in Atlanta.

Photo Credit(s):

Quantum computing – part 2

Held a briefing recently with IBM, to discuss their recent Q Systems One announcements and their Quantum Compting Cloud. IBM Q Systems One currently offers 10 quantum computers usable by any IBM Q premiere partners. Not clear what in costs, but there aren’t many available for use anywhere else. .

On the call they announced the coming availability of their 53 qubit QC to be installed at their new IBM Quantum Computing Center in Poo’keepsie, New York. The previous IBM Q systems were all located in Yorktown Heights center and their prior largest systems were 20 qubits.

At this time in the industry running quantum computing algorithms generate probabilistic results and as such need to be run many times to converege onto a reliable answer. IBM calls these runs quantum shots. It’s not unusual to run 1000 quantum computing shots to generate a solution to a quantum algorithm. They call running any number of quantum shots to generate an answer a quantum experiment or computation

On the call they mentioned besides the 160K registered users they have for IBM Q Systems One, there’s also over 80 commercial partners. IBM is moving to a cloud version of their development kit Qiskit which should start slowing their download counts down.

Last week in our race for quantum supremacy post we discussed Google’s latest quantum computer with 54 qubits. In that system each qubit had 4 connections (one to each of its nearest neighbors). IBM decried the lack of a peer-reviewed research paper on their technology which made it difficult to understand.

NISQ era

The industry describes the current quantum computing environment as Noisy Intermediate-Scale Quantum (NISQ) technology (for more information see Quantum computing in the NISQ era and beyond paper). The hope is that someday we’ll figure out how to design a quantum computer that has sufficient error correction, noise suppression, and qubit connectivity to perform quantum computing without having to do 1000 quantum shots. Although, quantum mechanics being a probabilistic environment, I don’t foresee how this could ever be the case.

IBM appears to be experimenting with other arrangements for their qubit connections. They say the more qubit connections the noisier the system is, so having fewer but enough to work, seems to be what they are striving for. Their belief is that smart (quantum computing) compilers can work with any qubit connectivity topology and make it work for a problem. It may generate more gates, or a deeper quantum circuit but it should result in equivalent answers. Kind of like running a program on X86 vs. ARM, they both should generate the same answers, but one may be longer than the other.

At the moment IBM has 10 QCs that are going to be split between Poo’keepsie and Yorktown Heights (IBM research), in Yorktown 3-20qubit QC, 1-14qubit QC, as well as 1-5qubit QC and in Poo’keepsie 2-20qubit QC as well as 3-5qubit QC. As I understand it, all of these are available for any IBM Q registered users to run (not sure about the cost though).

The new IBM Q System

The new IBM Q System One 53 qubit system is arrayed with mostly 2 qubit connections and only a select few (11) having 3 qubit connections. This seems to be following down the path of their earlier Q Systems that had similar levels of connectivity between quits.

Quantum Supremacy vs. Quantum Volume

Rather than talking about Quantum Supremacy, IBM prefers to discuss Quantum Advantage and it’s all about Quantum Volume (QV). QV provides a measure of how well quantum computers perform real work. There’s many factors that go into QV and IBM offers a benchmark in their toolkit that can be run on any gate-based, quantum computer to measure quantum volume.

IBM plans to double QV every year and in a decade, they believe they will have achieved Quantum Advantage. Current IBM Q Systems One QC have a QV of 8 or 16. IBM claims that if they can double QV every year they should reach Quantum Advantage in a decade (2029)!

They have yet to measure QV on their new, as yet to be built, 53 qubit quantum computer. But they say, given all the factors, over time the same quantum computer can have different QV. And even though IBM’s 53 qubit quantum computer will be built shortly, some of the components will likely change over time (e.g. microwave drivers) as they find better technologies to use, which will impact QV.

Qiskit, IBM’s open source, quantum computing stack

There was lots of talk about Qiskit being opensource (Qiskit GitHub). This means anyone can take advantage of it to generate solutions for their own quantum computer.

It’s written in Python3 and consists of 4 components:

Ignis – which provides characterization tools and error mitigation tools

Aqua – which provides a framework for users to leverage QC to perform algorithms and provides current QC algorithms that have been proved out to work

Aer – which provides special purpose (classical computing) simulators for QC algorithms to run on

Terra – which seems to be the low level programming for IBM’s QC, presumably this would need to be customized for every quantum computer.

IBM seems to be trying to make Qiskit easily usable. They have created a Youtube video series on it, with Qiskit API and other educational resources, to make quantum computing on IBM Q Systems One more widely usable..

IBM also announced they will add another Quantum Computing center at an yet to be announced, IBM facility in Germany. It seems that IBM wants to make quantum computing something everyone, across the world, can use.


Some would say we are very early in the use of quantum computing technology. On the other hand, Google, IBM and others companies are using it to perform real (if not theoretical) work. The cloud seems like a great vehicle for IBM to introduce this sort of technology to a wider audience.

Luckily, I have 10 more years to change out all my data encryption to a “quantum proof ” encryption algorithm. Hopefully, one can be found by then.

Photo Credit(s):

Screen shots from IBM’s Q Systems One briefing...

The race for quantum supremacy

Last week, there were a number of reports on Google having achieved quantum supremacy (e.g, see Rumors hint of Google achieving quantum supremacy ScienceNews). The technical article behind the reports was taken down shortly after having appeared. Unclear why but some of their quantum computing rivals have declared this as a true breakthrough to just a publicity stunt.

Using BING, I was able to find an (almost readable) copy of the paper on FileBin and cached copy on SpaceRef.

What Google seems to have done is to implement in a new quantum processor, a (pseudo) random number generator, a random sampling algorithm and an algorithm that verifies randomness based on the sample. he pseudo-random number generator was a quantum circuit, and the sampling another quantum circuit. Randomness verification was done by computing the probability of a bit string (random number) appearing in a random number sequence sample and then verifying that that bit string did appear that often. This is a simple problem for classical computers to solve for a few random numbers but get’s increasingly hard the more random numbers you throw at it.

What is quantum supremacy?

Essentially, quantum supremacy states that a quantum computer can perform a function much faster than a standard digital computer. By much faster we are talking many orders of magnitude faster. The articles noted above state that the Google Quantum computer did the algorithm in minutes, that would take 1M cores, 10,000 years to perform on digital processors.

Quantum supremacy applies an algorithm at a time. There’s a class of problems that are considered NP (non-deterministic polynomial [time]) complete which can only be solved on classical, digital computers using brute force algorithms (e.g., algorithms that check every possible path) which can take forever for many path problem spaces (see NP-completeness, wikipedia)

Quantum computing, because of it’s inherent quantum ness characteristics, should be able to test every path of an NP complete problem in parallel. As a result a quantum processor should be able to solve any NP complete problem in a single pass.

Quantum supremacy simply states that such a quantum computer and algorithm have been implemented to solve an NP complete problem. The articles say that Google has created a quantum computer and algorithm to do just that.

Google’s Sycamore quantum computer

Google’s research was based on a new quantum computing chip, called the Sycamore processor, which supports a two dimensional array of 54 (transmon) qubits, where each qubit is “tunably” coupled to its nearest 4 neighbors. In the figure the “A” qubit can be coupled to it’s 4 nearest neighbor ‘a” qubits via tuning. 1 qubit failed, leaving 53 qubits for the computation.

The system is cooled to reduce noise and to enable super conductivity. The qubits are written by two mechanisms, a microwave drive to excite the qubit and a magnetic flux inducer to control its frequency. Qubits are read via a linear resonator which is connected to each qubit. All qubits can be read simultaneusly by a frequency multiplexing approach and are digitized to 8 bits @1GS/s (giga-samples/second, so 1GB/sec).

The Sycamore quantum architecture could generate 1113 single-qubit gate or 430 dual-qubit gate circuits. This inherently constrains the algorithmic complexity or problem state space that it could solve.

Qubit state, tunable couplers and quantum processor controls are written via 277 digital to analog converters in 14 bits [words] @1GS/s (or ~1.75GB/s). A single cycle of a Sycamore single-qubit circuit can be stimulated by a 25ns microwave pulse (with no qubit to qubit coupling active).

A key engineering advance of the Sycamore systems was achieving high-fidelity single- and dual-qubit operations, which means that they were completed correctly

What the Sycamore quantum computer accomplished

They generated 30M random numbers (with m=20 bits/random number) and then randomly sampled 1M of them, computed the probability of their occurrence and verified that that number was seen (within some error threshold). The random number generation, sampling and probability computation/verification took 200 seconds on the Sycamore system. They said that most of that activity was input and output and that the Sycamore quantum computer was only busy for 30 seconds working on the problem.

In comparison, the Google team benchmarked GCP processors and the Oak Ridge National Labs Summit supercomputer complex doing a portion of the algorithm using standard digital functionality and have concluded it would have taken 10K years on 1M processing cores to perform the same function using digital computers.

Although the problem to generate vast numbers of pseudo-random numbers, randomly sample them and verify they meet proper probability distributions may not be that useful, it does represent an NP-complete problem. Many NP-complete problems can be solved with the same algorithm, so there’s a good probability that similar NP complete problems may also be solvable with the Sycamore quantum computer.

1M cores for 10K years seems much too long

However, it doesn’t seem to me to take that long to generate pseudo random numbers, sample them and validate their probabilities were correct.

It took me ~1 sec to generate 10,000 (probably 32 bit but could be 64 bit) =RAND() numbers in Microsoft Excel, so 30M would take take about 15K 3K seconds on my desktop or about 4.2 hrs 50min.. Generating a random sample of 1M should take another 100 seconds (to generate another 1M random numbers), creating indexes out of these another 100 seconds or so, then accessing these 1M random numbers in the 30M random number list should take another 100 seconds (maybe) so add another 5 min to that. Verifying that the sampled numbers met all the random number probabilities it should ], is another question but here we are only dealing with 1M pseudo random numbers so it shouldn’t take that long to compute its frequency occurence and its probability to validate randomness. Yes, Excel =rand() function is probably not the best pseudo random number generator but it’s typical of what exists for digital computers and even if it took twice as long to generate better pseudo random numbers , it’s still not anywhere near 1M cores for 10K years.

But then again I’m no numerical specialist and even at 30 seconds vs 15.2K 3.3K + ? (for probability calculation + frequency verification), so multiply this by 5X or 16.5K seconds, makes the Sycamore quantum computer, ~1000X ~550Xfaster or ~2.5 orders of magnitude faster.

In my mind, Sycamore and its quantum algorithm is more of a proof of concept. The Sycamore processor proves that a) quantum computer with 53 qubits can solve some real world NP-complete problems and b) that the more qubits that quantum computing industry provides the more sophisticated NP complete problems it will be able to solve. Just not sure this is actually a 13 16 orders of magnitude speedup.

[My math was off but I tried to fix it in these last three paragraph, Ed.]


Let’s see if a 20 bit NP complete problem can be solved in a quantum computer with 53 qubits, how many qubits should it take to solve a 256 bit NP complete problem (e.g. cracking an AES-256 bit encryption), maybe ~680 qubits. Phew, my AES encrypted data are safe, at least for the moment.

Photo Credit(s): From ScienceNews article about achieving quantum supremacy

From SpaceRef cached copy of report