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.
Similar content being viewed by others
Notes
Dataset:https://bit.ly/3I9xohu
Introducing Hexagon backend: https://discuss.tvm.apache.org/t/introducing-hexagon-backend/2421
Use TVM for TI DSP: https://discuss.tvm.apache.org/t/use-tvm-for-ti-dsp/1200
Apache TVM Community: https://discuss.tvm.apache.org/
Glow discussion forum: https://discuss.pytorch.org/c/glow/10
Tensor Comprehensions slack channel: https://tensorcomprehensions.slack.com/
Install from Source: https://tvm.apache.org/docs/install/from_source.html
C++ doyxgen API: https://tvm.apache.org/docs/api/doxygen/index.html
TVM Change LOG: https://github.com/apache/tvm/blob/main/NEWS.md
TVM Community Guideline: https://tvm.apache.org/docs/contribute/community.html#reviewers
References
Abadi M, Barham P, Chen J, Chen Z, Davis A, Dean J, Devin M, Ghemawat S, Irving G, Isard M, Kudlur M, Levenberg J, Monga R, Moore S, Murray D G, Steiner B, Tucker P, Vasudevan V, Warden P, Wicke M, Yu Y, Zheng X (2016) Tensorflow: a system for large-scale machine learning. In: Proceedings of the 12th USENIX conference on operating systems design and implementation, USENIX Association, USA, OSDI’16, pp 265–283
Abdelfattah M S, Han D, Bitar A, DiCecco R, O’Connell S, Shanker N, Chu J, Prins I, Fender J, Ling A C, Chiu G R (2018) Dla: compiler and fpga overlay for neural network inference acceleration. In: 2018 28th International conference on field programmable logic and applications (FPL). https://doi.org/10.1109/FPL.2018.00077, pp 411–4117
Badue C, Guidolini R, Carneiro R V, Azevedo P, Cardoso V B, Forechi A, Jesus L, Berriel R, Paixão T M, Mutz F, de Paula Veronese L, Oliveira-Santos T, De Souza A F (2021) Self-driving cars: a survey. Expert Syst Appl 113816:165. https://doi.org/10.1016/j.eswa.2020.113816. http://www.sciencedirect.com/science/article/pii/S095741742030628X
Bagherzadeh M, Khatchadourian R (2019) Going big: a large-scale study on what big data developers ask. In: Proceedings of the 2019 27th ACM joint meeting on European software engineering conference and symposium on the foundations of software engineering, ESEC/FSE 2019. https://doi.org/10.1145/3338906.3338939. Association for Computing Machinery, New York, pp 432–442
Berg B L, Lune H, Lune H (2004) Qualitative research methods for the social sciences, vol 5. Pearson, Boston
Boemer F, Lao Y, Cammarota R, Wierzynski C (2019) Ngraph-he: a graph compiler for deep learning on homomorphically encrypted data. In: Proceedings of the 16th ACM international conference on computing frontiers, CF ’19. https://doi.org/10.1145/3310273.3323047. Association for Computing Machinery, New York, pp 3–13
Chen T (2020) Language server tool to navigate across packedfunc ffi for ides like vscode and emacs. https://bit.ly/3oO6Qso, retrieved on December 9, 2020
Chen A, Chen PTH (2021) Demystifying the challenges and benefits of analyzing user-reported logs in bug reports. Empirical Software Engineering
Chen T, Moreau T, Jiang Z, Zheng L, Yan E, Cowan M, Shen H, Wang L, Hu Y, Ceze L, Guestrin C, Krishnamurthy A (2018a) Tvm: an automated end-to-end optimizing compiler for deep learning. In: Proceedings of the 13th USENIX conference on operating systems design and implementation, USENIX Association, USA, OSDI’18, pp 579–594
Chen T, Zheng L, Yan E, Jiang Z, Moreau T, Ceze L, Guestrin C, Krishnamurthy A (2018b) Learning to optimize tensor programs. In: Proceedings of the 32nd international conference on neural information processing systems, NIPS’18. Curran Associates Inc., Red Hook, pp 3393–3404
Chen Z, Cao Y, Liu Y, Wang H, Xie T, Liu X (2020) A comprehensive study on challenges in deploying deep learning based software. In: Proceedings of the 28th ACM joint meeting on European software engineering conference and symposium on the foundations of software engineering, ESEC/FSE 2020. https://doi.org/10.1145/3368089.3409759. Association for Computing Machinery, New York, pp 750–762
Cohen J (1960) A coefficient of agreement for nominal scales. Educ Psychol Meas 20(1):37–46. https://doi.org/10.1177/001316446002000104
Cyphers S, Bansal A K, Bhiwandiwalla A, Bobba J, Brookhart M, Chakraborty A, Constable W, Convey C, Cook L, Kanawi O, Kimball R, Knight J, Korovaiko N, Vijay V K, Lao Y, Lishka C R, Menon J, Myers J, Narayana S A, Procter A, Webb T J (2018) Intel ngraph: an intermediate representation, compiler, and executor for deep learning. CoRR arXiv:1801.08058. 1801.08058
Deng L, Liu Y (2018) Deep learning in natural language processing. Springer, Berlin
Fakoor R, Ladhak F, Nazi A, Huber M (2013) Using deep learning to enhance cancer diagnosis and classification. In: Proceedings of the international conference on machine learning, vol 28. ACM, New York
Fischer M, Pinzger M, Gall H (2003) Analyzing and relating bug report data for feature tracking. In: 10th Working conference on reverse engineering, 2003. WCRE 2003. Proceedings. https://doi.org/10.1109/WCRE.2003.1287240, pp 90–99
Foundation A (2020) Mxxnet. https://mxnet.apache.org/, retrieved on January 4, 2021
Garcia J, Feng Y, Shen J, Almanee S, Xia Y, Chen Q A (2020) A comprehensive study of autonomous vehicle bugs. In: 2020 IEEE/ACM 42nd international conference on software engineering (ICSE), pp 385–396
Github search api (2021) https://docs.github.com/en/rest/reference/search, retrieved on May 10, 2021
Gulzar M A, Interlandi M, Yoo S, Tetali S D, Condie T, Millstein T, Kim M (2016) Bigdebug: debugging primitives for interactive big data processing in spark. In: Proceedings of the 38th international conference on software engineering, ICSE ’16. https://doi.org/10.1145/2884781.2884813. Association for Computing Machinery, New York, pp 784–795
Hemanth DJ, Estrela VV (2017) Deep learning for image processing applications, vol 31. IOS Press
Hoang V C D, Koehn P, Haffari G, Cohn T (2018) Iterative back-translation for neural machine translation. In: Proceedings of the 2nd workshop on neural machine translation and generation, pp 18–24
Humbatova N, Jahangirova G, Bavota G, Riccio V, Stocco A, Tonella P (2020) Taxonomy of real faults in deep learning systems. In: Proceedings of the ACM/IEEE 42nd international conference on software engineering, ICSE ’20. https://doi.org/10.1145/3377811.3380395. Association for Computing Machinery, New York, pp 1110–1121
Intel (2020) Accelerate fast math with intel oneapi math kernel library. https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html, retrieved on December 9, 2020
Islam M J, Nguyen G, Pan R, Rajan H (2019) A comprehensive study on deep learning bug characteristics. In: Proceedings of the 2019 27th ACM joint meeting on European software engineering conference and symposium on the foundations of software engineering. ESEC/FSE 2019. https://doi.org/10.1145/3338906.3338955. Association for Computing Machinery, New York, pp 510–520
Jouppi N P, Young C, Patil N, Patterson D, Agrawal G, Bajwa R, Bates S, Bhatia S, Boden N, Borchers A, Boyle R, Cantin PL, Chao C, Clark C, Coriell J, Daley M, Dau M, Dean J, Gelb B, Ghaemmaghami TV, Gottipati R, Gulland W, Hagmann R, Ho CR, Hogberg D, Hu J, Hundt R, Hurt D, Ibarz J, Jaffey A, Jaworski A, Kaplan A, Khaitan H, Killebrew D, Koch A, Kumar N, Lacy S, Laudon J, Law J, Le D, Leary C, Liu Z, Lucke K, Lundin A, MacKean G, Maggiore A, Mahony M, Miller K, Nagarajan R, Narayanaswami R, Ni R, Nix K, Norrie T, Omernick M, Penukonda N, Phelps A, Ross J, Ross M, Salek A, Samadiani E, Severn C, Sizikov G, Snelham M, Souter J, Steinberg D, Swing A, Tan M, Thorson G, Tian B, Toma H, Tuttle E, Vasudevan V, Walter R, Wang W, Wilcox E, Yoon DH (2017) In-datacenter performance analysis of a tensor processing unit. In: Proceedings of the 44th annual international symposium on computer architecture, ISCA ’17. https://doi.org/10.1145/3079856.3080246. Association for Computing Machinery, New York, pp 1–12
Kingsley-Hughes A (2017) Inside apple’s new a11 bionic processor. ZDNet, September
Lacey G, Taylor G W, Areibi S (2016) Deep learning on fpgas: past, present, and future. arXiv:160204283. https://arxiv.org/abs/1602.04283
Leary C, Wang T (2017) XLA: TensorFlow, Compiled!. TensorFlow Dev Summit 2017
LeCun Y (2019) 1.1 deep learning hardware: Past, present, and future. In: 2019 IEEE International Solid- State Circuits Conference—(ISSCC). https://doi.org/10.1109/ISSCC.2019.8662396, pp 12–19
Lecun Y, Bottou L, Bengio Y, Haffner P (1998) Gradient-based learning applied to document recognition. Proc IEEE 86(11):2278–2324. https://doi.org/10.1109/5.726791
Li M, Liu Y, Liu X, Sun Q, You X, Yang H, Luan Z, Gan L, Yang G, Qian D (2021) The deep learning compiler: a comprehensive survey. IEEE Trans Parallel Distrib Syst 32(3):708–727. https://doi.org/10.1109/TPDS.2020.3030548
Liu C, Yang J, Tan L, Hafiz M (2013) R2fix: automatically generating bug fixes from bug reports. In: 2013 IEEE Sixth international conference on software testing, verification and validation. https://doi.org/10.1109/ICST.2013.24, pp 282–291
Liu S, Du Z, Tao J, Han D, Luo T, Xie Y, Chen Y, Chen T (2016) Cambricon: an instruction set architecture for neural networks. In: 2016 ACM/IEEE 43rd annual international symposium on computer architecture (ISCA). IEEE, pp 393–405
Moreau T, Chen T, Jiang Z, Ceze L, Guestrin C, Krishnamurthy A (2018) VTA: an open hardware-software stack for deep learning. CoRR. arXiv:1807.04188. 1807.04188, 1807.04188
Nguyen G, Dlugolinsky S, Bobák M, Tran V, López García A, Heredia I, Malík P, Hluchy L (2019) Machine learning and deep learning frameworks and libraries for large-scale data mining: a survey. Artif Intell Rev 52(1):77–124. https://doi.org/10.1007/s10462-018-09679-z
NVIDIA (2020) Nvidia cudnn. https://developer.nvidia.com/cudnn, retrieved on December 9, 2020
ONNX (2020) Open nueral network exchange. https://onnx.ai/, retrieved on December 9, 2020
Paszke A, Gross S, Massa F, Lerer A, Bradbury J, Chanan G, Killeen T, Lin Z, Gimelshein N, Antiga L, Desmaison A, Köpf A, Yang E, DeVito Z, Raison M, Tejani A, Chilamkurthy S, Steiner B, Fang L, Bai J, Chintala S (2019) Pytorch: an imperative style, high-performance deep learning library. In: Wallach H M, Larochelle H, Beygelzimer A, d’Alché-Buc F, Fox E B, Garnett R (eds) Advances in neural information processing systems 32: annual conference on neural information processing systems 2019, neurIPS 2019, December 8–14, 2019. http://papers.nips.cc/paper/9015-pytorch-an-imperative-style-high-performance-deep-learning-library, Vancouver, pp 8024–8035
Ragan-Kelley J, Barnes C, Adams A, Paris S, Durand F, Amarasinghe S (2013) Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. SIGPLAN Not 48(6):519–530. https://doi.org/10.1145/2499370.2462176
Roesch J, Lyubomirsky S, Weber L, Pollock J, Kirisame M, Chen T, Tatlock Z (2018) Relay: a new ir for machine learning frameworks. In: Proceedings of the 2nd ACM SIGPLAN international workshop on machine learning and programming languages, MAPL 2018, p 58–68. https://doi.org/10.1145/3211346.3211348. Association for Computing Machinery, New York
Rotem N, Fix J, Abdulrasool S, Deng S, Dzhabarov R, Hegeman J, Levenstein R, Maher B, Satish N, Olesen J, Park J, Rakhov A, Smelyanskiy M (2018) Glow: graph lowering compiler techniques for neural networks. CoRR arXiv:1805.00907. 1805.00907, 1805.00907
Rumelhart D E, Hinton G E, Williams R J (1986) Learning representations by back-propagating errors. Nature 323(6088):533–536
Saha R K, Lease M, Khurshid S, Perry D E (2013) Improving bug localization using structured information retrieval. In: 2013 28th IEEE/ACM International conference on automated software engineering (ASE). https://doi.org/10.1109/ASE.2013.6693093, pp 345–355
Schmidhuber J, Hochreiter S (1997) Long short-term memory. Neural Comput 9(8):1735–1780
Tompson J, Schlachter K (2012) An introduction to the opencl programming model
TVM (2020a) About vta. https://tvm.apache.org/vta, retrieved on December 9, 2020
TVM (2020b) Dive into deep learning compiler. https://tvm.d2l.ai/, retrieved on December 9, 2020
TVM (2020c) Tvm language reference. https://tvm.apache.org/docs/langref/index.html, retrieved on December 9, 2020
TVM (2020d) Tvm start up tutorial. https://tvm.apache.org/docs/tutorials, retrieved on December 9, 2020
TVMConf (2019) Tvm conference keynote. https://tvmconf.org/slides/2019/tvmconf-keynote-dec19.pdf, retrieved on December 9, 2020
TvmDeveloper (2018a) Datalayout structure. https://discuss.tvm.apache.org/t/datalayout-structure/80, retrieved on December 9, 2020
TvmDeveloper (2018b) Int8 quantization proposal. https://discuss.tvm.apache.org/t/int8-quantization-proposal/516, retrieved on December 9, 2020
TvmDeveloper (2018c) Tvm benchmark. https://github.com/apache/tvm/wiki/Benchmark, retrieved on December 9, 2020
TVMDeveloper (2019) Improving quantization accuracy with more precise bias. https://discuss.tvm.apache.org/t/improving-quantization-accuracy-with-more-precise-bias/2444, retrieved on December 9, 2020
TvmDeveloper (2020a) Naming consistency: util vs utils. https://discuss.tvm.apache.org/t/naming-consistency-util-vs-utils/6434, retrieved on December 9, 2020
TvmDeveloper (2020b) Tvm docs: deploy and integration. https://tvm.apache.org/docs/deploy/index.html, retrieved on December 9, 2020
TvmDeveloper (2020c) Tvm documents: runtime. https://tvm.apache.org/docs/dev/runtime.html#module, retrieved on December 9, 2020
TvmDocs (2020) Pattern matching in relay. https://tvm.apache.org/docs/langref/relay_pattern.html#pattern-language-design, retrieved on December 9, 2020
TvmUser (2018a) [autotvm] localrunner not working on windows. https://discuss.tvm.apache.org/t/autotvm-localrunner-not-working-on-windows/969, retrieved on December 9, 2020
TvmUser (2018b) [compiler] cannot compile operator mean for cuda target. https://discuss.tvm.apache.org/t/compiler-cannot-compile-operator-mean-for-cuda-target/1110, retrieved on December 9, 2020
TvmUser (2018c) Global sync across different blocks in ir builder. https://discuss.tvm.apache.org/t/global-sync-across-different-blocks-in-ir-builder/477, retrieved on December 9, 2020
TvmUser (2018d) How to load and read the.params in big endian system? https://discuss.tvm.apache.org/t/how-to-load-and-read-the-params-in-big-endian-system/203, retrieved on December 9, 2020
TvmUser (2018e) Int8 quantization proposal. https://discuss.tvm.apache.org/t/int8-quantization-proposal/516, retrieved on December 9, 2020
TvmUser (2018f) Registering operator attributes for relay pattern matching. https://discuss.tvm.apache.org/t/registering-operator-attributes-for-relay-pattern-matching/8894, retrieved on December 9, 2020
TvmUser (2018g) [solved] how to export model library to so file instead of tar for armv7 on x86 box. https://discuss.tvm.apache.org/t/solved-how-to-export-model-library-to-so-file-instead-of-tar-for-armv7-on-x86-box/970, retrieved on December 9, 2020
TvmUser (2019a) Compile official mobilenet onnx, get a very slow performance. https://discuss.tvm.apache.org/t/compile-official-mobilenet-onnx-get-a-very-slow-performance/2839, retrieved on December 9, 2020
TvmUser (2019b) [cuda]got error: Cuda error launch out of resources. https://discuss.tvm.apache.org/t/cuda-got-error-cuda-error-launch-out-of-resources/4173, retrieved on December 9, 2020
TvmUser (2019c) An error when doing autotune tensorflow net uisng opencl on intel integrated graphics. https://discuss.tvm.apache.org/t/an-error-when-doing-autotune-tensorflow-net-uisng-opencl-on-intel-integrated-graphics/4143https://discuss.tvm.apache.org/t/an-error-when-doing-autotune-tensorflow-net-uisng-opencl-on-intel-integrated-graphics/4143, retrieved on December 9, 2020
TvmUser (2019d) [frontend] tensorflow op: Fifoqueuev2 and queuedequeuemanyv2 are not supported. https://discuss.tvm.apache.org/t/frontend-tensorflow-op-fifoqueuev2-and-queuedequeuemanyv2-are-not-supported/1596, retrieved on December 9, 2020
TvmUser (2019e) Limit cpu cores for auto tuned model. https://discuss.tvm.apache.org/t/limit-cpu-cores-for-auto-tuned-model/2384, retrieved on December 9, 2020
TvmUser (2019f) [quantization] how to quantize transpose and nn.pad operators? https://discuss.tvm.apache.org/t/quantization-how-to-quantize-transpose-and-nn-pad-operators/3861, retrieved on December 9, 2020
TvmUser (2019g) Ssd gluoncv: incorrect inference result on opencl arm mali. https://discuss.tvm.apache.org/t/ssd-gluoncv-incorrect-inference-result-on-opencl-arm-mali/2848, retrieved on December 9, 2020
TvmUser (2019h) Tensorarray globalvar and globaltypevar confusion. https://discuss.tvm.apache.org/t/tensorarray-globalvar-and-globaltypevar-confusion/4567, retrieved on December 9, 2020
TvmUser (2019i) What’s the difference between build() and create_executor() in tvm.relay.build_module? https://discuss.tvm.apache.org/t/whats-the-difference-between-build-and-create-executor-in-tvm-relay-build-module/1967, retrieved on December 9, 2020
TvmUser (2019j) What’s the model bias in tvm paper. https://discuss.tvm.apache.org/t/whats-the-model-bias-in-tvm-paper/2963, retrieved on December 9, 2020
TvmUser (2020a) Can tvm now support batched inference? autotvm runs twice as long as tensorflow. https://discuss.tvm.apache.org/t/can-tvm-now-support-batched-inference-autotvm-runs-twice-as-long-as-tensorflow/6405, retrieved on December 9, 2020
TvmUser (2020b) Complex pattern matching in relay. https://discuss.tvm.apache.org/t/complex-pattern-matching-in-relay/5633, retrieved on December 9, 2020
TvmUser (2020c) [resolved][performance regression] migrate all low-level passes to the pass manager pr causing regression. https://discuss.tvm.apache.org/t/resolved-performance-regression-migrate-all-low-level-passes-to-the-pass-manager-pr-causing-regression/6246, retrieved on December 9, 2020
TvmUser (2020d) [rfc] improve pull requests with respect to bug fixes. https://discuss.tvm.apache.org/t/rfc-improve-pull-requests-with-respect-to-bug-fixes/6529, retrieved on December 9, 2020
TvmUser (2020e) Rocm ’segmentation fault’ error when auto-tuning. https://discuss.tvm.apache.org/t/autotvm-stuck-during-tuning/6011, retrieved on December 9, 2020
TvmUser (2020f) Rpc error for large arrays. https://discuss.tvm.apache.org/t/rpc-error-for-large-arrays/6591, retrived on December 9, 2020
TvmUser (2020g) Same shape pattern. https://discuss.tvm.apache.org/t/same-shape-pattern/7012, retrieved on December 9, 2020
TvmUser (2020h) Support for tvm relay with wasm runtime. https://discuss.tvm.apache.org/t/support-for-tvm-relay-with-wasm-runtime/6765, retrieved on December 9, 2020
TvmUser (2020i) Where is dldatatype defined? https://discuss.tvm.apache.org/t/where-is-dldatatype-defined/6071, retrieved on December 9, 2020
Vasilache N, Zinenko O, Theodoridis T, Goyal P, DeVito Z, Moses W S, Verdoolaege S, Adams A, Cohen A (2018) Tensor comprehensions: framework-agnostic high-performance machine learning abstractions. arXiv:1802.04730. 1802.04730, 1802.04730
Wang S, Lo D (2016) Amalgam+: composing rich information sources for accurate bug localization. J Softw Evol Process 28(10):921–942. https://doi.org/10.1002/smr.1801
Wang X, Tu Z, Wang L, Shi S (2020) Tencent ai lab machine translation systems for the wmt20 biomedical translation task. In: Proceedings of the fifth conference on machine translation, pp 881–886
Xing Y, Weng J, Wang Y, Sui L, Shan Y, Wang Y (2019) An in-depth comparison of compilers for deep neural networks on hardware, pp 1–8. https://doi.org/10.1109/ICESS.2019.8782480
Zhang Y, Chen Y, Cheung S C, Xiong Y, Zhang L (2018) An empirical study on tensorflow program bugs. In: Proceedings of the 27th ACM SIGSOFT international symposium on software testing and analysis, ISSTA 2018. https://doi.org/10.1145/3213846.3213866. Association for Computing Machinery, New York, pp 129–140
Zhang T, Gao C, Ma L, Lyu M, Kim M (2019) An empirical study of common challenges in developing deep learning applications. In: 2019 IEEE 30th international symposium on software reliability engineering (ISSRE). https://doi.org/10.1109/ISSRE.2019.00020, pp 104–115
Zhang X, Xie X, Ma L, Du X, Hu Q, Liu Y, Zhao J, Sun M (2020) Towards characterizing adversarial defects of deep learning software from the lens of uncertainty. In: Proceedings of the ACM/IEEE 42nd international conference on software engineering, ICSE ’20. https://doi.org/10.1145/3377811.3380368. Association for Computing Machinery, New York, pp 739–751
Zimmermann T, Premraj R, Bettenburg N, Just S, Schroter A, Weiss C (2010) What makes a good bug report? IEEE Trans Softw Eng 36 (5):618–643. https://doi.org/10.1109/TSE.2010.63
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
Corresponding author
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.
About this article
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
Accepted:
Published:
DOI: https://doi.org/10.1007/s10664-022-10221-7