Skip to main content
Log in

On the usage and development of deep learning compilers: an empirical study on TVM

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Recent advances in deploying deep learning (DL) models have inspired the innovation of DL compilers from both industry and academia such as Facebook Glow and TVM. Given the importance of DL compilers, we seek for answering the important question to ease the adoption and development of TVM: What challenges do users face when using DL compilers and what are common challenges for developers when developing DL compilers. This paper presents the first empirical study on identifying the challenges in both usage and development of a DL compiler. We choose TVM as the representative DL compiler and manually inspect 347 sampled posts from its official discuss forum. We identify a taxonomy of challenges in usage of TVM consisting of 15 categories and seven types of common topics about developing TVM. Furthermore, we characterize TVM bugs in total of four impacts to obtain an initial understanding on defects of TVM through manual inspection of 44 bug reports and propose five implications for both developers and researchers in order to improve the development practices and build more robust DL compilers.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. Dataset:https://bit.ly/3I9xohu

  2. Introducing Hexagon backend: https://discuss.tvm.apache.org/t/introducing-hexagon-backend/2421

  3. Use TVM for TI DSP: https://discuss.tvm.apache.org/t/use-tvm-for-ti-dsp/1200

  4. Apache TVM Community: https://discuss.tvm.apache.org/

  5. Glow discussion forum: https://discuss.pytorch.org/c/glow/10

  6. Tensor Comprehensions slack channel: https://tensorcomprehensions.slack.com/

  7. OPENVINO forum: https://community.intel.com/t5/Intel-Distribution-of-OpenVINO/bd-p/distribution-openvino-toolkit

  8. https://discuss.tvm.apache.org/t/request-for-invite-to-the-slack-channel/2888/17

  9. Install from Source: https://tvm.apache.org/docs/install/from_source.html

  10. https://discuss.tvm.apache.org/t/cant-run-rpc-gpu-tutorial-on-my-own-device/564/9

  11. https://discuss.tvm.apache.org/t/solved-qeustions-about-gpu-memory-usage/5309

  12. C++ doyxgen API: https://tvm.apache.org/docs/api/doxygen/index.html

  13. https://bit.ly/3nbNNH5

  14. https://discuss.tvm.apache.org/t/how-should-you-index-dltensors-in-c-for-the-multi-dimensional-case/6257

  15. https://discuss.tvm.apache.org/t/can-tvm-now-support-dynamic-shaped-tensors/5094

  16. https://github.com/apache/tvm/graphs/contributors

  17. https://github.com/apache/tvm/pull/2116#issuecomment-444726352

  18. https://discuss.tvm.apache.org/t/rfc-incorporate-existing-relay-aot-compiler-in-mainline/7393

  19. https://discuss.tvm.apache.org/t/discuss-contributing-new-docs-for-inferbound/2151

  20. https://tvm.apache.org/docs/contribute/community.html#general-development-process

  21. https://facebookresearch.github.io/TensorComprehensions/installation.html#advanced-development-mode-installation

  22. https://bit.ly/3I9xohu

  23. TVM Change LOG: https://github.com/apache/tvm/blob/main/NEWS.md

  24. TVM Community Guideline: https://tvm.apache.org/docs/contribute/community.html#reviewers

References

Download references

Acknowledgements

This work was supported by JST, the establishment of university fellowships towards the creation of science technology innovation, Grant Number JPMJFS2132.

Funding

No funding was received to assist with the preparation of this manuscript

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xiongfei Wu.

Ethics declarations

Competing Interests

: The authors have no competing interests to declare that are relevant to the content of this article. The authors declare no conflict of interests with the suggested reviewers for this article.

Additional information

Communicated by: Shaowei Wang, Tse-Hsun (Peter) Chen, Sebastian Baltes, Ivano Malavolta, Christoph Treude, Alexander Serebrenik

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article belongs to the Topical Collection: Collective Knowledge in Software Engineering

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wu, X., Yang, J., Ma, L. et al. On the usage and development of deep learning compilers: an empirical study on TVM. Empir Software Eng 27, 172 (2022). https://doi.org/10.1007/s10664-022-10221-7

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10664-022-10221-7

Keywords

Navigation