Skip to main content

On Decision Support for Quantum Application Developers: Categorization, Comparison, and Analysis of Existing Technologies

  • Conference paper
  • First Online:
Computational Science – ICCS 2021 (ICCS 2021)

Abstract

Quantum computers have been significantly advanced in recent years. Offered as cloud services, quantum computers have become accessible to a broad range of users. Along with the physical advances, the landscape of technologies supporting quantum application development has also grown rapidly in recent years. However, there is a variety of tools, services, and techniques available for the development of quantum applications, and which ones are best suited for a particular use case depends, among other things, on the quantum algorithm and quantum hardware. Thus, their selection is a manual and cumbersome process. To tackle this challenge, we introduce a categorization and a taxonomy of available tools, services, and techniques for quantum application development to enable their analysis and comparison. Based on that we further present a comparison framework to support quantum application developers in their decision for certain technologies.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://qosf.org.

  2. 2.

    The framework can be found at http://www.github.com/UST-QuAntiL/Qverview.

  3. 3.

    QPUs are grouped by their respective vendor.

References

  1. Abraham, H., et al.: Qiskit: An Open-source Framework for Quantum Computing (2019). https://doi.org/10.5281/zenodo.2562110

  2. Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, Oxford (1977)

    Google Scholar 

  3. Amazon Web Services Inc.: AWS Braket (2021). https://aws.amazon.com/braket

  4. Amazon.com Inc.: aws-cli (2020). https://github.com/aws/aws-cli

  5. Andrikopoulos, V., Gómez Sáez, S., Leymann, F., Wettinger, J.: Optimal distribution of applications in the cloud. In: Jarke, M., et al. (eds.) CAiSE 2014. LNCS, vol. 8484, pp. 75–90. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07881-6_6

    Chapter  Google Scholar 

  6. Atos SE: qat.pylinalg: Python Linear-algebra simulator (2020). https://myqlm.github.io/myqlm_specific/qat-pylinalg.html

  7. Atos SE: MyQLM (2021). https://atos.net/en/lp/myqlm

  8. Bergholm, V., et al.: PennyLane: Automatic differentiation of hybrid quantum-classical computations (2020). arXiv preprint arXiv:1811.04968

  9. Bichsel, B., Baader, M., Gehr, T., Vechev, M.: Silq: a high-level quantum language with safe uncomputation and intuitive semantics. In: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 286–300. PLDI 2020. Association for Computing Machinery (2020). https://doi.org/10.1145/3385412.3386007

  10. Broughton, M., et al.: TensorFlow Quantum: A Software Framework for Quantum Machine Learning (2020). arXiv preprint arXiv:2003.02989

  11. Developers, Cirq: Cirq (2021). https://doi.org/10.5281/zenodo.4062499

  12. Cross, A.W., Bishop, L.S., Smolin, J.A., Gambetta, J.M.: Open Quantum Assembly Language (2017). arXiv preprint arXiv:1707.03429

  13. D-Wave Systems Inc.: dwave-ocean-sdk (2021). https://github.com/dwavesystems/dwave-ocean-sdk

  14. D-Wave Systems Inc.: Leap (2021). https://dwavesys.com/take-leap

  15. Farshidi, S., Jansen, S., de Jong, R., Brinkkemper, S.: A decision support system for cloud service provider selection problem in software producing organizations. In: 2018 IEEE 20th Conference on Business Informatics (CBI), vol. 01, pp. 139–148 (2018). https://doi.org/10.1109/CBI.2018.00024

  16. Fingerhuth, M., Babej, T., Wittek, P.: Open source software in quantum computing. PLoS One 13(12), e0208561 (2018). https://doi.org/10.1371/journal.pone.0208561

    Article  Google Scholar 

  17. Fu, X., et al.: eQASM: an executable quantum instruction set architecture. In: 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA), pp. 224–237 (2019). https://doi.org/10.1109/HPCA.2019.00040

  18. Garhwal, S., Ghorani, M., Ahmad, A.: Quantum programming language: a systematic review of research topic and top cited languages. Arch. Comput. Methods Eng. 28(2), 289–310 (2019). https://doi.org/10.1007/s11831-019-09372-6

    Article  MathSciNet  Google Scholar 

  19. Gidney, C., Marwaha, K., Haugeland, J., ebraminio, Kalra, N.: Quirk: Quantum Circuit Simulator (2021). https://algassert.com/quirk

  20. Gill, S.S., et al.: Quantum Computing: A Taxonomy, Systematic Review and Future Directions (2020). arXiv preprint arXiv:2010.15559

  21. Green, A.S., Lumsdaine, P.L., Ross, N.J., Selinger, P., Valiron, B.: Quipper: a scalable quantum programming language. In: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 333–342. PLDI 2013. Association for Computing Machinery (2013). https://doi.org/10.1145/2491956.2462177

  22. Hassija, V., et al.: Present landscape of quantum computing. IET Quant. Commun. 1(2), 42–48 (2020). https://doi.org/10.1049/iet-qtc.2020.0027

    Article  Google Scholar 

  23. Heim, B., et al.: Quantum programming languages. Nat. Rev. Phys. 2(12), 709–722 (2020). https://doi.org/10.1038/s42254-020-00245-7

    Article  Google Scholar 

  24. Häner, T., Steiger, D.S., Svore, K., Troyer, M.: A software methodology for compiling quantum programs. Quant. Sci. Technol. 3(2) (2018). https://doi.org/10.1088/2058-9565/aaa5cc

  25. IBM: IBM Quantum Experience (2021). https://quantum-computing.ibm.com

  26. Javadi-Abhari, A., et al.: Scaffold: Quantum Programming Language. Princeton University, NJ, Department of Computer Science, Technical report (2012)

    Google Scholar 

  27. Javadi-Abhari, A., et al.: ScaffCC: a framework for compilation and analysis of quantum computing programs. In: Proceedings of the 11th ACM Conference on Computing Frontiers, CF 2014. Association for Computing Machinery (2014). https://doi.org/10.1145/2597917.2597939

  28. Karalekas, P.J., et al.: PyQuil: Quantum programming in Python (2020). https://doi.org/10.5281/zenodo.3631770

  29. Killoran, N., et al.: Strawberry fields: a software platform for photonic quantum computing. Quantum 3, 129 (2019). https://doi.org/10.22331/q-2019-03-11-129

    Article  Google Scholar 

  30. LaRose, R.: Overview and comparison of gate level quantum software platforms. Quantum 3, 130 (2019). https://doi.org/10.22331/q-2019-03-25-130

    Article  Google Scholar 

  31. Leymann, F.: Towards a pattern language for quantum algorithms. In: Feld, S., Linnhoff-Popien, C. (eds.) QTOP 2019. LNCS, vol. 11413, pp. 218–230. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-14082-3_19

    Chapter  Google Scholar 

  32. Leymann, F., Barzen, J.: The bitter truth about gate-based quantum algorithms in the NISQ era. Quant. Sci. Technol. 1–28 (2020). https://doi.org/10.1088/2058-9565/abae7d

  33. McCaskey, A.J., Lyakh, D.I., Dumitrescu, E.F., Powers, S.S., Humble, T.S.: XACC: a system-level software infrastructure for heterogeneous quantum–classical computing. Quant. Sci. Technolo. 5(2) (2020). https://doi.org/10.1088/2058-9565/ab6bf6

  34. McClean, J.R., et al.: OpenFermion: The Electronic Structure Package for Quantum Computers (2019). arXiv preprint arXiv:1710.07629

  35. McKay, D.C., et al.: Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments (2018). arXiv preprint arXiv:1809.03452

  36. Mell, P., Grance, T.: The NIST definition of cloud computing. Technical report. NIST SP 800–145, National Institute of Standards and Technology (2011). https://doi.org/10.6028/NIST.SP.800-145

  37. Microsoft: Q# Language (2021). https://github.com/microsoft/qsharp-language

  38. Miszczak, J.A.: Models of quantum computation and quantum programming languages. Bull. Pol. Acad. Sci. Tech. Sci. 59(3), 305–324 (2011). https://doi.org/10.2478/v10175-011-0039-5

    Article  MATH  Google Scholar 

  39. Murali, P., Baker, J.M., Javadi-Abhari, A., Chong, F.T., Martonosi, M.: Noise-adaptive compiler mappings for noisy intermediate-scale quantum computers. In: Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 1015–1029, ASPLOS 2019. Association for Computing Machinery (2019). https://doi.org/10.1145/3297858.3304075

  40. OMG: Business Process Model and Notation (BPMN) Version 2.0. Object Management Group (OMG) (2011)

    Google Scholar 

  41. Open Quantum Safe Project: liboqs (2021). https://openquantumsafe.org/liboqs/

  42. Paykin, J., Rand, R., Zdancewic, S.: QWIRE: a core language for quantum circuits. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, pp. 846–858, POPL 2017. Association for Computing Machinery (2017). https://doi.org/10.1145/3009837.3009894

  43. Preskill, J.: Quantum computing in the NISQ era and beyond. Quantum 2, 79 (2018). https://doi.org/10.22331/q-2018-08-06-79

    Article  Google Scholar 

  44. Quantiki: QC simulators (2021). https://quantiki.org/wiki/list-qc-simulators

  45. Quantum Computing Report: Tools (2021). https://quantumcomputingreport.com/tools/

  46. Rigetti Computing: Forest SDK (2019). https://pyquil-docs.rigetti.com/

  47. Salm, M., Barzen, J., Breitenbücher, U., Leymann, F., Weder, B., Wild, K.: The NISQ analyzer: automating the selection of quantum computers for quantum algorithms. In: Dustdar, S. (ed.) SummerSOC 2020. CCIS, vol. 1310, pp. 66–85. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64846-6_5

    Chapter  Google Scholar 

  48. Sivarajah, S., Dilkes, S., Cowtan, A., Simmons, W., Edgington, A., Duncan, R.: t\(\vert \)ket\(\rangle \): a retargetable compiler for NISQ devices. Quant. Sci. Technol. 6(1) (2020). https://doi.org/10.1088/2058-9565/ab8e92

  49. Smith, R.S., Curtis, M.J., Zeng, W.J.: A Practical Quantum Instruction Set Architecture (2017). arXiv preprint arXiv:1608.03355

  50. Smith, R.S., Peterson, E.C., Davis, E.J., Skilbeck, M.G.: quilc: An Optimizing Quil Compiler (2020). https://doi.org/10.5281/zenodo.3677537

  51. Steiger, D.S., Häner, T., Troyer, M.: ProjectQ: an open source software framework for quantum computing. Quantum 2, 49 (2018). https://doi.org/10.22331/q-2018-01-31-49

    Article  Google Scholar 

  52. Weder, B., Barzen, J., Leymann, F., Salm, M., Vietz, D.: The quantum software lifecycle. In: Proceedings of the 1st ACM SIGSOFT International Workshop on Architectures and Paradigms for Engineering Quantum Software (APEQS 2020), pp. 2–9. ACM (2020). https://doi.org/10.1145/3412451.3428497

  53. Weder, B., Breitenbücher, U., Leymann, F., Wild, K.: Integrating quantum computing into workflow modeling and execution. In: Proceedings of the 13th IEEE/ACM International Conference on Utility and Cloud Computing (UCC 2020), pp. 279–291. IEEE Computer Society (2020). https://doi.org/10.1109/UCC48980.2020.00046

  54. Weerasiri, D., Barukh, M.C., Benatallah, B., Sheng, Q.Z., Ranjan, R.: A taxonomy and survey of cloud resource orchestration techniques. ACM Comput. Surv. 50(2) (2017). https://doi.org/10.1145/3054177

  55. Weigold, M., Barzen, J., Salm, M., Leymann, F.: Data encoding patterns for quantum computing. In: Proceedings of the 27th Conference on Pattern Languages of Programs. The Hillside Group (2021, accepted for publication)

    Google Scholar 

  56. Wurster, M., et al.: The essential deployment metamodel: a systematic review of deployment automation technologies. SICS Softw. Intensive Cyber-Phys. Syst. 35, 63–75 (2019). https://doi.org/10.1007/s00450-019-00412-x

    Article  Google Scholar 

  57. Zapata Computing: Orquestra (2021). https://zapatacomputing.com/orquestra/

Download references

Acknowledgments

This work was partially funded by the BMWi project PlanQK (01MK20005N) as well as the WM BW project SEQUOIA.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Vietz .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Vietz, D., Barzen, J., Leymann, F., Wild, K. (2021). On Decision Support for Quantum Application Developers: Categorization, Comparison, and Analysis of Existing Technologies. In: Paszynski, M., Kranzlmüller, D., Krzhizhanovskaya, V.V., Dongarra, J.J., Sloot, P.M.A. (eds) Computational Science – ICCS 2021. ICCS 2021. Lecture Notes in Computer Science(), vol 12747. Springer, Cham. https://doi.org/10.1007/978-3-030-77980-1_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-77980-1_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-77979-5

  • Online ISBN: 978-3-030-77980-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics