ConceptioArchiveGoogle Patents
Google Patentsopen access

Development environment for programming quantum computing resources — Amazon Technologies, Inc. (US10592216B1)

Amazon Technologies, Inc. · Google Patents
Google Patents · Patents · License: Open Access
Open Source ↗
amazontechnologiesdavidr.richardson
patent, google patents, intellectual property, US10592216B1, Amazon Technologies, Inc., David R. Richardson, en, 2020

ABSTRACT

Abstract

Methods, systems, and computer-readable media for a development environment for programming quantum computing resources are disclosed. A development environment receives information associated with a quantum algorithm. A quantum computing resource is selected for implementation of the quantum algorithm based at least in part on one or more metrics analyzed by the development environment. The quantum computing resource comprises a plurality of quantum bits and is selected from a pool of computing resources of a provider network. A program executable on the quantum computing resource is generated based at least in part on the information associated with the quantum algorithm.

Description

BACKGROUND

Many companies and other organizations operate computer networks that interconnect numerous computing systems to support their operations, such as with the computing systems being co-located (e.g., as part of a local network) or instead located in multiple distinct geographical locations (e.g., connected via one or more private or public intermediate networks). For example, distributed systems housing significant numbers of interconnected computing systems have become commonplace. Such distributed systems may provide back-end services to servers that interact with clients. Such distributed systems may also include data centers that are operated by entities to provide computing resources to customers. Some data center operators provide network access, power, and secure installation facilities for hardware owned by various customers, while other data center operators provide “full service” facilities that also include hardware resources made available for use by their customers. As the scale and scope of distributed systems have increased, the tasks of provisioning, administering, and managing the resources have become increasingly complicated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates an example system environment for cloud-based access to quantum computing resources, including a classical computing instance within the same provider network as a quantum computing instance, according to one embodiment.

FIG. 1B illustrates an example system environment for cloud-based access to quantum computing resources, including a virtual computing instance within the same provider network as a quantum computing instance, according to one embodiment.

FIG. 1C illustrates an example system environment for cloud-based access to quantum computing resources, including a classical computing instance external to the provider network that hosts a quantum computing instance, according to one embodiment.

FIG. 1D illustrates an example system environment for cloud-based access to quantum computing resources, including a data center that hosts a quantum computing instance, according to one embodiment.

FIG. 1E illustrates an example system environment for cloud-based access to quantum computing resources, including a computing instance with a locally accessible quantum computing resource, according to one embodiment.

FIG. 2A illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including a catalog that offers quantum computing instances of different instance types, according to one embodiment.

FIG. 2B illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including a catalog that offers quantum computing instances with pre-loaded quantum algorithms, according to one embodiment.

FIG. 2C illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including a catalog that offers quantum algorithms for use with quantum computing instances, according to one embodiment.

FIG. 2D illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including a catalog that offers quantum algorithms with options for different initial configurations, according to one embodiment.

FIG. 3A illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including reclamation of a quantum computing instance whose attachment to a classical computing instance has been terminated, according to one embodiment.

FIG. 3B illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including reuse of a reclaimed quantum computing instance for attachment to another classical computing instance, according to one embodiment.

FIG. 4A illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including an elastic quantum computing library that permits interaction between a classical computing instance and a quantum computing instance, according to one embodiment.

FIG. 4B illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including an elastic quantum computing library that permits interaction between a classical computing instance and various types of accelerators, according to one embodiment.

FIG. 5A and FIG. 5B are a flowcharts illustrating methods for cloud-based access to quantum computing resources, according to one embodiment.

FIG. 6 illustrates an example system environment for a service for managing quantum computing resources, according to one embodiment.

FIG. 7A illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service using a quantum computing resource to run a quantum algorithm with an initial configuration, according to one embodiment.

FIG. 7B illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service using the quantum computing resource to run the quantum algorithm with a different initial configuration, according to one embodiment.

FIG. 7C illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service using the quantum computing resource to run a different quantum algorithm, according to one embodiment.

FIG. 8 illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service aggregating the results of multiple runs of one or more quantum algorithms, according to one embodiment.

FIG. 9 illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service aggregating the results from a quantum computing resource and a classical computing resource, according to one embodiment.

FIG. 10 is a flowchart illustrating a method for using a service for managing quantum computing resources, according to one embodiment.

FIG. 11A illustrates an example system environment for a development environment for programming quantum computing resources, according to one embodiment.

FIG. 11B illustrates an example system environment for a development environment for programming quantum computing resources, including a development environment generating and sending a display to a client, according to one embodiment.

FIG. 11C illustrates an example system environment for a development environment for programming quantum computing resources, including a development environment executable on a client computing device, according to one embodiment.

FIG. 12 illustrates further aspects of the example system environment for a development environment for programming quantum computing resources, including a repository of programming elements usable for building a quantum algorithm, according to one embodiment.

FIG. 13A illustrates further aspects of the example system environment for a development environment for programming quantum computing resources, including testing variants of a quantum algorithm using different quantum computing resources, according to one embodiment.

FIG. 13B illustrates further aspects of the example system environment for a development environment for programming quantum computing resources, including testing a quantum algorithm using both a quantum computing resource and a classical computing resource, according to one embodiment.

FIG. 14 is a flowchart illustrating a method for using a development environment for programming quantum computing resources, according to one embodiment.

FIG. 15 illustrates an example system environment for cloud-based simulation of quantum computing resources, according to one embodiment.

FIG. 16 illustrates further aspects of the example system environment for cloud-based simulation of quantum computing resources, including using classical computing resources of different instance types, according to one embodiment.

FIG. 17 illustrates further aspects of the example system environment for cloud-based simulation of quantum computing resources, including a catalog of quantum algorithms, according to one embodiment.

FIG. 18 illustrates further aspects of the example system environment for cloud-based simulation of quantum computing resources, including the use of a development environment to provide the quantum algorithm, according to one embodiment.

FIG. 19 is a flowchart illustrating a method for cloud-based simulation of quantum computing resources, according to one embodiment.

FIG. 20 illustrates an example computing device that may be used in some embodiments.

While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning “having the potential to”), rather than the mandatory sense (i.e., meaning “must”). Similarly, the words “include,” “including,” and “includes” mean “including, but not limited to.”

DETAILED DESCRIPTION OF EMBODIMENTS

Various embodiments of methods, systems, and computer-readable media for cloud-based access to quantum computing resources are described. Using the techniques described herein, quantum computing resources that are hosted “in the cloud” can be accessed by client computing devices. The client devices may represent “classical” (e.g., binary digital) computing devices that may seek to take advantage of the speed of quantum computing for solving particular problems. The client devices may be hosted inside or outside the same provider network that hosts the quantum computing resources. On request, a control plane may attach a quantum computing instance to a classical computing instance over a network. When a quantum instance is attached, the classical instance may have remote control of that quantum instance (exclusive of other classical instances) until the attachment is terminated. When the attachment is terminated, the quantum computing resource may be reclaimed and prepared for re-use by the same client or a different client at a later time. A particular quantum computing resource (e.g., a quantum computing instance) may be used and re-used by different client devices. Similarly, a particular client device may use different quantum computing resources over time. On request, a control plane of the provider network may provide access to a classical instance that includes or can locally access a quantum computing resource over an interconnect. A quantum computing instance may run a particular quantum algorithm with a particular initial configuration. The instance type of the quantum instance, the quantum algorithm, and/or the initial configuration may be selected by the client from a catalog. Different instance types may have different quantum computing characteristics such as the number or configuration of quantum bits. In one embodiment, a client may select an instance type that represents a template for solving a particular type of problem and that includes a pre-loaded quantum algorithm. In one embodiment, the elastic quantum computing service may recommend particular instance types, quantum algorithms, and/or initial configurations to a client, e.g., based on a specified problem domain or workload and to optimize speed, cost, or accuracy.

Various embodiments of methods, systems, and computer-readable media for a service for managing quantum computing resources are described. Using the techniques described herein, quantum computing resources that are hosted “in the cloud” may be managed using a task management service. The task management service may receive task descriptions from clients and select and orchestrate computing resources, including quantum computing resources, to perform the tasks on behalf of the clients. The computing resources may be selected based (at least in part) on task descriptions and on performance metrics of prior tasks. The task management service may select appropriate computing resources, select and/or optimize quantum algorithms to implement a task, determine how many times to run a quantum algorithm, determine when to change the initial values for a quantum algorithm, determine when to run quantum algorithms or other operations, and otherwise perform intelligent management of computing resources. The computing resources managed by the task management service may also include classical computing resources such as computing devices and accelerators. In some embodiments, the task management service may use both quantum computing resources and classical computing resources to perform a particular task, e.g., where the different types of resources perform different portions of the task. In some embodiments, the task management service may use both quantum computing resources and classical computing resources to perform the same task, and the service may analyze the results to influence the selection of resources for future tasks. The task management service may introduce a layer of intelligent management of computing resources such that clients may delegate management of resources to the service.

Various embodiments of methods, systems, and computer-readable media for a development environment for programming quantum computing resources are described. Using the techniques described herein, clients may use a development environment to build programs executable on quantum computing resources. The development environment may be hosted in the cloud (at least in part) or executed locally on a client computing device (at least in part). The development environment may be associated with a particular type of quantum computing resource or with a higher-level abstraction of quantum computing resources. Using the development environment, a client may enter information associated with a quantum

BACKGROUND

Many companies and other organizations operate computer networks that interconnect numerous computing systems to support their operations, such as with the computing systems being co-located (e.g., as part of a local network) or instead located in multiple distinct geographical locations (e.g., connected via one or more private or public intermediate networks). For example, distributed systems housing significant numbers of interconnected computing systems have become commonplace. Such distributed systems may provide back-end services to servers that interact with clients. Such distributed systems may also include data centers that are operated by entities to provide computing resources to customers. Some data center operators provide network access, power, and secure installation facilities for hardware owned by various customers, while other data center operators provide “full service” facilities that also include hardware resources made available for use by their customers. As the scale and scope of distributed systems have increased, the tasks of provisioning, administering, and managing the resources have become increasingly complicated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates an example system environment for cloud-based access to quantum computing resources, including a classical computing instance within the same provider network as a quantum computing instance, according to one embodiment.

FIG. 1B illustrates an example system environment for cloud-based access to quantum computing resources, including a virtual computing instance within the same provider network as a quantum computing instance, according to one embodiment.

FIG. 1C illustrates an example system environment for cloud-based access to quantum computing resources, including a classical computing instance external to the provider network that hosts a quantum computing instance, according to one embodiment.

FIG. 1D illustrates an example system environment for cloud-based access to quantum computing resources, including a data center that hosts a quantum computing instance, according to one embodiment.

FIG. 1E illustrates an example system environment for cloud-based access to quantum computing resources, including a computing instance with a locally accessible quantum computing resource, according to one embodiment.

FIG. 2A illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including a catalog that offers quantum computing instances of different instance types, according to one embodiment.

FIG. 2B illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including a catalog that offers quantum computing instances with pre-loaded quantum algorithms, according to one embodiment.

FIG. 2C illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including a catalog that offers quantum algorithms for use with quantum computing instances, according to one embodiment.

FIG. 2D illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including a catalog that offers quantum algorithms with options for different initial configurations, according to one embodiment.

FIG. 3A illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including reclamation of a quantum computing instance whose attachment to a classical computing instance has been terminated, according to one embodiment.

FIG. 3B illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including reuse of a reclaimed quantum computing instance for attachment to another classical computing instance, according to one embodiment.

FIG. 4A illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including an elastic quantum computing library that permits interaction between a classical computing instance and a quantum computing instance, according to one embodiment.

FIG. 4B illustrates further aspects of the example system environment for cloud-based access to quantum computing resources, including an elastic quantum computing library that permits interaction between a classical computing instance and various types of accelerators, according to one embodiment.

FIG. 5A and FIG. 5B are a flowcharts illustrating methods for cloud-based access to quantum computing resources, according to one embodiment.

FIG. 6 illustrates an example system environment for a service for managing quantum computing resources, according to one embodiment.

FIG. 7A illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service using a quantum computing resource to run a quantum algorithm with an initial configuration, according to one embodiment.

FIG. 7B illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service using the quantum computing resource to run the quantum algorithm with a different initial configuration, according to one embodiment.

FIG. 7C illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service using the quantum computing resource to run a different quantum algorithm, according to one embodiment.

FIG. 8 illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service aggregating the results of multiple runs of one or more quantum algorithms, according to one embodiment.

FIG. 9 illustrates further aspects of the example system environment for a service for managing quantum computing resources, including the service aggregating the results from a quantum computing resource and a classical computing resource, according to one embodiment.

FIG. 10 is a flowchart illustrating a method for using a service for managing quantum computing resources, according to one embodiment.

FIG. 11A illustrates an example system environment for a development environment for programming quantum computing resources, according to one embodiment.

FIG. 11B illustrates an example system environment for a development environment for programming quantum computing resources, including a development environment generating and sending a display to a client, according to one embodiment.

FIG. 11C illustrates an example system environment for a development environment for programming quantum computing resources, including a development environment executable on a client computing device, according to one embodiment.

FIG. 12 illustrates further aspects of the example system environment for a development environment for programming quantum computing resources, including a repository of programming elements usable for building a quantum algorithm, according to one embodiment.

FIG. 13A illustrates further aspects of the example system environment for a development environment for programming quantum computing resources, including testing variants of a quantum algorithm using different quantum computing resources, according to one embodiment.

FIG. 13B illustrates further aspects of the example system environment for a development environment for programming quantum computing resources, including testing a quantum algorithm using both a quantum computing resource and a classical computing resource, according to one embodiment.

FIG. 14 is a flowchart illustrating a method for using a development environment for programming quantum computing resources, according to one embodiment.

FIG. 15 illustrates an example system environment for cloud-based simulation of quantum computing resources, according to one embodiment.

FIG. 16 illustrates further aspects of the example system environment for cloud-based simulation of quantum computing resources, including using classical computing resources of different instance types, according to one embodiment.

FIG. 17 illustrates further aspects of the example system environment for cloud-based simulation of quantum computing resources, including a catalog of quantum algorithms, according to one embodiment.

FIG. 18 illustrates further aspects of the example system environment for cloud-based simulation of quantum computing resources, including the use of a development environment to provide the quantum algorithm, according to one embodiment.

FIG. 19 is a flowchart illustrating a method for cloud-based simulation of quantum computing resources, according to one embodiment.

FIG. 20 illustrates an example computing device that may be used in some embodiments.

While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning “having the potential to”), rather than the mandatory sense (i.e., meaning “must”). Similarly, the words “include,” “including,” and “includes” mean “including, but not limited to.”

DETAILED DESCRIPTION OF EMBODIMENTS

Various embodiments of methods, systems, and computer-readable media for cloud-based access to quantum computing resources are described. Using the techniques described herein, quantum computing resources that are hosted “in the cloud” can be accessed by client computing devices. The client devices may represent “classical” (e.g., binary digital) computing devices that may seek to take advantage of the speed of quantum computing for solving particular problems. The client devices may be hosted inside or outside the same provider network that hosts the quantum computing resources. On request, a control plane may attach a quantum computing instance to a classical computing instance over a network. When a quantum instance is attached, the classical instance may have remote control of that quantum instance (exclusive of other classical instances) until the attachment is terminated. When the attachment is terminated, the quantum computing resource may be reclaimed and prepared for re-use by the same client or a different client at a later time. A particular quantum computing resource (e.g., a quantum computing instance) may be used and re-used by different client devices. Similarly, a particular client device may use different quantum computing resources over time. On request, a control plane of the provider network may provide access to a classical instance that includes or can locally access a quantum computing resource over an interconnect. A quantum computing instance may run a particular quantum algorithm with a particular initial configuration. The instance type of the quantum instance, the quantum algorithm, and/or the initial configuration may be selected by the client from a catalog. Different instance types may have different quantum computing characteristics such as the number or configuration of quantum bits. In one embodiment, a client may select an instance type that represents a template for solving a particular type of problem and that includes a pre-loaded quantum algorithm. In one embodiment, the elastic quantum computing service may recommend particular instance types, quantum algorithms, and/or initial configurations to a client, e.g., based on a specified problem domain or workload and to optimize speed, cost, or accuracy.

Various embodiments of methods, systems, and computer-readable media for a service for managing quantum computing resources are described. Using the techniques described herein, quantum computing resources that are hosted “in the cloud” may be managed using a task management service. The task management service may receive task descriptions from clients and select and orchestrate computing resources, including quantum computing resources, to perform the tasks on behalf of the clients. The computing resources may be selected based (at least in part) on task descriptions and on performance metrics of prior tasks. The task management service may select appropriate computing resources, select and/or optimize quantum algorithms to implement a task, determine how many times to run a quantum algorithm, determine when to change the initial values for a quantum algorithm, determine when to run quantum algorithms or other operations, and otherwise perform intelligent management of computing resources. The computing resources managed by the task management service may also include classical computing resources such as computing devices and accelerators. In some embodiments, the task management service may use both quantum computing resources and classical computing resources to perform a particular task, e.g., where the different types of resources perform different portions of the task. In some embodiments, the task management service may use both quantum computing resources and classical computing resources to perform the same task, and the service may analyze the results to influence the selection of resources for future tasks. The task management service may introduce a layer of intelligent management of computing resources such that clients may delegate management of resources to the service.

Various embodiments of methods, systems, and computer-readable media for a development environment for programming quantum computing resources are described. Using the techniques described herein, clients may use a development environment to build programs executable on quantum computing resources. The development environment may be hosted in the cloud (at least in part) or executed locally on a client computing device (at least in part). The development environment may be associated with a particular type of quantum computing resource or with a higher-level abstraction of quantum computing resources. Using the development environment, a client may enter information associated with a quantum algorithm, such as programming elements of the algorithm or other program code. The program code may be entered as text, as visual or graphical programming elements (e.g., nodes in a graphical program), or using any other suitable input modality. In one embodiment, programming elements may be selected by the client or by the environment itself from a repository. In one embodiment, programming elements may be recommended to the developer (the client) by the environment. The development environment may optimize the program code and compile the code into a quantum algorithm that is executable on a quantum computing resource. The development environment may select one or more quantum resources to run the quantum algorithm, e.g., from a pool of computing resources hosted in a cloud-based provider network. A quantum computing resource may be selected based (at least in part) on characteristics of the quantum algorithm, e.g., to select a quantum resource that is particularly suited for a specific problem domain such as molecular modeling, traffic optimization, and so on. A quantum computing resource may be selected based (at least in part) on optimization of speed, accuracy, and/or cost. In one embodiment, the quantum algorithm may be run on a quantum computing resource managed by the client. In one embodiment, a quantum algorithm may be tested on different quantum computing resources, or variants of an algorithm may be tested on different instances of the same type of quantum resource. In one embodiment, a quantum algorithm may be tested on both quantum resources and classical computing resources. Based on the testing, the environment may recommend particular resource types for the algorithm or may recommend one variant of the algorithm over another.

Various embodiments of methods, systems, and computer-readable media for cloud-based simulation of quantum computing resources are described. Using the techniques described herein, clients may submit quantum algorithms to a quantum computing simulation service. The quantum computing simulation service may implement simulation of the quantum algorithms using classical computing resources. In one embodiment, the quantum computing simulation service and the classical computing resources may be offered to clients by a cloud-based provider network. The quantum computing simulation service may select the classical resources, such as a plurality of virtual compute instances, from a pool of available computing resources of the provider network, and the resources may vary in their instance type or other characteristics. The quantum computing simulation service may select an appropriate number and type of classical resources for a particular quantum algorithm. In one embodiment, the quantum computing simulation service may recommend a number and/or type of classical resources to a client. In one embodiment, the selected classical resources may simulate the quantum algorithm using executable instructions that represent similar logic as the quantum algorithm. In one embodiment, at least some of the classical resources may run a simulator for quantum computing hardware, and any of the classical resources may simulate all or part of the quantum algorithm. In one embodiment, the quantum computing simulation service may orchestrate the use of many classical computing resources to perform various tasks associated with the simulation. The simulation may often require many more classical computing resources or more runtime than the use of a quantum computing resource. However, in some scenarios, the cost of the classical computing resources may be less than the quantum computing resource, or the classical computing resources may have greater availability than the quantum computing resource. In one embodiment, quantum algorithms may be selected from a catalog in the provider network and then simulated on classical resources. The quantum computing simulation service may be used to test quantum algorithms on classical computing resources prior to using genuine quantum computing resources. In one embodiment, the quantum computing simulation service may simulate quantum algorithms developed using a development environment for quantum computing.

Cloud-Based Access to Quantum Computing Resources

FIG. 1A , FIG. 1B , and FIG. 1C illustrate an example system environment for cloud-based access to quantum computing resources, according to some embodiments. An elastic quantum computing service 100 may provide access to quantum computing resources 160 . The quantum computing resources may be hosted “in the cloud,” e.g., in a cloud-based provider network 190 whose resources are remotely accessible to clients. Quantum computing resources 160 may include computing devices that rely on quantum-mechanical phenomena for their operation. A quantum computing device, also referred to as a quantum computer, may include a plurality of quantum bits (qubits). A quantum bit can be in a superposition of states. A quantum computer with n qubits may be in a superposition of 2″ different states simultaneously, while a non-quantum (classical) computer may be in only one of those states at a given time. A quantum computer may run a quantum algorithm that includes a sequence of quantum logic gates; a problem may be encoded by setting the initial configuration of values of the qubits. When measured, the system of qubits may collapse into one of the 2″ states, where each qubit represents a binary value (one or zero). Using these principles, quantum computing resources 160 may solve some problems much faster than a classical computer. For example, the quantum computing resources 160 may be used to solve complex problems in domains such as machine learning, financial portfolio optimization, molecular modeling, climate modeling, integer factorization, simulation, and so on. Quantum algorithms may often provide an exponential or quadratic speedup over their classical computing counterparts.

In some embodiments, the quantum computing resources 160 may run quantum algorithms such as Grover's algorithm, the Deutsch-Jozsa algorithm, Shor's algorithm, a quantum Fourier transform, a family of quantum algorithms involving amplitude amplification, adiabatic quantum computation, quantum error connection, and so on. Quantum algorithms may represent a translation of problems in various domains, such as chemistry and materials science, into quantum circuits that can be executed on quantum computing resources. Quantum algorithms may be generated by transforming physics equations which describe chemical and material systems into representations that can be interpreted by quantum computing resources. For example, to simulate the energy surface of a molecule using a quantum algorithm, several types of input may be used: e.g., a specification of the coordinates of the nuclei in the molecule, a basis set usable to discretize the molecule, and the charge and spin multiplicity of the system (if known). Classical computation may be used to optimally stage the computation of the quantum algorithm, e.g., to select an initial configuration for the algorithm using a Hartree-Fock calculation. A researcher may then specify the active space representing the electrons that are of greatest interest. The equations for these electrons may be mapped to a representation suitable for the quantum bits of a quantum computing resource, e.g., using the Bravyi-Kitaev transformation. A quantum algorithm may then be selected to solve for the properties of interest to the researcher. To run the quantum algorithm, the quantum circuit may be output in assembly language or another low-level language that can be run on the quantum computing resource.

Quantum computing is currently associated with numerous technical problems. For example, quantum computers may be very expensive to purchase due to their exotic nature and rarity. Additionally, quantum computers may be difficult to manage and maintain for similar reasons. Furthermore, quantum algorithms may be complex to develop and test, especially for developers who are accustomed to a classical computing paradigm. These problems may be addressed by providing cloud-based access to quantum computing resources and management of such resources such that clients need not purchase or maintain the quantum computing resources on their own but may instead lease the quantum resources on an as-needed basis. In one embodiment, a plurality of quantum computing instances may be provided to clients based on a set of quantum computing resources 160 . In one embodiment, a quantum computing instance 161 may correspond to one physical quantum computing device in the quantum resources 160 . In one embodiment, a plurality of quantum computing instances (including instance 161 ) may be provided by one physical quantum computing device in the quantum resources 160 . In one embodiment, a single quantum computing device in the quantum resources 160 may be time-shared to offer its functionality to multiple tenants in manner that appears concurrent to the tenants. The time-sharing may be implemented using a control plane associated with the quantum computing resources 160 , e.g., using the service 100 to facilitate the use of a single quantum computing device by different clients. In one embodiment, the quantum computing instance 161 may represent a virtual instance that is implemented on top of the underlying physical quantum resources 160 .

In one embodiment, the elastic quantum computing service 100 may provide remote access to quantum computing resources 160 for a plurality of clients of a provider network 190 . The service 100 may represent a control plane of the provider network 190 . The clients may represent customers of the provider network 190 , and the clients may use various resources and services of the provider network in exchange for fees. The clients may operate various computing devices that represent a “classical” approach to computing in that they do not rely on quantum-mechanical phenomena for their operation. The classical computing resources may represent binary digital computing devices such as the example computing device 3000 as shown in FIG. 20 . Using the elastic quantum computing service 100 , quantum computing instances may be attached to classical computing instances via network connections (e.g., over network 150 ). In one embodiment, an attached quantum computing instance may act as an accelerator for particular tasks that are especially suited for quantum computing, such that quantum computing approaches are likely to provide faster or more accurate answers than classical computing approaches. In one embodiment, an attached quantum computing instance may be used solely by a particular classical instance as long as the attachment is maintained, such that other classical instances may not have concurrent access to the functionality of that particular quantum computing instance. Quantum instances may be used by classical instances on a temporary basis, and when an attachment is terminated, the quantum computing resource(s) used for a particular quantum instance may be returned to the pool of quantum computing resources 160 for potential re-use by the same client or different clients. In one embodiment, a quantum computing instance 161 may be attached to a classical computing instance based on an attachment request sent to the elastic quantum computing service 100 . The attachment request may be sent by the classical instance itself (e.g., if the classical instance is already running), by a client associated with the classical instance, or by a client or other entity that seeks to provision both the classical instance and the attached quantum instance in the same transaction.

In various embodiments, clients who seek to attach quantum computing instances to classical computing instances may have varying relationships to the provider network 190 . In some embodiments, a classical computing instance within the provider network 190 may be provisioned by a control plane of the provider network, e.g., based (at least in part) on a request from a client. As shown in the example of FIG. 1A , a client may operate a classical computing instance 110 that is internal to the provider network 190 , e.g., such that the underlying hardware resources of the instance 110 are hosted by the provider network. As shown in the example of FIG. 1B , a client 140 may operate a virtual computing instance 120 that is internal to the provider network 190 . Using a client computing device 140 (such as the example computing device 3000 as shown in FIG. 20 ), a client of the provider network 190 may interact with and control the virtual computing instance 120 . The virtual computing instance 120 may be provided by a computing virtualization service of the provider network 190 using classical computing resources 170 that are hosted in the provider network. As shown in the example of FIG. 1C , a classical computing instance 130 may be external to the provider network 190 , e.g., on client premises or otherwise in an environment not under the management of the provider network.

In various embodiments, the elastic quantum computing service 100 may include components to implement various types of functionality. In one embodiment, the elastic quantum computing service 100 may include a component for quantum instance recommendation 102 . The quantum instance recommendation 102 may recommend the quantum computing instance 161 , quantum algorithm 165 , and/or initial configuration 166 to the client. For example, based on a particular problem domain or workload that the client specifies, the quantum instance recommendation 102 may recommend a particular instance type of the quantum instance 161 that is designed for the problem domain. The recommendation may seek to optimize a speed, accuracy, or cost of the problem, based (at least in part) on input concerning the client's goals. The instance type may be associated with a quantum computing resource that has particular quantum computing characteristics, such as a particular number of qubits. The recommended instance may be pre-loaded with a suitable quantum algorithm 165 and/or an initial configuration 166 (e.g., initial values for the qubits) for that algorithm, or the algorithm may be recommended separately. The recommendation may be communicated to the client through any suitable interface, e.g., a graphical user interface (GUI) associated with the elastic quantum computing service 100 . In one embodiment, the recommended instance may be provisioned and attached to a classical instance specified by the client based on user input accepting the recommendation.

In one embodiment, the elastic quantum computing service 100 may include a component for quantum instance provisioning 104 . The quantum instance provisioning 104 may interact with a resource manager 180 of the provider network 190 to reserve, configure, and/or attach at least one of the quantum computing resources 160 on behalf of a client associated with the

classical computing instance

110 , 120 , or 130 . The quantum computing resources 160 may represent a pool of available resources, including quantum computers in one or more data centers managed by the provider network 190 . Provisioning the quantum computing instance 161 may include reserving one of the quantum computers, or a portion of one of the quantum computers, for attachment to the classical computing instance. The service 100 may also perform the attachment of the quantum instance 161 to the classical instance. In one embodiment, the elastic quantum computing service 100 may include a component for quantum instance deprovisioning 106 . The attachment may be temporary, and the quantum computing resource(s) used to implement the quantum computing instance 161 may be returned to the pool of available quantum computing resources 160 when no longer needed or used by the classical instance. Deprovisioning the quantum computing instance 161 may include terminating the attachment (if not already terminated), deprogramming the quantum algorithm, erasing or resetting the values of any qubits, removing any client-specific data or metadata associated with the quantum instance (e.g., in a classical component that is local to the quantum computer and that manages the quantum computer), and/or otherwise preparing the reclaimed quantum computing resources for reuse by the same client or another client.

In one embodiment, the elastic quantum computing service 100 may include a component for quantum instance programming 108 . The quantum instance programming 108 may deploy a quantum algorithm 165 to the quantum computing instance 161 . The quantum instance programming 108 may configure a quantum algorithm 165 on the quantum computing instance 161 , e.g., by providing an initial configuration 166 for the algorithm. The initial configuration 166 may represent initial values for qubits. In one embodiment, the quantum algorithm 165 may be provided by the client associated with the classical computing instance and deployed to the quantum instance 161 by the client device. In one embodiment, the quantum algorithm 165 may be selected by the client associated with the classical computing instance, e.g., from a catalog of algorithms offered by the provider network 190 . In one embodiment, the quantum algorithm 165 may be pre-loaded on the quantum computing instance, and the quantum computing instance may be selected by the client due to its suitability for a particular problem domain.

The quantum algorithm 165 may be run based (at least in part) on input 116 from the classical computing instance. The input 116 may represent a selection of the algorithm 165 , a selection of the initial configuration 166 , a decision to start the run at a particular time, and/or other control signals associated with operation of the quantum computing instance 161 . In one embodiment, the

classical instance

110 , 120 , or 130 may run an application 115 , and the application may generate at least a portion of the input 116 used by the quantum computing instance 161 . Upon measuring (observing) the qubits, the qubits may collapse into a particular state where each qubit represents a binary value (one or zero). This state may represent the result(s) 117 of the run of the algorithm 165 and may be provided back to the classical computing instance. Quantum algorithms may be considered probabilistic such that they provide a solution with a certain probability, and the algorithm 165 may be run more than once to arrive at different results 117 . In one embodiment, by repeatedly setting the algorithm's initial values, running the algorithm, and measuring the algorithm's results, the probability of arriving at the correct answer may be increased.

FIG. 1D illustrates an example system environment for cloud-based access to quantum computing resources, including a data center that hosts a quantum computing instance, according to one embodiment. In one embodiment, the quantum computing resources 160 may be hosted in a data center 199 that is not necessarily part of the provider network 190 . For example, the data center 199 may be owned or managed by a different entity than the entity that provides the elastic quantum computing service 100 . As another example, the data center 199 may represent a client-managed data center. In one embodiment, the service 100 may have access to the quantum computing resources 160 in the data center 199 and may interact with the data center to provision a quantum computing instance 161 on behalf of a client 140 , e.g., in response to a request from the client. The client 140 may then remotely access and/or control the quantum computing instance 161 as discussed above.

FIG. 1E illustrates an example system environment for cloud-based access to quantum computing resources, including a computing instance with a locally accessible quantum computing resource, according to one embodiment. In one embodiment, a computing instance 111 may be provisioned that includes both classical and quantum components. As classical components, the <figure-callout id="111" label="computing instance" filenames="US10592216-20200317-D00005.png,US10592216-20200317-D00011.png" state="{

CLAIMS

Claims ( 20 )

What is claimed is:

1. A system, comprising:

a pool of computing resources of a multi-tenant provider network that provides accessibility of the computing resources to a distributed set of clients, wherein the computing resources include a plurality of quantum computing resources; and

one or more computing devices comprising at least one processor and a memory, the one or more computing devices configured to implement a development environment, wherein the one or more computing devices are configured to:

receive, via the development environment, information associated with a quantum algorithm;

select a quantum computing resource from the plurality of quantum computing resources for implementation of the quantum algorithm based at least in part on a first set of metrics generated based on the development environment analyzing different ones of the plurality of quantum computing resources performing one or more different quantum algorithms, wherein the selected quantum computing resource comprises a plurality of quantum bits;

compile multiple variants of a program executable on the selected quantum computing resource, wherein each of the multiple variants of the program is compiled based at least in part on the information associated with the quantum algorithm;

select a variant of the multiple variants of the program based on analysis of a second set of metrics associated with one or more runs of each of the multiple variants of the program on the selected quantum computing resource; and

cause the selected quantum computing resource at the multi-tenant provider network to run the selected variant of the program.

2. The system as recited in claim 1 , wherein the quantum computing resource is selected based at least in part on the information associated with the quantum algorithm.

3. The system as recited in claim 1 , wherein the one or more computing devices implement a virtual computing instance, wherein the virtual computing instance runs at least a portion of the development environment, and wherein the virtual computing instance belongs to an instance type associated with the development environment.

4. The system as recited in claim 1 , wherein the one or more computing devices are configured to:

generate one or more variants of the program executable on one or more additional quantum computing resources and one or more classical computing resources;

cause the one or more additional quantum computing resources and the one or more classical computing resources to run the one or more variants of the program; and

generate the first set of metrics based at least in part on a comparison of running the one or more variants of the program on the one or more additional quantum computing resources and the one or more classical computing resources.

5. A computer-implemented method, comprising:

receiving, via a development environment, information associated with a quantum algorithm;

selecting a quantum computing resource from a plurality of quantum computing resources included in a pool of computing resources of a provider network for implementation of the quantum algorithm based at least in part on a first set of metrics generated based on the development environment analyzing different ones of the plurality of quantum computing resources performing one or more different quantum algorithms, wherein the selected quantum computing resource comprises a plurality of quantum bits, the provider network providing accessibility of the computing resources to a distributed set of clients;

generating multiple variants of a program executable on the selected quantum computing resource, wherein each of the multiple variants of the program is generated based at least in part on the information associated with the quantum algorithm; and

selecting a variant of the multiple variants of the program based on the development environment analyzing a second set of metrics associated with one or more runs of each of the multiple variants of the program on the selected quantum computing resource.

6. The method as recited in claim 5 , wherein the quantum computing resource is selected based at least in part on the information associated with the quantum algorithm.

7. The method as recited in claim 5 , wherein a virtual computing instance runs at least a portion of the development environment, wherein the virtual computing instance is hosted by the provider network, and wherein the virtual computing instance belongs to an instance type associated with the development environment.

8. The method as recited in claim 5 , wherein a display of the development environment is generated in the provider network and sent to a computing device associated with a developer of the program.

9. The method as recited in claim 5 , wherein a repository of programming elements is accessible to the development environment, wherein the information associated with the quantum algorithm comprises a selection of one or more programming elements from the repository, and wherein each of multiple variants of the program is generated based at least in part on the one or more programming elements selected from the repository.

10. The method as recited in claim 9 , wherein the first set of metrics are associated with execution of prior programs on the different ones of the plurality of quantum computing resources.

11. The method as recited in claim 5 , further comprising:

generating one or more variants of the program executable on a plurality of additional quantum computing resources;

causing the additional quantum computing resources to run the one or more variants of the program; and

generating the first set of metrics based at least in part on a comparison of running the one or more variants of the program on the plurality of additional quantum computing resources.

12. The method as recited in claim 5 , further comprising:

generating one or more variants of the program executable on one or more additional quantum computing resources and one or more classical computing resources;

causing the one or more additional quantum computing resources and the one or more classical computing resources to run the one or more variants of the program; and

generating the first set of metrics based at least in part on a comparison of running the one or more variants of the program on the one or more additional quantum computing resources and the one or more classical computing resources.

13. A non-transitory, computer-readable storage medium, storing program instructions computer-executable to perform:

receiving, via a development environment, information associated with a quantum algorithm;

selecting a quantum computing resource from a plurality of quantum computing resources included in a pool of computing resources of a provider network for implementation of the quantum algorithm based at least in part on a first set of metrics generated based on the development environment analyzing different ones of the plurality of quantum computing resources performing one or more different quantum algorithms, wherein the selected quantum computing resource comprises a plurality of quantum bits, the provider network providing accessibility of the computing resources to a distributed set of clients;

compiling multiple variants of a program executable on the selected quantum computing resource, wherein each of the multiple variants of the program is compiled based at least in part on the information associated with the quantum algorithm;

selecting a variant of the multiple variants of the program based on the development environment analyzing a second set of metrics associated with one or more runs of each of the multiple variants of the program on the selected quantum computing resource; and

deploying the selected variant of the program to the selected quantum computing resource at the provider network.

14. The non-transitory, computer-readable storage medium as recited in claim 13 , wherein the quantum computing resource is selected based at least in part on the information associated with the quantum algorithm.

15. The non-transitory, computer-readable storage medium as recited in claim 13 , wherein a virtual computing instance runs at least a portion of the development environment, wherein the virtual computing instance is hosted by the provider network, and wherein the virtual computing instance belongs to an instance type associated with the development environment.

16. The non-transitory, computer-readable storage medium as recited in claim 13 , wherein at least a portion of the development environment is run on a computing device associated with a developer of the program and external to the provider network.

17. The non-transitory, computer-readable storage medium as recited in claim 13 , wherein a repository of programming elements is accessible to the development environment, wherein the information associated with the quantum algorithm comprises a selection of one or more programming elements from the repository, and wherein each of multiple variants of the program is generated based at least in part on the one or more programming elements selected from the repository.

18. The non-transitory, computer-readable storage medium as recited in claim 17 , wherein the first set of metrics are associated with execution of prior programs on the different ones of the plurality of quantum computing resources.

19. The non-transitory, computer-readable storage medium as recited in claim 13 , wherein the program instructions are further computer-executable to perform:

generating one or more variants of the program executable on a plurality of additional quantum computing resources;

causing the additional quantum computing resources to run the one or more variants of the program; and

generating the first set of metrics based at least in part on a comparison of running the one or more variants of the program on the plurality of additional quantum computing resources.

20. The non-transitory, computer-readable storage medium as recited in claim 13 , wherein the program instructions are further computer-executable to perform:

generating one or more variants of the program executable on one or more additional quantum computing resources and one or more classical computing resources;

causing the one or more additional quantum computing resources and the one or more classical computing resources to run the one or more variants of the program; and

generating the first set of metrics based at least in part on a comparison of running the one or more variants of the program on the one or more additional quantum computing resources and the one or more classical computing resources.

US15/814,302

2017-11-15

2017-11-15

Development environment for programming quantum computing resources

Active

US10592216B1

( en )

Priority Applications (1)

Application Number

Priority Date

Filing Date

Title

US15/814,302

US10592216B1

( en )

2017-11-15

2017-11-15

Development environment for programming quantum computing resources

Applications Claiming Priority (1)

Application Number

Priority Date

Filing Date

Title

US15/814,302

US10592216B1

( en )

2017-11-15

2017-11-15

Development environment for programming quantum computing resources

Publications (1)

Publication Number

Publication Date

US10592216B1

true

US10592216B1 ( en )

2020-03-17

Family

ID=69779204

Family Applications (1)

Application Number

Title

Priority Date

Filing Date

US15/814,302

Active

US10592216B1

( en )

2017-11-15

2017-11-15

Development environment for programming quantum computing resources

Country Status (1)

Country

Link

US

( 1 )

US10592216B1

( en )

Cited By (50)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20200218518A1

( en )

*

2019-01-07

2020-07-09

International Business Machines Corporation

Quantum circuit compilation with quantum libraries as a service

US11010145B1

( en )

*

2018-02-21

2021-05-18

Rigetti &amp; Co, Inc.

Retargetable compilation for quantum computing systems

US11144334B2

( en )

2018-12-20

2021-10-12

Red Hat, Inc.

Quantum computer task manager

WO2021219408A1

( en )

*

2020-04-28

2021-11-04

International Business Machines Corporation

Efficient quantum adaptive execution method for quantum circuits

US11170137B1

( en )

*

2017-11-15

2021-11-09

Amazon Technologies, Inc.

Cloud-based simulation of quantum computing resources

US11194573B1

( en )

*

2018-02-09

2021-12-07

Rigetti &amp; Co, Llc

Streaming execution for a quantum processing system

ES2899525A1

( en )

*

2020-09-11

2022-03-11

Nodarse Guido Rogelio Peterssen

System of development and execution of applications in hybrid quantum computing networks. (Machine-translation by Google Translate, not legally binding)

US11295226B2

( en )

*

2018-08-30

2022-04-05

Red Hat, Inc.

Optimization recommendation services for quantum computing

US11308248B2

( en )

*

2018-05-05

2022-04-19

Intel Corporation

Apparatus and method for quantum computing performance simulation

US11314908B2

( en )

*

2019-05-29

2022-04-26

International Business Machines Corporation

Providing reusable quantum circuit components as a curated service

WO2022113236A1

( en )

*

2020-11-26

2022-06-02

株式会社KPMG Ignition Tokyo

Quantum/classical computing platform

US20220188680A1

( en )

*

2020-12-14

2022-06-16

International Business Machines Corporation

Quantum circuit optimization routine evaluation and knowledge base generation

US11416221B2

( en )

2020-05-12

2022-08-16

Red Hat, Inc.

Quantum entanglement protection

US20220383176A1

( en )

*

2021-05-27

2022-12-01

Red Hat, Inc.

Qubit reservation service

US11544047B1

( en )

*

2020-05-11

2023-01-03

Wells Fargo Bank, N.A.

Systems and methods for quantum algorithm based optimization

US11556833B2

( en )

2020-06-25

2023-01-17

Red Hat, Inc.

Performing quantum file concatenation

US11562283B2

( en )

2020-06-25

2023-01-24

Red Hat, Inc.

Performing quantum file copying

US11580247B2

( en )

2020-06-25

2023-02-14

Red Hat, Inc.

Systems and methods for quantum file permissions

US11605016B2

( en )

2019-11-27

2023-03-14

Amazon Technologies, Inc.

Quantum computing service supporting local execution of hybrid algorithms

US11605033B2

( en )

2019-11-27

2023-03-14

Amazon Technologies, Inc.

Quantum computing task translation supporting multiple quantum computing technologies

US20230099621A1

( en )

*

2021-09-30

2023-03-30

Amazon Technologies, Inc.

Determination of quantum circuit compilation passes and/or compilation parameters optimized for one or more performance metrics

US20230143072A1

( en )

*

2021-11-09

2023-05-11

International Business Machines Corporation

Optimize quantum-enhanced feature generation

US20230153155A1

( en )

*

2021-11-12

2023-05-18

Amazon Technologies, Inc.

On-demand co-processing resources for quantum computing

US11676059B2

( en )

2020-06-23

2023-06-13

Red Hat, Inc.

Performing quantum file pattern searching

US20230214581A1

( en )

*

2022-01-06

2023-07-06

Jpmorgan Chase Bank , N.A.

Systems and methods for quantum computing-based extractive summarization

US11704715B2

( en )

2019-11-27

2023-07-18

Amazon Technologies, Inc.

Quantum computing service supporting multiple quantum computing technologies

US11714692B2

( en )

2021-05-27

2023-08-01

Red Hat, Inc.

Classical management of qubit requests

US11775855B2

( en )

2017-11-15

2023-10-03

Amazon Technologies, Inc.

Service for managing quantum computing resources

US11792839B2

( en )

2021-03-12

2023-10-17

Eagle Technology, Llc

Systems and methods for controlling communications based on machine learned information

US11797276B1

( en )

*

2021-09-30

2023-10-24

Amazon Technologies, Inc.

Assisted composition of quantum algorithms

US11823009B1

( en )

*

2019-08-21

2023-11-21

Wells Fargo Bank, N.A.

Quantum and classical cryptography (QCC) for data signing and data verification

US20240020561A1

( en )

*

2022-07-13

2024-01-18

Red Hat, Inc.

Quantum simulator network for simulating a quantum service

US11886380B2

( en )

2020-04-27

2024-01-30

Red Hat, Inc.

Quantum file management system

US11907092B2

( en )

*

2021-11-12

2024-02-20

Amazon Technologies, Inc.

Quantum computing monitoring system

US11915325B2

( en )

2021-06-09

2024-02-27

Bank Of America Corporation

Quantum enabled resource activity investigation and response tool

WO2024075108A1

( en )

*

2014-09-09

2024-04-11

Classiq Technologies LTD.

Selecting a quantum computer

US11977957B2

( en )

2021-08-03

2024-05-07

Amazon Technologies, Inc.

Quantum computing program compilation using cached compiled quantum circuit files

US12079689B1

( en )

*

2021-04-30

2024-09-03

Wells Fargo Bank, N.A.

Systems and methods for low-code utilization of a computing system

WO2024195087A1

( en )

*

2023-03-23

2024-09-26

日本電信電話株式会社

Quantum computing delegation system, client, quantum computing delegation method, and program

US20240330738A1

( en )

*

2023-03-30

2024-10-03

Amazon Technologies, Inc.

Quantum compilation service

US12154006B2

( en )

*

2022-09-15

2024-11-26

Red Hat, Inc.

Predicting and minimizing quantum decoherence in quantum computer systems

CN119151013A

( en )

*

2024-11-11

2024-12-17

中国科学院计算技术研究所

System and method for constructing quantum classical hybrid machine learning model

US12177197B1

( en )

2019-08-21

2024-12-24

Wells Fargo Bank, N.A.

Quantum and classical cryptography (QCC) for data encryption and data decryption

US12198005B1

( en )

*

2021-09-09

2025-01-14

Amazon Technologies, Inc.

Quantum computing using multiple quantum computers

US12265882B2

( en )

2021-03-12

2025-04-01

Eagle Technology, Llc

Systems and methods for quantum computing based subset summing

US12293259B2

( en )

2020-05-27

2025-05-06

Red Hat, Inc.

Qubit allocation service

WO2025144486A3

( en )

*

2023-09-29

2025-09-04

Amazon Technologies, Inc.

Containerized execution orchestration of quantum tasks on quantum hardware provider quantum processing units

WO2025249105A1

( en )

*

2024-05-30

2025-12-04

株式会社日立製作所

Error-tolerant quantum computer utilization system and error-tolerant quantum computer utilization method

US12561946B2

( en )

2021-03-12

2026-02-24

Eagle Technology, Llc

Object detection device incorporating quantum computing and game theoretic optimization and related methods

US12585975B2

( en )

2022-08-17

2026-03-24

Red Hat, LLC

State maps for quantum computing

Citations (20)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20030121028A1

( en )

*

2001-12-22

2003-06-26

Michael Coury

Quantum computing integrated development environment

US7277872B2

( en )

2000-09-26

2007-10-02

Robert Raussendorf

Method for quantum computing

US20070239366A1

( en )

*

2004-06-05

2007-10-11

Hilton Jeremy P

Hybrid classical-quantum computer architecture for molecular modeling

US20070294070A1

( en )

*

2004-12-09

2007-12-20

National University Corporation NARA Institute of Science and Technology

Program Development Support Apparatus for Computer System Including Quantum Computer, Program Development Support Program, and Simulation Apparatus

US7376547B2

( en )

2004-02-12

2008-05-20

Microsoft Corporation

Systems and methods that facilitate quantum computer simulation

US7529717B2

( en )

2003-03-18

2009-05-05

Magiq Technologies, Inc.

Universal quantum computing

US7876145B2

( en )

2007-07-13

2011-01-25

International Business Machines Corporation

Control system architecture for qubits

US8190553B2

( en )

2007-12-20

2012-05-29

Routt Thomas J

Methods and systems for quantum search, computation and memory

US20130167123A1

( en )

*

2008-12-18

2013-06-27

Adobe Systems Incorporated

Application debugging

US9317331B1

( en )

*

2012-10-31

2016-04-19

The Mathworks, Inc.

Interactive scheduling of an application on a multi-core target processor from a co-simulation design environment

US9400499B2

( en )

2013-01-25

2016-07-26

D-Wave Systems Inc.

Systems and methods for real-time quantum computer-based control of mobile systems

US9471880B2

( en )

2013-04-12

2016-10-18

D-Wave Systems Inc.

Systems and methods for interacting with a quantum computing system

US9530873B1

( en )

2013-01-28

2016-12-27

Sandia Corporation

Semiconductor adiabatic qubits

US9537953B1

( en )

*

2016-06-13

2017-01-03

1Qb Information Technologies Inc.

Methods and systems for quantum ready computations on the cloud

US20170017894A1

( en )

2014-08-22

2017-01-19

D-Wave Systems Inc.

Systems and methods for improving the performance of a quantum processor to reduce intrinsic/control errors

US20170223094A1

( en )

*

2016-01-31

2017-08-03

QC Ware Corp.

Quantum Computing as a Service

US20170357539A1

( en )

*

2016-06-13

2017-12-14

1Qb Information Technologies Inc.

Methods and systems for quantum ready and quantum enabled computations

US20180260731A1

( en )

*

2017-03-10

2018-09-13

Rigetti &amp; Co., Inc.

Quantum Approximate Optimization

US20180308000A1

( en )

*

2017-04-19

2018-10-25

Accenture Global Solutions Limited

Quantum computing machine learning module

US20180365585A1

( en )

*

2017-06-19

2018-12-20

Rigetti &amp; Co, Inc.

Distributed Quantum Computing System

2017

2017-11-15

US

US15/814,302

patent/US10592216B1/en

active

Active

Patent Citations (23)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US7277872B2

( en )

2000-09-26

2007-10-02

Robert Raussendorf

Method for quantum computing

US20030121028A1

( en )

*

2001-12-22

2003-06-26

Michael Coury

Quantum computing integrated development environment

US20030169041A1

( en )

*

2001-12-22

2003-09-11

D-Wave Systems, Inc.

Quantum computing integrated development environment

US7529717B2

( en )

2003-03-18

2009-05-05

Magiq Technologies, Inc.

Universal quantum computing

US7376547B2

( en )

2004-02-12

2008-05-20

Microsoft Corporation

Systems and methods that facilitate quantum computer simulation

US20070239366A1

( en )

*

2004-06-05

2007-10-11

Hilton Jeremy P

Hybrid classical-quantum computer architecture for molecular modeling

US20070294070A1

( en )

*

2004-12-09

2007-12-20

National University Corporation NARA Institute of Science and Technology

Program Development Support Apparatus for Computer System Including Quantum Computer, Program Development Support Program, and Simulation Apparatus

US7876145B2

( en )

2007-07-13

2011-01-25

International Business Machines Corporation

Control system architecture for qubits

US8190553B2

( en )

2007-12-20

2012-05-29

Routt Thomas J

Methods and systems for quantum search, computation and memory

US20130167123A1

( en )

*

2008-12-18

2013-06-27

Adobe Systems Incorporated

Application debugging

US9317331B1

( en )

*

2012-10-31

2016-04-19

The Mathworks, Inc.

Interactive scheduling of an application on a multi-core target processor from a co-simulation design environment

US9400499B2

( en )

2013-01-25

2016-07-26

D-Wave Systems Inc.

Systems and methods for real-time quantum computer-based control of mobile systems

US9530873B1

( en )

2013-01-28

2016-12-27

Sandia Corporation

Semiconductor adiabatic qubits

US9471880B2

( en )

2013-04-12

2016-10-18

D-Wave Systems Inc.

Systems and methods for interacting with a quantum computing system

US20170017894A1

( en )

2014-08-22

2017-01-19

D-Wave Systems Inc.

Systems and methods for improving the performance of a quantum processor to reduce intrinsic/control errors

US20170223094A1

( en )

*

2016-01-31

2017-08-03

QC Ware Corp.

Quantum Computing as a Service

US9537953B1

( en )

*

2016-06-13

2017-01-03

1Qb Information Technologies Inc.

Methods and systems for quantum ready computations on the cloud

US9660859B1

( en )

2016-06-13

2017-05-23

1Qb Information Technologies Inc.

Methods and systems for quantum ready computations on the cloud

US20170357539A1

( en )

*

2016-06-13

2017-12-14

1Qb Information Technologies Inc.

Methods and systems for quantum ready and quantum enabled computations

US20180260731A1

( en )

*

2017-03-10

2018-09-13

Rigetti &amp; Co., Inc.

Quantum Approximate Optimization

US20180308000A1

( en )

*

2017-04-19

2018-10-25

Accenture Global Solutions Limited

Quantum computing machine learning module

US10275721B2

( en )

*

2017-04-19

2019-04-30

Accenture Global Solutions Limited

Quantum computing machine learning module

US20180365585A1

( en )

*

2017-06-19

2018-12-20

Rigetti &amp; Co, Inc.

Distributed Quantum Computing System

Non-Patent Citations (18)

* Cited by examiner, † Cited by third party

Title

Barbara Kessler, " The Evolution of Manged Services in Hyperscale Cloud Environments ", AWS Partner Network Blog, Sep. 2016, Source: https://aws.amazon.com/blogs/apn/the-evolution-of-managed-services-in-hyperscale-cloud-environments/, pp. 1-7.

Grodzinsky, F.S., et al., Quantum Computing and Cloud Computing: Humans Trusting Humans via Machines, IEEE International Symposium on Technology and Society (ISTAS), 2011, 5 pages, [retrieved on Jun. 24, 2019], Retrieved from the Internet.

*

Jarrod R. McClean, et al., " OpenFermion: The Electronic Structure Package for Quantum Computers ", Oct. 23, 2017, Source: https://arxiv.org/abs/1710.07629, pp. 1-18.

Jeff Barr, " Developer Preview-EC2 Instances (F1) with Programmable Hardware ", AWS Blog, Nov. 2016, Source: https://aws.amazon.com/blogs/aws/developer-preview-ec2-instances-f1-with-programmable-hardware, pp. 1-9.

Jeff Barr, " EC2 Instance Type Update-T2, R4, F1, Elastic GPUs, I3, C5 ", AWS Blog, Nov. 2016, Source: https://aws.amazon.com/blogs/aws/ec2-instance-type-update-t2-r4-f1-elastic-gpus-i3-c5/, pp. 1-6.

Jeff Barr, " In the Works-Amazon EC2 Elastic GPUs ", Nov. 2016, Source: https://aws.amazon.com/blogs/aws/in-the-work-amazon-ec2-elastic-gpus/, pp. 1-6.

Jeff Barr, " New-Amazon EC2 Instances with Up to 8 NVIDIA Tesla V100 GPUs (P3) ", AWS Blog, Oct. 2017, Source: https://aws.amazon.com/blogs/aws/new-amazon-ec2-instances-with-up-to-8-nvidia-tesla-v100-gpus-p3/, pp. 1-6.

Jeff Barr, " Developer Preview—EC2 Instances (F1) with Programmable Hardware ", AWS Blog, Nov. 2016, Source: https://aws.amazon.com/blogs/aws/developer-preview-ec2-instances-f1-with-programmable-hardware, pp. 1-9.

Jeff Barr, " EC2 Instance Type Update—T2, R4, F1, Elastic GPUs, I3, C5 ", AWS Blog, Nov. 2016, Source: https://aws.amazon.com/blogs/aws/ec2-instance-type-update-t2-r4-f1-elastic-gpus-i3-c5/, pp. 1-6.

Jeff Barr, " In the Works—Amazon EC2 Elastic GPUs ", Nov. 2016, Source: https://aws.amazon.com/blogs/aws/in-the-work-amazon-ec2-elastic-gpus/, pp. 1-6.

Jeff Barr, " New—Amazon EC2 Instances with Up to 8 NVIDIA Tesla V100 GPUs (P3) ", AWS Blog, Oct. 2017, Source: https://aws.amazon.com/blogs/aws/new-amazon-ec2-instances-with-up-to-8-nvidia-tesla-v100-gpus-p3/, pp. 1-6.

Philipp Niemann, et al., " On the "Q" in QMDDs: Efficient Representation of Quantum Functionality in the QMDD Data-structure ", Proceedings of the 5th international conference on Reversible Computation, Jul. 2013, Source: http://www.informatik.uni-bremen.de/agra/doc/konf/13_rc_eff_qmdd_representation.pdf, pp. 125-140.

Sebastian Anthony, " Google's Quantum Computing Playground turns your PC into a quantum computer ", Extremetech, May 2014, Source: https://www.extremetech.com/extreme/182913-googles-quantum-computing-playground-turns-your-pc-into-a-quantum-cornputer, pp. 1-3.

Svore, K. M., et al., A Layered Software Architecture for Quantum Computing Design Tools, Computer (vol. 39, Issue: 1, Jan. 2006), pp. 74-83, [retrieved on Nov. 19, 2018], Retrieved from the Internet.

*

U.S. Appl. No. 15/814,301, filed Nov. 15, 2017, David R. Richardson et al.

U.S. Appl. No. 15/814,304, filed Nov. 15, 2017, David R. Richardson et al.

U.S. Appl. No. 15/814,305, filed Nov. 15, 2017, David R. Richardson et al.

Zeiter, D., A graphical development environment for quantum algorithms, Master's Thesis, Sep. 3, 2008, 51 pages, [ retrieved on Nov. 19, 2018], Retrieved from the Internet.

*

Cited By (80)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

WO2024075108A1

( en )

*

2014-09-09

2024-04-11

Classiq Technologies LTD.

Selecting a quantum computer

US11170137B1

( en )

*

2017-11-15

2021-11-09

Amazon Technologies, Inc.

Cloud-based simulation of quantum computing resources

US11775855B2

( en )

2017-11-15

2023-10-03

Amazon Technologies, Inc.

Service for managing quantum computing resources

US11194573B1

( en )

*

2018-02-09

2021-12-07

Rigetti &amp; Co, Llc

Streaming execution for a quantum processing system

US11829753B1

( en )

2018-02-09

2023-11-28

Rigetti &amp; Co, Llc

Streaming execution for a quantum processing system

US11567762B1

( en )

2018-02-09

2023-01-31

Rigetti &amp; Co, Llc

Streaming execution for a quantum processing system

US11010145B1

( en )

*

2018-02-21

2021-05-18

Rigetti &amp; Co, Inc.

Retargetable compilation for quantum computing systems

US12039234B2

( en )

*

2018-05-05

2024-07-16

Intel Corporation

Apparatus and method for quantum computing performance simulation

US20220343039A1

( en )

*

2018-05-05

2022-10-27

Intel Corporation

Apparatus and method for quantum computing performance simulation

US11308248B2

( en )

*

2018-05-05

2022-04-19

Intel Corporation

Apparatus and method for quantum computing performance simulation

US11295226B2

( en )

*

2018-08-30

2022-04-05

Red Hat, Inc.

Optimization recommendation services for quantum computing

US11144334B2

( en )

2018-12-20

2021-10-12

Red Hat, Inc.

Quantum computer task manager

US20200218518A1

( en )

*

2019-01-07

2020-07-09

International Business Machines Corporation

Quantum circuit compilation with quantum libraries as a service

US10831455B2

( en</spa

Related documents

Record · ID 607104
Retrieved via Conceptio — every document is proof-bundled with source, license, and retrieval metadata.