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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
The framework can be found at http://www.github.com/UST-QuAntiL/Qverview.
- 3.
QPUs are grouped by their respective vendor.
References
Abraham, H., et al.: Qiskit: An Open-source Framework for Quantum Computing (2019). https://doi.org/10.5281/zenodo.2562110
Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, Oxford (1977)
Amazon Web Services Inc.: AWS Braket (2021). https://aws.amazon.com/braket
Amazon.com Inc.: aws-cli (2020). https://github.com/aws/aws-cli
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
Atos SE: qat.pylinalg: Python Linear-algebra simulator (2020). https://myqlm.github.io/myqlm_specific/qat-pylinalg.html
Atos SE: MyQLM (2021). https://atos.net/en/lp/myqlm
Bergholm, V., et al.: PennyLane: Automatic differentiation of hybrid quantum-classical computations (2020). arXiv preprint arXiv:1811.04968
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
Broughton, M., et al.: TensorFlow Quantum: A Software Framework for Quantum Machine Learning (2020). arXiv preprint arXiv:2003.02989
Developers, Cirq: Cirq (2021). https://doi.org/10.5281/zenodo.4062499
Cross, A.W., Bishop, L.S., Smolin, J.A., Gambetta, J.M.: Open Quantum Assembly Language (2017). arXiv preprint arXiv:1707.03429
D-Wave Systems Inc.: dwave-ocean-sdk (2021). https://github.com/dwavesystems/dwave-ocean-sdk
D-Wave Systems Inc.: Leap (2021). https://dwavesys.com/take-leap
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
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
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
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
Gidney, C., Marwaha, K., Haugeland, J., ebraminio, Kalra, N.: Quirk: Quantum Circuit Simulator (2021). https://algassert.com/quirk
Gill, S.S., et al.: Quantum Computing: A Taxonomy, Systematic Review and Future Directions (2020). arXiv preprint arXiv:2010.15559
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
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
Heim, B., et al.: Quantum programming languages. Nat. Rev. Phys. 2(12), 709–722 (2020). https://doi.org/10.1038/s42254-020-00245-7
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
IBM: IBM Quantum Experience (2021). https://quantum-computing.ibm.com
Javadi-Abhari, A., et al.: Scaffold: Quantum Programming Language. Princeton University, NJ, Department of Computer Science, Technical report (2012)
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
Karalekas, P.J., et al.: PyQuil: Quantum programming in Python (2020). https://doi.org/10.5281/zenodo.3631770
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
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
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
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
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
McClean, J.R., et al.: OpenFermion: The Electronic Structure Package for Quantum Computers (2019). arXiv preprint arXiv:1710.07629
McKay, D.C., et al.: Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments (2018). arXiv preprint arXiv:1809.03452
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
Microsoft: Q# Language (2021). https://github.com/microsoft/qsharp-language
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
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
OMG: Business Process Model and Notation (BPMN) Version 2.0. Object Management Group (OMG) (2011)
Open Quantum Safe Project: liboqs (2021). https://openquantumsafe.org/liboqs/
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
Preskill, J.: Quantum computing in the NISQ era and beyond. Quantum 2, 79 (2018). https://doi.org/10.22331/q-2018-08-06-79
Quantiki: QC simulators (2021). https://quantiki.org/wiki/list-qc-simulators
Quantum Computing Report: Tools (2021). https://quantumcomputingreport.com/tools/
Rigetti Computing: Forest SDK (2019). https://pyquil-docs.rigetti.com/
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
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
Smith, R.S., Curtis, M.J., Zeng, W.J.: A Practical Quantum Instruction Set Architecture (2017). arXiv preprint arXiv:1608.03355
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
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
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
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
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
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)
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
Zapata Computing: Orquestra (2021). https://zapatacomputing.com/orquestra/
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
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)