Development environment for programming quantum computing resources
US-10592216-B1 · Mar 17, 2020 · US
US11314908B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11314908-B2 |
| Application number | US-201916424897-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 29, 2019 |
| Priority date | May 29, 2019 |
| Publication date | Apr 26, 2022 |
| Grant date | Apr 26, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A repository is configured in a hybrid data processing environment comprising a classical computing system and a quantum computing system, to hold a plurality of quantum circuit components (QCC(s)). A degree of difficulty in simulating the received QCC in the classical computing system is transformed into a classical hardness score. A degree of difficulty in implementing the received QCC in the quantum computing system is transformed into a quantum hardness score. A first parameter in a metadata data structure associated with the received QCC is populated with the classical hardness score. A second parameter in the metadata data structure associated with the received QCC is populated with the quantum hardness score. The received QCC is transformed into a library element by at least augmenting the received QCC with the metadata data structure. The library element is added to the repository.
Opening claim text (preview).
What is claimed is: 1. A method comprising: configuring, in a hybrid data processing environment comprising a classical computing system and a quantum computing system, a repository to hold a plurality of quantum circuit components (QCC(s)); transforming into a classical hardness score, for a received QCC, a degree of difficulty in simulating the received QCC in the classical computing system; transforming into a quantum hardness score, for the received QCC, a degree of difficulty in implementing the received QCC in the quantum computing system; populating a first parameter in a metadata data structure associated with the received QCC, the classical hardness score corresponding to the received QCC; populating a second parameter in the metadata data structure associated with the received QCC, the quantum hardness score corresponding to the received QCC; transforming the received QCC into a library element, wherein the transforming comprises at least augmenting the received QCC with the metadata data structure; and adding the library element to the repository. 2. The method of claim 1 , further comprising: simulating the received QCC in the classical computing system, the simulating producing the degree of difficulty in simulating the received QCC. 3. The method of claim 1 , further comprising: receiving a quantum circuit (QC); and partitioning the QC into a set of QCCs, the received QCC being a member of the set of QCCs. 4. The method of claim 3 , further comprising: receiving descriptive information in conjunction with the QC, the descriptive information comprising a contributor's degree of difficulty in simulating the QC in a contributor's classical system, and wherein the contributor's degree of difficulty is used as the degree of difficulty in simulating the received QCC in the classical computing system. 5. The method of claim 3 , further comprising: receiving descriptive information in conjunction with the QC, the descriptive information comprising a contributor's degree of difficulty in simulating the QC in a contributor's classical system; validating the contributor's degree of difficulty by simulating the QCC in the classical computing system, and wherein the degree of difficulty in simulating the received QCC in the classical computing system overrides the contributor's degree of difficulty. 6. The method of claim 3 , further comprising: receiving descriptive information in conjunction with the QC, the descriptive information comprising a contributor's degree of difficulty in implementing the QC in a contributor's quantum system, and wherein the contributor's degree of difficulty is used as the degree of difficulty in implementing the received QCC in the quantum computing system. 7. The method of claim 3 , further comprising: receiving descriptive information in conjunction with the QC, the descriptive information comprising a contributor's degree of difficulty in implementing the QC in a contributor's quantum system; validating the contributor's degree of difficulty by implementing the QCC in the quantum computing system, and wherein the degree of difficulty in implementing the received QCC in the quantum computing system overrides the contributor's degree of difficulty. 8. The method of claim 1 , further comprising: implementing the received QCC in the quantum computing system, the implementing producing the degree of difficulty in implementing the received QCC. 9. The method of claim 1 , further comprising: associating with the received QCC, the metadata data structure, the metadata data structure comprising a plurality of parameters, the plurality of parameters including the first parameter and the second parameter. 10. The method of claim 9 , wherein the metadata data structure comprises a plurality of instances of a third parameter, each instance of the third parameter being a new data structure. 11. The method of claim 1 , wherein the metadata data structure further comprises a third parameter, a value of the third parameter describing a computational functionality implemented by the received QCC. 12. The method of claim 11 , wherein the computational functionality is described as a graph, the value of the third parameter comprising a set of vertices and angles between pairs of vertices. 13. The method of claim 1 , wherein the metadata data structure further comprises a third parameter, a value of the third parameter comprising a circuit specification of the received QCC. 14. The method of claim 13 , wherein the circuit specification is specified in a quantum assembly language (QASM). 15. The method of claim 1 , wherein the metadata data structure further comprises a third parameter, a value of the third parameter comprising a figure of merit of the received QCC. 16. The method of claim 15 , wherein the figure of merit is a gate count of the received QCC. 17. The method of claim 16 , wherein the figure of merit comprises an expected gate count at runtime of the received QCC. 18. The method of claim 16 , wherein the figure of merit is a circuit depth of the received QCC. 19. The method of claim 16 , wherein the figure of merit an expected circuit depth at runtime of the received QCC. 20. The method of claim 1 , further comprising: optimizing the received QCC, as a part of transforming the received QCC, to form an optimized QCC, wherein the library element comprises the optimized QCC and the metadata structure, wherein the classical hardness score corresponding to the received QCC is a classical hardness score corresponding to the optimized QCC, and wherein the classical hardness score corresponding to the received QCC is a classical hardness score corresponding to the optimized QCC. 21. The method of claim 1 , wherein the adding causes one operation from a set of operations, the set of operations comprising (i) an older version of the library element is deleted, (ii) the older version of the library element is overwritten, and (iii) the older version of the library element is preserved and the library element is added as a new version of the older library element. 22. A computer usable program product comprising one or more computer-readable storage media, and program instructions stored on at least one of the one or more storage media, the stored program instructions comprising: program instructions to configure, in a hybrid data processing environment comprising a classical computing system and a quantum computing system, a repository to hold a plurality of quantum circuit components (QCC(s)); program instructions to transform into a classical hardness score, for a received QCC, a degree of difficulty in simulating the received QCC in the classical computing system; program instructions to transform into a quantum hardness score, for the received QCC, a degree of difficulty in implementing the received QCC in the quantum computing system; program instructions to populate a first parameter in a metadata data structure associated with the received QCC, the classical hardness score corresponding to the received QCC; program instructions to populate a second parameter in the metadata data structure associated with the received QCC, the quantum hardness score corresponding to the received QCC; program instructions to transform the received QCC into a library element, wherein the transforming comprises at least augmenting the received QCC with the metadata data structure; and program instructions to add the library element to the repositor
Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing · CPC title
Models of quantum computing, e.g. quantum circuits or universal quantum computers · CPC title
using particle-based methods · CPC title
Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title
CAD in a network environment, e.g. collaborative CAD or distributed simulation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.