 Okay, so this is the 15 minute delayed and with an excellent improved intro to building quantum applications with D-Wave's leap. So we go to the next slide. So I'm going to skip over my intro, but the really quick version is that I am the manager of applications development technologies and tools at D-Wave. So one of our mandates is writing the open source tools in Python that people use to access the D-Wave system and to solve practical problems with our quantum computing products. So I also want to just say that, you know, we're really invested in the Python open source ecosystem and because of that pretty much everything I'm going to be talking about today is available in open source. Stuff is available online and in our leap platform and we really, really want feedback from you all. So things like GitHub issues, bug reports, pull requests, that's all super valuable to us because it helps us prioritize because we really want to make this accessible to you all. Next slide. Normally I would do a quick demo with our online platform, but I think I'm going to cut that in the interest of time. So let's go on to the next one and instead and one more and talk about solving problems with binary quadratic models, which is the problem class that we at D-Wave are interested in solving with our system. So I think that the metaphor that we often use when we're talking about solving problems with our system is the so-called landscape metaphor, which is imagine that you are on a landscape and this sort of height of the various parts of the landscape, the hills and the valleys, are defined by or in some sense represent the quality of your solution. And the problem that we're trying to solve is to find the lowest space on the landscape and that one corresponds to the best quality solution. So it's a metaphor that's useful. We tend to talk about like there is a large energy ridge between two solutions, which means you have to walk like way uphill, except much, much worse solutions as you sort of journey from one solution to another using a classical algorithm. And the value that quantum computing brings is its ability to essentially, I'm going to use a metaphor here, physicists will get upset with me, tunnel through these energy barriers to sort of jump into other valleys in a way that a classical computer can't do. Next slide please. So to make this a little bit more concrete, I want to talk about a specific example that helps sort of demonstrate how we think about solving problems with these binary quadratic models and is a really good representation of how we solve problems on the quantum computer. So imagine that I have a network of pipelines, you can sort of see it on the right hand side there. And these pipelines intersect at various junctions. So you can see that, you know, the pipe between one and two and the pipe between two and three, you know, they intersect at a junction too. What we would like to do is to find a minimum set of junctions from which we can monitor every pipe in a segment. So if we jump to the next slide please. So you can see here on the right hand side an example of this so-called minimum cover, which is that from each of those different locations, we can, every single pipe is adjacent to at least one of those red junctions. And it's one thing, it's important to note that there's also some other options here. In fact, we could for instance have a monitoring station at node one instead of node two. That's fine, but the point is to find some minimum set, the smallest number of locations from which we can monitor every junction. It's also really, and, you know, you could sort of probably work this pipeline problem out on a piece of paper without too much issue, although it's not trivial, trivial. But, you know, as you can sort of imagine that as this gets bigger, this problem becomes increasingly difficult. Next slide please. But so here's what solving that problem with the ocean tools looks like. So everyone here I think should be, I normally would say, does everyone read Python? But I think here we can probably rest assured that people do. So here is the Python code using our packages that solves this problem. So at the top you can see we're importing network X, which some of you might be familiar with. It's a very popular graph library, open source library in Python that was developed by some folks out of Los Alamos National Labs, but is pretty widely used. And you can see right away that we're leveraging sort of Python's open source ecosystem because we have implemented our own sort of extension to that package called D-Wave Network X, which extends some of the notions in that one. And you can also see that we're importing the sort of some objects from our D-Wave system package that lets us access the quantum computer. Let's go to the next slide. So before I, I'm going to actually jump back to that in a moment, but I want to talk a little bit about how we organize our software stack. So at the very bottom we have a set of compute resources. So those are things like CPUs and GPUs, just like normal. But what's new and different when you, when you start talking about quantum computing is the addition of this quantum processing unit. And I really want to dwell on this for a moment because it's, it's, it's important to think of this quantum processing unit as another co-processor. It's like a GPU in that you, you're never going to use quantum QPUs to sort of, you know, one of the questions that gets getting asked is, can I play crisis on your quantum computer? And the answer is no, because you wouldn't necessarily, you wouldn't have an operating system on a quantum computer. You wouldn't use it for a text editing. You wouldn't use it for, you know, watching movies. You might use it the way they use a GPU to accelerate some aspects of that. So you might be doing rendering and use the quantum computer to accelerate that, but it's not in and of itself sort of a full fledged computer that can run, you know, an operating system and a GUI and run a keyboard and all that kind of stuff. So starting at the bottom you have these CPUs and GPUs and the QPUs. Sitting above that you have a set of samplers. So these are where this is the level that these binary quadratic models are solved at. So this is sort of a set of algorithms slash packages that people can use to solve that problem class I was describing. And then above that, being a software developer and having a team of software developers, we wanted a uniform abstraction level for these different solvers because they all have sort of different needs and they're all have strengths and weaknesses. Finally, sitting above that we have a bunch of mapping methods. One of the ones I touched on was this network X package. And then above that we have our applications. So let's go to the next slide, please. So going, you know, we can now go back to that little ocean script that I described before. And here you can actually see those abstraction layers in practice. So at the top there we have the sampler equals embedding composite d-wave sampler. So the d-wave sampler is our access to the quantum processor. It's the sort of, it's the object that encodes the, you know, the network calls and all of that to access the QPU. Around that we have this embedding composite. That's what gives us our uniform sampler API. That's what allows us to solve sort of in some sense arbitrary problems on it. And then we have our, we use network X to specify a graph. This is the same graph that I, you know, had in the picture before. And then we use the problem mapping layer, this min vertex cover function, where we pass in the graph and the sampler and it uses the sampler to solve this problem. So you can see that sort of abstraction layers in just one relatively short Python program. We could jump to the next slide. So I'm going to not dwell too long on this, but I just want to sort of give you the mathematical formalism that underpins the problem that we're actually trying to solve here. So really the way that you should think about using our quantum computer and using classical solvers that solve the same type of problem is it is trying to find a vector v that minimizes this equation. And the things I want you to note about this equation is number one that this vector v is over binary variables. So, you know, yes, no, or negative one one or zero one binary, I just mean two state. And the reason that this is the case is because our quantum computer has a set of qubits and these qubits ultimately end their computation in a classical state. That's why we can read them. They, you know, when you read them, they collapse into a classical state. And so ultimately our solutions are classical even though our computation is quantum. The other thing that I want to note is that sort of first term in the equation, which is this vivj aij. This is the quadratic part of the problem. This is what makes these problems difficult. This is that sort of second order interaction between the different antenna or the different pipes and the different network vertices in my pipe network. That's what makes the problem difficult. It's not just pick the cheapest set of vertices. It's pick the cheapest set of vertices subject to the requirement that each pipe have a sensor. Next slide, please. So going back to our our pipe problem, you can sort of see that why this is this binary quadratic problem. So first off, we have binary variables should junction one have a sensor or no at the binary variable. We have pairwise interactions. Each pipe must have a sensor. That's a sort of quadratic interaction and interaction between two different variables. And then we have a linear optimization. I want to do it as cheaply as possible. So this is this this pipeline problem was picked specifically because it is exactly already natively a binary quadratic model. So let's jump on to the the next slide, please. So I want to point out that these binary quadratic models are an NP hard problem, which I think a lot of you are familiar with what that means. But just to belabor the point, that means that if you can solve that problem faster than other NP hard than other NP hard problems, then there's a fast transformation from those other hard problems into yours. And so what that means is that we are able to affect a huge variety of problems, even ones that aren't sort of natively binary quadratic models. So we take a problem, we reformulated as a binary quadratic model, we solve it on the quantum computer, we take it back out, we undo that reduction. And some examples of things that we've looked at is formation of terrorist networks, we've looked at traffic flow optimization, we looked at satellite placement, we've looked at protein design, we've done image recognition, just 200 or more proof of concept and applications that have been run on the D-Wave system. We can go to the next slide. So I've talked a little bit about the binary quadratic models, but that's not quite a quantum machine instruction. You have to get from this binary quadratic model into something that the quantum computer can understand. So next slide, please. So here is the sort of, you know, the pretty pictures of the inside of our quantum computer. And so, you know, if you walked into our lab in Burnaby and outside of Vancouver in Canada, you would see our systems look like these big black boxes, just like you see on the left. This box is about the size of a, you know, a mid-sized bathroom. You can see the sort of server racks there on the front. Those are, you know, a little bit shorter than a person. And then inside the box, there is a sequence of refrigerators that are designed to keep the processor as isolated and cold as possible. So starting at sort of outside the box, obviously, is room temperature. Inside the box, it's like a refrigerator. Inside that first canister, you're at 50 kelvin, then 4 kelvin, then 1 kelvin, then 100 millikelvin, and then 15 millikelvin. So for reference, this is colder than interstellar space. It's unbelievably cold. And this is all to keep a little chip that's about the size of your thumbnail, which you can see in that right-hand picture. Actually, let's jump to the next slide. A little chip that is about the size of your thumbnail, cold. And that's where the quantum, that's the quantum processing unit, this QPU. And you can see a picture there that's even zoomed in on that last picture where that sort of chip holder is bigger than this picture. So that chip is really quite small. Yeah, perfect. Thanks. You can see that it's being covered there by that little gold plate. If you remove the gold plate and you look at the next slide, you can see that's where the chip is. So jumping to the next slide. So again, this is a fairly math heavy and now physics heavy equation. This is the equation that defines the behavior of our quantum computer. This is called an icing Hamiltonian. And if you look over on the right-hand side, you see an equation that looks an awful lot like that binary quadratic model I was describing. You can see that there is a sum over a bunch of binary variables. And then on the right-hand side, you see that there is a sum over a quadratic interaction to those binary variables. We call this part of the icing Hamiltonian the quantum machine instruction. And this is the part that you are programming when you're programming the quantum computer. Next slide. And next slide. This is just the binary quadratic model, which shows you the similarity. And so there's a reasonable question, which is, how do you get a binary quadratic model into a quantum machine instruction? Because those are not quite the same thing. And the answer is that a quantum machine instruction is a binary quadratic model plus some rules. Those rules are, first off, your variables must be spin. So that's negative one one. Before I said they could be binary, they could be anything. Now they must be either negative one or one. And the reason for that is that our system is essentially running on little magnetic fields. And so your magnetic field is either pointing down or up, corresponding to spin values. We also have an energy range associated with our variables. And there's a sort of limited resolution that our processor has. And so that can be a problem. And finally you have to be hardware structured, which is to say you must be shaped like the quantum computer. Let's go to the next slide. So if you zoom in even further on that chip picture, you can maybe make out, depending on the resolution of your screen, you see there's kind of a checkered board shape on the chip. Those checkered board shapes, each square in that checkered board corresponds to eight qubits on our quantum processing unit. And you can see on the left the picture of the connectivity of our graph. So each of those eight qubit tiles is connected to the tiles to the sort of north, south, east and west of it. And so each of these qubits is connected to six other qubits. Next slide. Now that's true on our current 2000 Q processor, but in the fall, we're coming out with our advantage processor, which has quite a bit more connectivity and has a lot more qubits. So on the right hand side, you can see that it has a 5000 qubit processor with 40,000 couplers. And on the left hand side is our current technology with 2000 qubits and 6000 couplers. So ultimately, when you're getting your binary quadratic model, you need to shape it like one of these processors. And how you actually do that is a little bit beyond the scope of this talk, but suffice to say we have tricks to do that. Let's advance two slides, please. The next one, please. Okay. So before we move on to time for questions, I want to talk a little bit about hybrid algorithm development. So hybrid algorithms are combining the best of classical and quantum computing. So next slide, please. So we have in Python, we have our D wave hybrid framework, which is a hybrid asynchronous decomposition sampler framework. It uses a Python code to generate new hybrid algorithms in a very sort of plug-and-play kind of way. So you can create brand new never-before-seen algorithms with just a couple lines of Python. And I'm going to be talking a little bit about different types of hybrid algorithms. And in them, I'm going to have a little snippet of Python code to sort of show you what that looks like. So next slide, please. So the motivation for this package is that normally these algorithms are quite complicated to specify. So on the left-hand side, you can see sort of the pseudo code for a particular hybrid algorithm called QB solve. And then on the middle, you can see that this takes many, many, many lines of C and C++ code. And then on the right-hand side, you can see an example, that sort of loop racing branches, that is actual Python code that is used to implement this algorithm with only, you know, six lines of Python. And on the bottom, you can sort of see how this algorithm is organized. The basic idea is that you're running a problem both on a classical sampler on your local system, while the problem is being run remotely on the quantum computer in Burnaby. You then take the problem, you determine which had the better solution, and then you decide whether you want to keep going. And you can either go back around the loop again or exit. So next slide, please. So I want to talk about a couple different types of hybrid algorithms, because I think it's useful to have a sense of what one could do with hybrid. So the first one is decomposition. And this is obviously most often what people think about when they think about hybrid. So the idea here is I want to grab a sub-problem from the quantum computer. And I want to use it, sorry, from the larger problem. And then I want to solve that sub-problem on the quantum computer, because quantum computers have, at this point, a relatively small number of qubits. And not all problems can fit directly on it. Next slide, please. The next type is pre-processing. So the idea here is I'm going to use a classical algorithm to pre-process my problem before submitting it to the quantum computer. Next slide, please. The next one is post-processing. So for instance, I want to use, I want to take the quantum computer to see the classical algorithm. This is actually a very good thing to do, because the quantum computer is very good at finding pretty good samples quickly. Whereas classical computers can be very good at finding very good samples slowly. So if you can accelerate that by preceding the classical algorithm with the quantum computer, you can often get a lot of benefit. Next slide, please. The next one is the so-called meta-algorithm. So the idea here is I am going to take a purely classical algorithm and accelerate one part of it with a quantum computer. So for instance, if I'm trying to build a strong classifier out of a collection of weak classifiers, which is a typical machine learning task, I can use the quantum computer to help select my collection of weak classifiers to use to build that strong classifier. Next slide. And then the last one is, it's not really a hybrid technique, but it is a useful technique, which is so-called racing. So the idea is that the quantum computer, because it lives remotely in a lab in Burnaby, when you've submitted a problem to it, it has to, you know, if you're submitting it from Europe, say, it might take a second to sort of make its way across the internet and get to the lab in Burnaby, and then it solves the problem in Burnaby in a couple microseconds, and then it comes back over the wire over a second. And so, you know, your system is sitting idle for that two seconds, and there's probably a lot of computation that could be done in that time. And so by using racing, you can basically not, you can use that time to do other useful things to solve your problem. So anyways, that's the slightly rushed version of my talk. I wanted to open it up to questions, although I'm not 100% sure how the questions are going to get passed to me given our slightly messed up setup, but yeah. This is actually going to be quite easy because I'm just going to read them out. So okay, thank you for the talk. That was nice, very intense. I didn't really quite understand all that, but you know, just in theory, the top high level things, I think I do know. So the first question is, how far are we from commercial quantum computing as a service? So QCAAS? Yeah, I mean, so we have, I mean, quantum computers are available in the cloud today. That's both D-Wave and other providers like IBM's, Kiskit. So in some sense, and you know, they're all purchasable with time. So in the commercial sense, we've already, we already have that. I think implicit to your question is when are quantum computers going to be valuable to customers? When are we going to start seeing advantage with quantum computers? And you know, the answer I will give is that we are already seeing commercial advantage using hybrid systems. So that's combining quantum and classical. So we're already starting to see cases where we're able to provide advantage to customers, you know, value. Now, if the customer say was to, you know, hire a team of computer scientists and give them a year, could they come up with a classical algorithm that would, you know, be able to replace the quantum computer? Almost certainly. This isn't sort of a scientific result, but it is nonetheless promising that we reach the point of sophistication with quantum computers, that we are able to affect real world problems and use them in real world commercial applications. Do you think we will see Moore's law in quantum computing? Absolutely. Yeah. Yeah, I mean, just to sort of give a picture, the quantum computer, as I said, has to pass through all these different refrigerators, right? And when we're programming the quantum computer, you're sending signals down to that processor that's being kept at 15 millikelvin. And those signals are, oh, sorry, I'm actually talking about the ends of Moore law. First off, we have already doubled, we double our quantum computer about every two years, but I think that we're also going to run into similar limits that the classical computers are running into, which is that there's a fundamental limit, which is that eventually, you know, we're going to be able to keep doubling for quite a while, but eventually we're going to start running into, you know, physics limits, which is you can't, you know, program one billion qubits at 15 millikelvin because of the amount of heat you need to send down just to send those signals. So I both think that for a while we're going to get that sort of end over end, doubling every so every couple of years, but I don't think it's going to last forever, just like classical computers. And then we'll be talking about a new type of computer that no one has thought of yet, but I'm sure. Okay, excellent. So next question. Are there any resources where hobbyists can play around with programming on virtualized quantum computers and algorithms? Oh, I can do better than that. You can play on a real quantum computer for free. So if you go to our lead platform, you'll get one minute of free time on the quantum computer. I know that other vendors in the space have similar programs, so it's not just the wave that you can do that with. And then ocean itself comes with a collection of simulators and classical algorithms that kind of emulate the quantum computer that you can use to to play with them if you'd like, but a minute of quantum computing time doesn't sound like a month a lot. But since each problem only takes about five microseconds or 20 microseconds, it's actually quite a bit. All right, nice. So next question. Is it possible to sort faster than n times log n with quantum computers? Is it to sort? To sort faster than n log n? Oh, not that I know, but yeah. I guess you need some more QPUs you call them, right? Yeah, I mean, so there's, oh my god, I'm choking on the name, but the very famous quantum computing sorting algorithm that's not occurring to me right now. And that's a gate model algorithm that none of the quantum computers that exist today can run, really, because it requires error correction or universal quantum annealer and neither of those are available in the market today. Okay. So next one. Can you mine cryptocurrencies using quantum computing? Yes. And it's something that we've been asked about before. I would say that we have not yet reached, I'm not using it to mine cryptocurrencies. So I don't think we're quite at a point where it's, it'll save you money. On the other hand, quantum computers by their very nature because they're kept so cold, you can't put a lot of power down there. I mean, when I said before, like, oh, you're sending a lot of heat, I'm still talking about just tiny fractions of a lot. And so they are a very energy efficient way to do calculations. And so I do think that if cryptocurrency sticks around and all that, that quantum computing will be quite useful for that, just for that reason, having to keep them cold and having to keep your data centers powered is becoming quite a limiting factor. Right. I have another question, because there are normal questions in the Q&A. Would it make sense to build a quantum computing data center, let's call it, on the moon? Because then you don't have to, you have to, you know, the heat problem, you know, kind of, it doesn't go away, but it gets more manageable. Yeah, it's a great question. And we get asked it some fairly often, you know, in terms of like, could you put it in a satellite? So the problem is, is that getting it to Kelvin, which is about the temperature of interstellar space and sort of the dark side of the moon, is actually the relatively easy part of the cooling. It's getting it down to 15 mili Kelvin. That's the hard part. And so, and on the moon, there's less, it's harder to dissipate than it is on Earth. So it's actually easier to have it here on Earth than it is on the moon. Oh, right. Okay. Yeah. It's a great question. I mean, yeah. Oh, I was just, you know, thinking maybe, you know, you can do that. What you said about the cryptocurrencies, though, I mean, if, if the quantum computers actually get to the point where you can do crypto mining using quantum computers, I think the, the cryptocurrencies are basically going to collapse, right? Because they will need a completely new crypto to still be, I mean, to still fulfill their purpose, right? So. Yeah, I actually, it's a question I don't, I'm sure somebody is thinking about quantum secure cryptocurrency. I don't, I'm someone, yeah, but I don't know much about it if it does exist, but I no doubt someone is. Okay, let me see. Okay, no, they're just discussing there. Is it another question here? Is it kept? It I suppose is the computer, is it kept in a void to be cooled down? Yes, it's also in a vacuum. That's right. And, and, you know, that that set of canisters is also to maintain that it's also kept in a ferrite cage, obviously, to limit electromagnetic interference. And I can also tell you that we have we are able to detect earthquakes with our quantum computer, because it has to be kept very vibration free. Do you have to put in any protection against cosmic rays? I'm not actually sure. It's a good question, probably, but I don't know. Okay. Good. Let me see whether we have more questions. Otherwise, I think we are done. No, don't see anything. All right. Thank you, everyone. Sorry for the rush talk. Thank you very much. Let me give you your applause. So