483: An Ion of the Highest Fidelity

Transcript from 483: An Ion of the Highest Fidelity with Rick Altherr, Christopher White, and Elecia White.

EW (00:00:06):

Welcome to Embedded. I am Elecia White, alongside Christopher White. Our guest this week is Rick Altherr. We are going to talk about transporters, spooky action at a distance, no cost mentoring, and other requirements of the infinite improbability drive.

CW (00:00:22):

Really? <laugh> Hi Rick. Welcome back.

RA (00:00:26):

Hey, thanks for having me.

EW (00:00:27):

Could you tell us about yourself, as if we saw you walking around DEF CON carrying some really strange gold bling?

RA (00:00:40):

<laugh> Hi, my name is Rick. I am a full-stack engineer. I have done everything from ASIC design to user experience, on everything from embedded systems to hyperscale. I have done a lot in information security work, and x86 servers, and firmware. Now I design real-time control systems for quantum computers.

EW (00:01:06):

Real-time control systems for quantum computers.

CW (00:01:08):

Not quantum control systems for real-time computers.

RA (00:01:12):

No. That would be a very different thing.

EW (00:01:14):

I actually think that there probably is- That would be like a Miro's company would be. Yeah. Okay. Are you ready for lightning round?

RA (00:01:23):

Is anyone ever ready for lightning round?

CW (00:01:26):

We are. We have done it 500 times.

EW (00:01:29):

Yeah.

RA (00:01:29):

<laugh>

EW (00:01:29):

It is kind of easy from this side.

CW (00:01:33):

How is the cat in Schrödinger's box feeling?

RA (00:01:38):

Depends on when you measure it.

EW (00:01:40):

How many standard computing processors does it take to run one qubit worth of circuitry?

RA (00:01:50):

About 36.

CW (00:01:53):

That tripped her up because the next question is how many standard computing processors does it take to run one Q*bert?

RA (00:02:00):

I think that arcade cabinet took like three.

CW (00:02:02):

Okay. <laugh>

EW (00:02:05):

What is your favorite type of physics?

RA (00:02:08):

Oh, I do not know that I have a favorite type. I did really poorly in physics. That is why I am a software engineer.

EW (00:02:16):

But we are going to talk about quantum computing. There is going to be lasers in here. There is going to be weird tunneling things. There is probably going to be relativity nonsense.

CW (00:02:26):

That is engineering. That is downstream of physics.

RA (00:02:28):

<laugh>

CW (00:02:28):

Quantum and physics-

RA (00:02:31):

I have had to learn a lot of physics to do my job, but physics is not why I am here.

CW (00:02:36):

And E and M. That was probably core.

RA (00:02:39):

True.

CW (00:02:41):

Yeah. But if you are doing physics, quantum physics instead of quantum computing, you are learning about how the universe is not real and nothing matters, versus trying to solve problems.

EW (00:02:50):

Let me write that down. "The universe is not real and nothing matters."

CW (00:02:53):

Anyway.

RA (00:02:55):

<laugh> Well, there is a show title.

EW (00:02:55):

<laugh>

CW (00:02:58):

Getting to the old standards, complete one project or start a dozen?

RA (00:03:04):

I would love to complete one project, but I always start a dozen.

EW (00:03:07):

What is your favorite fictional robot?

RA (00:03:11):

I really like Marvin.

CW (00:03:13):

Do you have a tip everyone should know?

RA (00:03:18):

I know I thought about this ahead of time, and now I completely forgot.

EW (00:03:20):

Was it a computing tip?

RA (00:03:23):

I do not remember.

CW (00:03:24):

Was it take notes? <laugh>

EW (00:03:28):

<laugh>

CW (00:03:28):

Sorry. <laugh>

RA (00:03:31):

That is perennially a tip for me.

EW (00:03:35):

You were on the MacroFab podcast with Parker and Stephen in July.

RA (00:03:43):

Yep.

EW (00:03:43):

Could you summarize that hour, hour and a half, long podcast in 20 solid seconds?

CW (00:03:48):

<laugh>

RA (00:03:51):

There is a lot of classical computing that happens to make quantum computing happen. Ultimately quantum computers are not quite ready to do useful things today. But in the next five years that will probably change.

EW (00:04:09):

There is this- Well, we talked to Kitty Yeung, "Art by Physicist" Kitty. We talked about how to program for quantum computers, how to work within the simulator to make algorithms. But that is not what you work on.

RA (00:04:31):

Correct. My employer, IonQ, makes actual quantum computers, based on trapped ion technology. One of the common things that comes up early in discussions about quantum computers, is that when you move into the world of physical quantum computer implementations, it is kind of like the 1940s for digital computing.

(00:04:54):

There is a wide array of possible technologies for implementing quantum computing. And we do not really know what the trade-offs are between all of them. We know some of them. There is a whole bunch of different companies that are all pursuing wildly different directions.

(00:05:10):

They are all quantum computing. They are all able to run those same quantum algorithms. But the physics, and the actual machine design, and the capabilities of what type of algorithms, or what size of algorithms can be run on these machines, is wildly different.

(00:05:29):

Trapped ion happens to be one approach. The ones that you often see in magazines and news articles where it looks like a chandelier, those are superconducting. There are five or six other kinds that are also being pursued right now.

CW (00:05:42):

There is at least one high profile company, if I remember correctly. The name is escaping me- That does quantum-

EW (00:05:47):

Is it IBM?

CW (00:05:48):

No. Quantum ish computing? They are like- <sigh>

RA (00:05:55):

There is a bunch of companies that are reasonably well known. IBM is definitely there. They do superconducting and are quite prevalent.

CW (00:06:03):

D-Wave is what I was thinking of.

RA (00:06:05):

Right. D-Wave also does superconducting. A lot of what folks talk about there, is they build a machine that specifically is geared towards running simulated annealing problems. They are using superconducting qubits, but the design of the system is geared towards that one particular problem.

CW (00:06:26):

Okay. So they are not as general purpose as what other companies are trying to do.

RA (00:06:32):

Correct.

EW (00:06:34):

From what I understood from the MacroFab podcast, which- Christopher has not heard, so he will keep us honest. But for the rest of you, I am just going to assume you have heard at least part of it, because it was really interesting.

(00:06:45):

It talked about how you actually start to build these things. But I did not really understand how you controlled it. You mentioned you do controls. On that show you talked about seeing fluorescing ions, and capturing ions, and all the things you can do to make them spin or not spin, or cool them down or heat them up, or make them do in little jazz lines.

RA (00:07:20):

<laugh>

EW (00:07:20):

But one of the things that struck me most was at some point you said, "Five picoseconds."

RA (00:07:29):

Uh huh.

EW (00:07:29):

And I remember from a Grace Hopper conference talking about a nanosecond wire and how long that was. I am going to go with ten inches, but something around there, and that is the distance light travels in one nanosecond. The important part of that is that when you are designing circuitry that needs to handle that sort of thing, you really have to start thinking about distances.

RA (00:08:02):

Mm-hmm.

EW (00:08:02):

Do you have to worry about that? Or is five picoseconds a couple- Well, 5,000 ten inch wires?

RA (00:08:13):

<laugh> It is-

EW (00:08:17):

Is pico smaller than nano?

CW (00:08:18):

Yeah.

RA (00:08:20):

Yeah.

EW (00:08:20):

Oh, ooh, oh, okay. Now my question is even more valid. Sorry. It is like an inch, and suddenly you-

CW (00:08:27):

It is like a millimeter.

EW (00:08:29):

All right, sure. I do not care.

CW (00:08:30):

<laugh>

RA (00:08:30):

<laugh>

EW (00:08:30):

It is small.

RA (00:08:34):

So there are two different timescales at play. That is part of where the things get a little confusing. What we are controlling is laser pulses, primarily, and we do need to control precisely when a laser pulse begins. Essentially the ion that is captured in the ion trap has a phase precession, a rate of rotation, that is already happening just naturally.

(00:09:05):

We need to time our laser pulses to interact with that ion associated with that phase precession. So we have to line up our laser pulses to be in phase or out of phase, to cause certain effects to happen.

(00:09:20):

One of the challenges is getting that time alignment on a single channel. In our case, we only run at 250 MHz, which is four nanoseconds, which is still fast, but it is not nearly as fast as picoseconds. For that, there is a clock distribution system and everything, and it is a very tightly controlled 250 MHz.

(00:09:43):

One of the key pieces with the quantum computing, is that you do not actually have to be aligned with the qubit at the start of the computation. The very first thing you do is an initialization process, where you use a laser pulse to actually set the quantum state to a particular value. When you do that, you are also initializing a phase alignment between the laser pulse and the qubit. So you essentially establish an absolute reference point by that first laser pulse.

(00:10:17):

So the four nanosecond, the accuracy of that four nanoseconds, has to do with every clock tick afterward. We know that we can accurately model that four nanoseconds. We can actually figure out how much phase adjustment we need to do in our arbitrary waveform generator, to match the phase precession of the qubit.

(00:10:37):

Where we get into the picosecond range is that in cases where you are doing entanglement, where you have two qubits that you are actually interacting with simultaneously, the simultaneously is the important part. We need it to not only be on that four nanosecond tick, but we also need those two pulses to happen simultaneously as close as possible.

(00:10:59):

Otherwise you incur an additional error of just the time difference between the two channels. And that is where we actually maintain that. We use a clock distribution system that has PLLs and phase alignment. And so that is where we ensure that the clock when it is reaching our FPGAs that implement these arbitrary waveform generators, they have delayed the clock such that they all are coincident. They all experience the clock edge within a few picoseconds of each other.

CW (00:11:34):

What length are the pulses of the lasers on the order of?

RA (00:11:40):

Timewise or wavelength?

CW (00:11:43):

Timewise.

RA (00:11:43):

Oh, timewise. I would have to go look. They vary. They are fairly short. Although a single gate operation, which is actually a couple of different pulses, can take up to a hundred microseconds.

CW (00:11:57):

Okay. Okay. I am assuming these are diode or diode-pumped lasers.

RA (00:12:03):

No, actually. We typically have the laser as a constantly on laser source.

CW (00:12:12):

Oh! Okay. Okay, that makes sense.

RA (00:12:13):

And then the arbitrary waveform generators are actually driving a variety of devices. One is an electro-optical modulator, another is an acousto-optic deflector, and another one is an acousto-optic modulator.

CW (00:12:28):

Neat.

RA (00:12:29):

The idea is that we can use GPIOs to basically turn on or off the laser with a shutter. We can also use the AOMs to- The RF comes in as a modulated waveform, and that causes a physical material to distort, that when you shine the laser through it, the modulation from the RF modulates the laser poles itself.

CW (00:12:55):

Okay. Okay. That is much easier to understand.

EW (00:12:57):

Those of us who did not take optics, or really any of this. What I got from that was you have some different modulators, acoustic optical modulators, which makes it sound like you are changing frequency ranges, and you are looking for... No, that is all I got. <laugh>

CW (00:13:25):

It is just, he has got a laser that is always on. They want to either deflect it, make it so it is not going through anything, or add a modulation on top of it. So they have got materials that they can either pass an electric current through, which will change the property of the material, so that the laser is stopped or allowed through.

(00:13:43):

Or another material that they can apply RF to, and that causes physical changes in the crystal or whatever, that alters the wave shape of the laser or put-

EW (00:13:54):

The wave shape or the amplitude?

CW (00:13:55):

Not the wave shape. The amplitude. Yeah.

EW (00:13:56):

Okay.

CW (00:13:58):

Or possibly changes the wavelength. That is also possible, but I do not know what they are doing.

EW (00:14:02):

But they could also change the polarity?

RA (00:14:08):

Well-

CW (00:14:08):

The polarization. Sure.

EW (00:14:10):

Polarization.

CW (00:14:10):

Yes.

RA (00:14:11):

Yes. Those are all things that can be controlled. In our case, it tends to be that we have an I/Q waveform that we have generated with the arbitrary waveform generator and we modulate that into a constant tone for the RF itself. And then when the AOM sees that, it mostly ends up being a modulation on amplitude.

CW (00:14:36):

Okay. Cool.

EW (00:14:38):

It starts to look like a radio circuit.

RA (00:14:41):

It is. An AOM can be thought of as an upconverter.

EW (00:14:45):

Okay. Okay, so you have 14 of these that you all have to keep synchronized?

RA (00:14:54):

On current systems, we have 32 channels of arbitrary waveform generator. They are all synchronized and execute on these four nanosecond clock ticks, 250 MHz. And they are all synchronized on that clock tick, being observed within a few picoseconds across the system.

EW (00:15:16):

So this goes back to my initial flailing question, which was that means that you have to know how long your traces are. You have to know how far everything is from one another, in order to do the synchronization. Because an extra couple inches adds error. Is that right?

RA (00:15:37):

Yes.

EW (00:15:37):

Okay.

RA (00:15:39):

Yes. And in fact, for the clock distribution, there are thankfully off the shelf chips that implement that for you. So you can take two of these clock chips and put them at opposite ends of a cable, and they basically measure and communicate back and forth what the phase difference is. They will automatically delay one end so that the phase alignment at those chips is the same.

EW (00:16:04):

Wait, you bought an off the shelf solution?

RA (00:16:08):

For that timing part? Yes.

EW (00:16:10):

Can I come work for your startup?

RA (00:16:11):

<laugh>

CW (00:16:11):

<laugh>

EW (00:16:11):

Sorry. <laugh>

CW (00:16:15):

Be careful. There are lots of bad off the shelf solutions out there too.

EW (00:16:18):

I know. I was just- I am tired of seeing people trying to invent the same things over and over again. It seems expensive, but your time is so expensive. Okay. Sorry.

(00:16:30):

But you talked about other control systems, so you must be feeding back what you get from your system, so that you can create these waveforms.

RA (00:16:44):

Well, there is a variety of control systems at play. There are various kinds of servos that are looking at different waveforms. Mostly in the optical space, where you are actually looking at the output from one of the lasers, either before or after modulation, to account for physical effects in the optical path, that you cannot control for otherwise.

(00:17:08):

Then at the higher level, the control system around a quantum computer is you run a sequence of gates and by virtue of quantum effects, you cannot observe what is happening as the intermediate states. So you are essentially doing these laser pulses to change the physical structure inside of the ion. And at the end, when you go to measure it, that is the only time you actually see the result. But you only see a one or a zero at the end.

(00:17:44):

So the higher level control system is things like, I need to run this sequence of gates. I need to then perform this measurement process of causing the ions to fluoresce, and counting the photons emitted by each ion.

(00:17:59):

And I have to run calibration procedures that determine where the threshold is between what we call a "bright" or a "dark" ion, because the number of photons emitted is not a physical constraint that stays constant. It has got a lot of variables with temperature, with pressure, with all sorts of different attributes of what is going on in the system. So we have to run those calibration procedures.

(00:18:26):

And so there are higher level control loops that are taking that information and applying corrections to feed in, to make the determinations about was that a bright or a dark. As well as minor adjustments for where we aim the laser pulse to actually hit the ion correctly.

(00:18:44):

So a lot of these are control loops that run very slowly, but they have real time effects in terms of being able to apply the corrections, as we perform the instructions that are actually running. But a lot of the control system aspect that I talk about, is actually just implementing a classical processor that allows you to perform these sequences. It is not necessarily a feedback system, but it is still a control system.

EW (00:19:18):

You say "classical computer" to differentiate it from a quantum computer?

RA (00:19:23):

That tends to be the terminology in the field. I do not particularly like it. They are digital computers. That is what they are.

CW (00:19:29):

Yeah, they stole it from regular physics. Everything in physics that is not quantum, is classical physics.

RA (00:19:34):

Right.

CW (00:19:34):

Yep. Inherited. Okay. So you said there is a lot of FPGA that is doing the tight timing control stuff. What surrounds that? Just a standard microcontroller? Or embedded Linux?

EW (00:19:54):

You work with Raspberry Pis. You can tell us.

CW (00:19:55):

<laugh>

RA (00:19:57):

There would be some Raspberry Pis involved. It is actually multiple FPGAs. Each eight arbitrary waveform generators is one FPGA.

CW (00:20:10):

Okay.

RA (00:20:12):

So we have to have multiple FPGAs to hit all of the arbitrary waveform channels. Then we have another FPGA that deals with generating GPIOs, because we also need those to be time correlated. A lot of the challenge is actually building another FPGA, that is just coordinating all the other FPGAs. And designing all the instruction sets.

(00:20:32):

These are essentially each arbitrary waveform generator channel and the GPIO dispatcher, they are all their own independent digital computers, that are running their own independent programs, where the instruction includes a timestamp of when to execute the instruction.

(00:20:52):

Then there is a top level FPGA that deals with taking a program in, and actually staging into all the different processors, the different instructions for each channel, and coordinating the start of the overall program.

EW (00:21:10):

This is like a microcosm of a whole network. Right? You need to have NTP, and you need to have the corrections-

RA (00:21:18):

Have that. Have 1588. Have reference inputs.

CW (00:21:22):

Yeah. Putting timestamps on the instructions is a leap that I would not have thought of. That is cool. Yeah. I was imagining something much more fixed function like, "Okay, we have these arbitrary waveform generators. We tell them which waveform, and we tell them when to start and stop." But this sounds like it is much more general purpose.

RA (00:21:40):

Well, it is kind of that. These are specialized digital computers, in that the instruction for an arbitrary waveform generator is, "At this particular time, start playing the samples at this memory location, with this amplitude, mixed to this carrier frequency, with this phase adjustment, and play it for this long."

CW (00:22:01):

That is still a lot.

RA (00:22:02):

And that is all one instruction.

CW (00:22:02):

Yeah.

EW (00:22:04):

That seems so simple. It is like, "You are a violinist. Play a tone." How hard could it possibly be?

RA (00:22:13):

And then you also have the conductor who is telling the entire orchestra to do that simultaneously.

EW (00:22:20):

You are pretty new to quantum computing.

RA (00:22:22):

Yes.

EW (00:22:24):

You have done- I think we talked with you when you were working more on security and hyperscaling. Making computers that are better able to take care of themselves, is how I think of it. Did you just wake up one morning and say, "I do not know what I want to do today. I think the only solution is quantum."

CW (00:22:48):

<laugh>

EW (00:22:48):

Sorry, there are so many-

CW (00:22:52):

Nobody ever does that.

EW (00:22:53):

"Here/Not Here," jokes.

CW (00:22:54):

Nobody ever does that, except in 1915. <laugh>

RA (00:22:59):

I was looking around at some options. I was still working heavily in the security area. I applied actually for a director of security position with this company. And the response I got was, "We have actually decided we are not going to be hiring for that role this year. But your background includes a bunch of control systems and embedded systems work. We would like to talk to you about that."

(00:23:23):

So I was very clear upfront that I knew absolutely nothing about quantum computing, and they assured me that that was not a problem. It turns out that that is very true.

(00:23:33):

Just like in a lot of other domains when you- You may come out of a university with, "I know how to write software." And then you realize that it is very specialized, when you are talking about building stuff in the automotive world. Or when you are building stuff in medical. Or when you are writing programs for a Mac, versus writing it for Windows.

(00:23:55):

It is the same thing. I need to learn about all of the special aspects of quantum computing, but ultimately I am running Yocto on a bunch of systems. I have got FPGAs that I am interacting with. I am writing device drivers. We are writing most of our software in Rust. It is a pretty standard software set up for an embedded system.

EW (00:24:19):

But you are not shipping thousands of units yet?

RA (00:24:23):

No. In fact, we have shipped, what? One. The way this has worked to date, is we build the machines for our own use within the company. We offer that as a cloud service for being able to run quantum circuits. So we actually do own and operate four quantum computers that we have built. But as far as produced for other companies or other organizations, it is a very limited number. It is an area that the company is working into.

EW (00:24:56):

This does track from early days of classical computers, where the IBMs of the world were more about handling your data and your algorithm needs, not necessarily in producing computers right away.

RA (00:25:16):

Right. Largely it is because they are expensive, they are hard to build, and you need the specialist to be able to help you operate the machine. And probably help you adapt to whatever algorithm you are trying to do, to actually run on the machine.

EW (00:25:34):

And that is two specialists. One is the algorithms person, and one is the engineering caretaker of the device.

RA (00:25:41):

Mm-hmm.

EW (00:25:44):

Listening to the MacroFab podcast, yours does not have to be super cold, it just has to be in vacuum. Is that right?

RA (00:25:52):

So trapped ion, in theory, can operate at room temperature at standard atmosphere pressure. The challenge is the reason that it is under cryo and under vacuum, are purely about reducing noise and error sources.

(00:26:11):

If you imagine that you have a line of ions being held, where each ion is held in an electromagnetic field. If an oxygen molecule happens to just whiz past and hit it, it is going to knock your ion right out of that field. The energy from that oxygen molecule is going to be so much stronger. So putting it in vacuum reduces the chances of that. Cooling it down reduces the chances of that.

(00:26:37):

But it also means that we do not have to be under as deep of cryogenic temperatures as some of the other technologies. So like superconducting, they have to get down to actually being a superconductor. And then they have to go colder to actually reduce their noise. Those systems often have to reach millikelvins, where our system can operate in the three to five kelvin range.

EW (00:27:06):

I do not even have a concept of it

CW (00:27:08):

It is very cold.

EW (00:27:09):

Yeah.

RA (00:27:11):

Yeah. When we come back to control systems, the very slow control systems are things like the system that actually runs the cryostat, and is regulating the liquid helium cooling system.

EW (00:27:22):

Is that just going to be a standard control system, like a PID loop that is running fast enough that it can react well?

RA (00:27:29):

Largely.

EW (00:27:29):

Okay.

RA (00:27:29):

Yep.

EW (00:27:33):

You also need to have some form of trapping the electrons, keeping them in their little row for their can-can dance.

CW (00:27:41):

<laugh>

RA (00:27:43):

Yeah. That is a separate piece of equipment, but yes. Largely the trap itself is- Think of it as a channel down the length of the trap device, and you are causing these ions to come into that trap one at a time. We could talk about how, if you are interested.

(00:28:08):

Along the length of this channel are little electrodes. Those electrodes get hooked up to another chassis, that has a bunch of DACs and RF generators. We use DC voltages as well as RF, to generate a always changing RF field or electromagnetic field, that actually creates a little pocket that the ion is trapped in.

(00:28:41):

This is one of the things where you cannot actually get an ion to be perfectly held in position. But you can build a rotating electromagnetic field that creates a little section where it is basically always falling back towards the center.

EW (00:28:59):

Screaming in its little cage.

CW (00:29:01):

<laugh> What are these ions of?

RA (00:29:04):

Usually in our systems it is either ytterbium or barium.

CW (00:29:06):

Okay.

EW (00:29:06):

Those are heavy!

RA (00:29:06):

They are very heavy. There are a lot of different ions that can be used for these types of operations. Part of what you are looking for is how stable is the ion over time, but also how wide the energy band gap is between two energy states. Because ultimately in our trapped ion systems, we are actually using the energy level of the ion to encode the quantum information. Or one dimension of the quantum information.

(00:29:38):

That is the whole thing with the lasers and everything, is actually doing Raman transitions to go between these two energy states. You want them to be very, very rigid energy states. But you also want them to have a wide enough gap, that you can do the transitions between them relatively straightforward.

CW (00:29:58):

Presumably wide enough that they emit a photon that is easily detectable?

RA (00:30:01):

Correct.

CW (00:30:01):

Okay.

RA (00:30:01):

Yes.

EW (00:30:04):

In origami we would call it "bistable."

CW (00:30:08):

<laugh>

RA (00:30:08):

Yeah. That is very similar. Yep.

EW (00:30:10):

Okay. Are you sure that- You cannot see the ions. Even with a microscope. You cannot.

CW (00:30:23):

<laugh>

RA (00:30:25):

Well, you can. This is one of the cool things with trapped ion, is that because we use the fluorescence to actually measure them, that fluorescence can be in the visible spectrum, or it can be in an infrared spectrum.

(00:30:43):

Basically choosing whichever ion species you want, changes which wavelength that it fluoresces at. But you can actually just put a camera that is sensitive to that range through an optics path, and you can actually look at individual ions on the screen. You cannot do it while it is computing, but you can do it in steady state when it is just-

CW (00:31:04):

You can look at their photons that they emit.

EW (00:31:07):

Right. You cannot look at the ions themselves.

CW (00:31:09):

Yeah, they do not like to be seen.

RA (00:31:09):

Correct. Well, it is a pretty close approximation.

CW (00:31:11):

Yeah. What is the difference?

EW (00:31:11):

It is very shy.

CW (00:31:11):

What is the difference? That is all we are seeing, is photons bouncing off of something and remitting things. <laugh>

EW (00:31:18):

I am just not sure any of this is real.

CW (00:31:21):

<laugh> It is real.

EW (00:31:23):

We are talking about picoseconds.

CW (00:31:25):

Things that are very small. Smaller than a golf ball, certainly.

EW (00:31:27):

Exactly!

CW (00:31:27):

Yeah. Yeah. Maybe marble sized. <laugh>

EW (00:31:32):

<laugh>

CW (00:31:32):

It is very hard to manage them. So you have all these systems. It is a diverse set of systems. You have got a cryogenic system. You have got something that is dealing with the ions. And none of this has to do with quantum computing, except to set up the computer.

RA (00:31:49):

That is right.

CW (00:31:49):

So what does it look like to actually talk to this computer? What is the user interface of this computer?

EW (00:31:58):

I know this one. It is Python.

CW (00:31:59):

Okay.

EW (00:31:59):

<laugh>

CW (00:31:59):

So I just import PyQuantum, and then I am done?

EW (00:32:03):

Pretty much. <laugh>

RA (00:32:04):

Yeah. If you are trying to run programs, there are a couple of different frameworks that are- Qiskit is one of them. Another one is PennyLane. Yeah, they are largely written in Python.

(00:32:16):

You describe what your quantum circuit is, using whatever gate set is interesting to you. That sort of is a reference back to the, "We do not quite know what the best way to build these machines are." Just like in Boolean logic, you can build anything out of AND and NOT. In quantum, there are a variety of different gates that you can use as a primitive gate set, to build any other gates.

(00:32:40):

But there are different sets, and we do not actually know which one is ideal. And the native gate set of a machine is different for these different technologies.

EW (00:32:51):

Before you go on, is that like there used to be computers that were trinary?

RA (00:32:54):

Mm-hmm.

EW (00:32:54):

And there used to be computers that were based on- I mean there is NAND and NOR as two separate ways of implementing flash. Is that what you mean when you say there are different gate sets? They are based on different...

RA (00:33:10):

Yes.

EW (00:33:10):

Gates. <laugh>

CW (00:33:11):

<laugh>

RA (00:33:15):

Yeah. They talk about it as quantum gates. You can think of it similar to an AND or a NOT, or a NAND or a NOR. And there are similar gates. Like there is a CNOT gate, which is kind of like an XOR with some special properties.

(00:33:33):

But these gates, if you were to draw it as schematic, it is much the same way. That is why we talk about quantum "circuits," is you actually do draw it out like a schematic, with boxes for the different gates. But there are different universal gate sets. Each machine has a different set of gates that it implements as those native gates. And then there is also a common set, that is an abstract universal set, that is mostly used when actually creating quantum circuits.

(00:34:10):

Part of the challenge in some of the high level software, is actually doing that translation. Which is very similar to converting from C, to your assembler for your individual machine. It is a very similar process. You have to look at the gates that you have, and you have to translate them to the gates that the machine actually implements.

CW (00:34:34):

Okay. But presumably between this Python...

EW (00:34:37):

Script?

CW (00:34:37):

Script, whatever. <laugh> Yeah. Script that describes the quantum circuit- Presumably that gets boiled down to a lot of control system stuff that does- Or is this the setup separate? Like maybe in a 1916's computer, somebody would come in and flip a bunch of switches in the morning, and then somebody would come in and put the punch cards in.

(00:34:56):

Is the Python the punch cards, and has nothing to do with how the computer is set up? Or does it actually- Or is there a translation layer that says, "Okay, they want to do this circuit, and now I need to do this with the cryo, and I need to trap these ions"?

EW (00:35:08):

Well, there is going to be a step in between there. The sort of LLVM step.

CW (00:35:12):

<laugh> Well, but does it do it all?

RA (00:35:15):

It is a little bit of A, and a little bit of B. So there are a bunch of systems that are just there to keep the machine operating. Just like you have the fan control circuit in a computer, in a classical computer. That is akin to the cryo system.

(00:35:28):

There are a bunch of those systems that are just running constantly, to keep the system in its operating environment. Those are typically implemented on software processes on an x86 machine running Linux. They are fairly slow, and they mostly talk to specialized hardware to do those operations.

(00:35:50):

The programs themselves, you start from this Python framework and you write your circuit in that framework. And yeah, there is a translation step. So each provider that makes quantum computers offers a plugin to these frameworks, that converts it to the native gate set of their systems. That is step one.

(00:36:10):

Then step two is submitting it to their cloud service, because these are all cloud services so far. Inside the cloud service, typically it goes through an optimizing compiler, which does a bunch of things like removing redundant gates, finding alternate patterns or alternate circuit implementations, that are equivalent but use fewer gates or fewer qubits.

EW (00:36:36):

The optimizer.

RA (00:36:39):

Right. So you run an optimizing phase. Then it comes down to actually converting this optimized circuit for a specific machine. So coming back to the discussion about calibrations, each machine we are operating with individual ions that are a naturally occurring thing. They are an elemental source. They do not have perfect behavior. They are all slightly different.

(00:37:07):

And in fact the machine itself will change as temperature pressure, all sorts of things, right? There are all sorts of different components in the system where mechanical alignments will shift, components wear out, et cetera. So in between running actual circuits, we will run other programs that basically perform calibration measurements of the system. We will do that multiple times a day.

(00:37:32):

That information gets fed back into this- You can think of it as a compiler, it is not quite a compiler. It is more like an assembler, but it is also not really an assembler. But you are taking that optimized quantum circuit, and you are applying all this knowledge about the physical state of the machine.

(00:37:49):

So you know for example, the fidelity of each individual ion, how likely it is to actually produce the correct output at the end of a circuit. So you can choose that a qubit that is going to have a lot of gates on it, or the most gates on it in a circuit, you might allocate that to an ion that has the highest fidelity You might also rearrange the qubits to allow for some faster execution, depending upon what is happening.

(00:38:20):

All that happens, and then you convert it into the raw instruction stream, that actually gets fed down to the control systems. So we need to basically write a program per arbitrary waveform generator, a program for each I/O output.

(00:38:33):

All those program- we are translating from that circuit into the individual laser pulses on specific ions at specific times. And then how those laser pulses get enacted. Because it usually multiple things. You have to open the shutter, and turn on the modulation for the laser, at exactly the right time, kind of thing.

EW (00:38:57):

The flow chart for this must be enormous!

CW (00:39:04):

<laugh> I have kind of a high level dumb person question. So there is all this set up time to set up the problem, and then presumably the problem is, whatever thing you are solving, happens effectively instantaneously. But is it like a fusion situation? Where, "Yes, we can run fusion, and we got a watt out."

EW (00:39:28):

<laugh>

CW (00:39:31):

That is very exciting, but we cannot really do anything. Or is the time- See what I am asking? Is the time constant of set up so overwhelming the benefit of running the problem on a quantum computer, that it washes it out.

EW (00:39:45):

Yes, Rick. Are quantum computers useful?

CW (00:39:46):

No! That is not what I am asking. I am asking-

EW (00:39:47):

<laugh>

CW (00:39:47):

No. Because they are definitely useful for solving a set of problems that we are working on. But is the trade-off there, that the computers we have do it fast enough that there is a benefit? Does that make sense?

RA (00:40:06):

It does make sense. That is actually what a lot of active discussion in the industry is. So often you have probably heard people talking about "quantum supremacy," which I hate that term. But it is the idea that at some point, running quantum algorithms is so much faster than anything classical computation can do.

(00:40:25):

But in the nearer term- That type of benchmark is so far in the future. In the nearer term, we have these quantum computers that are able to run programs. I guess there is a little bit there of the setup time is measurable. It is a significant portion of the execution time. But the actual execution time itself is also important, because quantum circuits do not execute instantaneously.

CW (00:40:55):

Right. Okay.

RA (00:40:57):

Each gate that you have in the circuit, is a step that has to be executed. It takes a certain amount of time to actually cause that effect to happen. So the laser pulse for a single qubit gate, might take a hundred microseconds. But for a two qubit gate, it can take 500 microseconds. You might have a thousand gates of different mixes. Just like you have instruction execution times, you have gate execution times.

(00:41:26):

But as far as the size of the computers that we have, and the types of problems that we can run on them, there is this give and take with, "Can you simulate a quantum computer on a digital computer, faster than you can actually run it on a quantum computer?" And so far the answer has generally been, "Yes," you can run simulations faster and more efficiently, than actually running the quantum computer.

(00:41:53):

Now the quantum algorithms themselves tend to have a linear relationship. To make the problem larger, the actual scaling up of the quantum problem, is you need a linear number of qubits or you need a linear number of gates. It is not actually linear, but it is closer to linear.

(00:42:13):

Where, when you look at the quantum simulation problem, it requires exponentially more classical computation hardware, to actually perform a larger quantum computation. Like when you increase by one qubit, it requires an exponential increase in the calculation power.

(00:42:32):

So there is going to be this crossover probably in the next five years. Where for some types of problems that fit into the number of qubits and the number of gates that you can run on quantum computers, will be more cost effective than building out a classical system to run a simulation of the same size.

CW (00:42:58):

So where is the focus on optimization of these computers then? Is it more on the surrounding infrastructure, to have the setup happen faster? Or is it more on the actual qubit management, getting the gates faster, that kind of thing?

RA (00:43:16):

It is both. Because they are related. Unfortunately. At least in a trapped ion system, the number of ions that you can put in the trap is actually quite large. You can make a trap hold a lot of ions.

(00:43:31):

The challenging part is that the way entanglement is done through an ion chain, is through the axial motion. I am going to take a little detour here to answer your question. When you run a one Q gate, you are actually doing a laser pulse on one particular ion. You are either inserting or removing energy from that ion, to adjust its energy level.

(00:43:58):

But when you do two Q gates, what you actually want to do is cause an entanglement between the two gates. And if you are inserting or removing energy from a laser pulse, that is one aspect of it, but you also need to capture an information transfer from one ion to the other.

(00:44:17):

Well, if you have this chain of ions- Ions naturally repel each other. So when you have a chain of them, they are all lined up with space between them, kind of like a Newton's cradle. They also have a relationship, where if you cause- Well they all tend to vibrate a little bit in that space. They are all pushing on each other and moving around.

(00:44:36):

But they are constrained in two axes, and only allowed to move in one. So they kind of move along the length of the chain. They are wobbling back and forth just a little bit, pushing on each other.

(00:44:46):

So the way you get that information transfer from one ion to the other, is you actually hit one ion with a laser, to do the laser pulse to insert or remove energy. But that actually causes, if you time it just right, you actually get the ion to push one direction of the other along the axis. And basically cause that motion, just like when you strike the first ball in a Newton's cradle. Because of the repelling force between the individual ions, they all move with that. It ripples down the length of the ion chain.

(00:45:24):

So if you time your second pulse at another ion further down the chain just right, you insert energy at the same time that that axial motion passes through that second ion. The reason that this is all important, is that as you make your chain longer and longer and longer, you incur more error as you try to figure out that timing relationship of actually doing two Q gates. Your two Q gates get less fidelity as your chains get longer.

(00:45:54):

In terms of scaling it up, there are questions of, "Well, how long can you make the chain, before your fidelity falls off?" We do not know. That is active research.

(00:46:04):

Then there becomes a question of, "Knowing that that is a limitation, how do you scale up to having multiple zones that you can be working?" Is that having two different sections of the same trap, where you are doing quantum operations that do not have that coupling of- You cannot do two Q gates between them, because they do not have a relationship, they do not have that axial motion capability.

(00:46:28):

Another area of research, is having two traps where you actually use fiber optic cable to couple the photons between, and use that as the information transfer. So there are a lot of things in the, "How do you make the physics work?" But they couple back into, there are a whole bunch of setup questions that come into play when you get into that. If you trying to do the photonic interconnect, how you prepare the qubits becomes very different.

EW (00:46:59):

<laugh> My eyes are wide and my brain is zipping around like its own little ion, just trapped in my head. Okay. I am going to ask questions I have written, because I need time to process. This one is actually from Ewen. "How did the DEF CON audience react to the way the demo model of the real quantum computer in real 24 karat gold was presented?" This is the callback to the bling.

RA (00:47:33):

Yeah. So we brought an ion trap, which I would love to show the picture, but this is a podcast. It is a fairly small device that is a- It is a micro fabricated piece of metal made out of pretty exotic materials, and part of that does actually have a gold plating on it. And that is in a display case.

EW (00:47:58):

Because gold here is the cheap part?

RA (00:48:01):

I would not say it is the cheap part, but I would not say it is the expensive part either.

EW (00:48:04):

<laugh>

RA (00:48:04):

But you have problems with oxidization. You have problems with- There are just all sorts of things. You need materials that hold up under vacuum. You also need them to maintain pristine through all the different environmental changes you are going through. So that is where the folks that designed the traps, it often involved a lot of exotic materials and processes.

(00:48:26):

But we brought that in this display case. It is just a nondescript little display case. If you do not know what it is, it just looks like a funky looking object. It does not look like a computer part. So we had a whiteboard that just said, "Real quantum processor in 24 karat gold," and an Admiral Ackbar drawing that said, "It is a trap!"

CW (00:48:50):

<laugh>

EW (00:48:50):

<laugh>

RA (00:48:54):

Actually that was very well received by the DEF CON crowd. It is kind of playing at the, "Look, it is a quantum computer. It is the bleeding edge of technology, bleeding edge of science. And yet we can talk about it and have fun with it. We do not have to be too serious about it."

(00:49:11):

It drew in a lot of people. They would see this whiteboard and they are like, "Well, what does it say?" And then they are like, "Real quantum processor. Oh wow, that is really cool." And then they would want to get a really close look of it and everything else.

(00:49:22):

We also brought an entire chassis of the control electronics, that we took apart and let people poke at and ask questions about too.

EW (00:49:31):

Back to how you got into this. You were working in security, and one of the things that quantum computers are known for is their ability to crack keys, passwords. Is that still something you work on? Or have you shifted over to, "Wow, there is a whole bunch of new delicious information in the physics here?"

RA (00:50:00):

So Shor's algorithm is a well-known algorithm for factoring numbers. It is considered to be considerably faster than the equivalent for classical machines. The problem is is that nobody can run it. There are not any classical machines that can simulate a quantum computer big enough for it to run it quickly, for the size of numbers used in things like RSA. And certainly quantum computers are not that big.

(00:50:28):

So one of the messages at DEF CON was, every time somebody came up and then they saw a quantum computer, they are like, "So can this break RSA keys?" And the answer was always, "No. That is 20 plus years away." But there are a lot of other more interesting things that can happen in the near term.

(00:50:44):

But then with my background on the security side, and coming especially from firmware security, it is a lot of steering the conversation back to, "A quantum computer is one small piece of quantum computation technology. Everything happens inside of this trap at a scale that you cannot see. And everything around it is classical computers."

(00:51:09):

You still have all of the same IT challenges, all the same firmware security challenges, all the same software security challenges, throughout this entire system that makes the quantum computer.

(00:51:19):

So even though I am spending all of my time primarily focused on instruction set design and how you run programs on this, I do get involved with the discussions around, "And how do we actually secure these machines? How do we design them to be enterprise ready?" Put this in somebody else's data center, and they can have confidence that it is running the correct software, that it has not been tampered with, et cetera.

(00:51:47):

We also had a panel discussion talking about, "Well, what are the new and interesting parts about quantum computing as far as security goes?" And really we came back with, "Nobody really even knows what to ask."

(00:52:00):

It seems like there are probably side channels that we are not aware of, that come from how the machines work less- In pure quantum theory, when you measure a qubit, the quantum information has been destroyed, but there can be remnants in the control system of what sequence of operations were run. We will not know the exact quantum information, but we can tell you about what algorithm was run.

(00:52:24):

So there are things like that that are slowly being figured out. This is a very new area. Even though quantum computing itself is decades old, it is still in that very early age of understanding the capabilities, and also the practical realities of the machines that implement it.

CW (00:52:43):

It is cool that people are thinking about that level of security implications though at this stage, because people were not thinking about side channel attacks in 1965, or whatever, with standard microprocessors. So I think that is pretty interesting, that effort is being made to at least consider, "Okay, what is new about this, and what could be done? What sort of attacks are there?"

EW (00:53:07):

Moving into this job, and being able to talk about the latencies and the delay channels, Ewen had another good question. "Was there much cross-disciplinary terminology that overlapped causing confusion?"

RA (00:53:27):

<laugh> I would say there are more terminology differences, where the same concept has different names.

EW (00:53:34):

Mm. Yeah.

RA (00:53:37):

Figuring out where those are has been a problem. There has also been a lot of difficulty bridging the gap in knowledge that is only germane cross-disciplinary when you actually get to the point of building quantum computers like this.

(00:53:56):

I had a post recently on my Mastodon, talking about teaching physicists about branch delay slots. This is a real thing. It comes in because we are talking about, "How do you do conditional execution in a quantum circuit?" There is a way where I can measure only a subset of the qubits, and then I want to be able to change the behavior of the rest of the circuit. But I have to do this in a real-time system.

(00:54:28):

The idea that in a large complex system with all these processors running in parallel, that I observe the result at one physical place in the system, and that the time it takes to actually communicate the branch direction that I want, to all of the processors, all of the components in the system, takes significant amount of time, is just something that the physicists have never even had to think about.

(00:54:56):

Yet this is also something that we as software folks- Even embedded software folks, do not usually think about it, because it is something that happened so long ago. It is still an issue in processor design today. But it has become a very niche part of processor design, to think about how long your branch information takes to propagate. And we have known solutions for it.

(00:55:15):

This is where speculation comes in. The whole reason, one of the big reasons, for speculation is to fill that time with useful work. But in a quantum system, I cannot speculatively do laser pulses.

CW (00:55:27):

Yeah. Right. <laugh>

RA (00:55:27):

I cannot undo them. So we are having to go back and revisit some of these things that are well known in classical computing, and completely unknown from the physics side. And bring it together and say, "There are well-known patterns here. But we can also point to why they do not work now."

EW (00:55:44):

I have so many- Again, my brain is- It is like the time that I worked with the biochemist about hydrophobicity of chemicals and their uptake in the human body. I was optimizing the code and I said, "Well, why do not we do this?" And he said, "Wow, that is a really interesting chemical insight." And I am like, "No, it is just that the code would be more efficient if we did that, because they are effectively the same path."

RA (00:56:07):

Yep. And we have those exact kind of conversations all the time.

EW (00:56:11):

Switching topics entirely. You do some mentoring. If I were to sign up on your calendar for a time slot for mentoring, what would happen?

RA (00:56:23):

You would be asked, "What do you want to chat about?" as part of the signup. And I would get that, and really I would just be there at that time. We get a 30 minute time slot on my calendar. I carve out a couple hours every week. Usually I just ask, "What do you have questions about?" and offer my insights and guidance from my years of experience in the industry.

(00:56:48):

I came into computing and into the companies I worked at, through I guess it would be a reasonably straightforward process. But also I come from a very humble background. So my experience of it, I did not have a lot of mentors along the way. I had to figure a lot of things out.

(00:57:08):

I ended up working at some very big companies, working on very frontline technologies. Just offering a lot of insight on how to work with different managers, how to figure out where to go next in your career, whatever happens to come up.

EW (00:57:28):

I have been consulting for a very, very long time, and I used to love consulting.

CW (00:57:35):

This is the mentoring call now, by the way. It starts now.

EW (00:57:38):

Yeah. Yeah. We have already done the hour podcast. Now it is just the mentoring call.

RA (00:57:44):

<laugh> Wait, but I did not get a Calendly link. Sorry.

CW (00:57:45):

<laugh>

EW (00:57:50):

I know a person who is willing to offer me a full-time job, and it sounds kind of interesting. But I am not sure I can go back to doing full-time. I am not even sure what would be expected of me anymore.

CW (00:58:01):

Wait. Did you tell me about this?

EW (00:58:02):

No, I did not. This is a shock to Christopher.

CW (00:58:05):

<laugh> Why do you keep doing this to me?

EW (00:58:09):

<laugh> Because I was thinking about it. Now that we have Rick here, I figured now would be a good time to do the mentoring-

CW (00:58:15):

I am your actual business partner, who you would be quitting the business to go work somewhere else. But okay.

RA (00:58:25):

<laugh> I feel like I am being pulled into something. Um.

EW (00:58:29):

<laugh> You do not have to answer. Sorry, we are over time.

CW (00:58:33):

No, it is an interesting question. Go ahead.

RA (00:58:34):

No, but I have had this very conversation with a variety of folks that have moved into consulting, and then had offers to come back. It often does come down to a question of what are they offering, and where are you at, and what you want to look for.

(00:58:48):

Part of consulting is really the freedom to choose the types of problems you want to work on, and also who you want to work with. You give up some of that when you go back to working full-time.

EW (00:59:01):

Definitely.

RA (00:59:01):

You are usually lined up with a specific project that you are going to be on, even well past when it is shipped. You may not agree with what the next direction is, or the next project that you want to work on, and you do not get much choice.

(00:59:16):

On the other hand, you get security and stability in your pay and your benefits and all those things. I have personally found for myself that I cannot do consulting, because I cannot do the interfacing with customers.

CW (00:59:32):

See, that is why I cannot do full-time either. Because I cannot interface with people who tell me what to do. So it is a lose lose for me.

EW (00:59:44):

This is my mentoring session.

CW (00:59:47):

Oh, sorry.

RA (00:59:47):

<laugh>

EW (00:59:49):

Okay. One more question. Back to what the show is supposed to be about. Do you think the singularity will happen before or after the quantum supremacy event?

RA (01:00:04):

Oh, I will just say they are both more than 20 years away.

EW (01:00:07):

Oh, good. That is fine. Do you have any thoughts you would like to leave us with, Rick?

RA (01:00:11):

Quantum computers are very impressive, but also really just a bunch of classical computers put together.

CW (01:00:17):

Three classical computers in a trench coat.

EW (01:00:19):

<laugh>

RA (01:00:21):

With a tiny bit of physics.

EW (01:00:24):

Our guest has been Rick Altherr, also known as mxshift, which is like "mischief," which is like M, X, S, H, I, F, T. Rick is also a Senior Staff Software Engineer at IonQ.

CW (01:00:41):

Thanks, Rick.

RA (01:00:41):

You are quite welcome. Thank you for having me.

EW (01:00:44):

Thank you to Christopher for producing and co-hosting. Thank you to our Patreon listener Slack group for their questions. And thank you for listening. You can always contact us at show@embedded.fm or hit the contact link on the embedded.fm website, where there will be show notes that include a picture of Rick's golden circuit.

(01:01:05):

Now a quote to leave you with. It has just been a Douglas Adams' "Hitchhiker's Guide to the Galaxy" sort of day for me. So let us go with him describing what he is seeing, "The ships hung in the sky in much the same way that bricks do not."