{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,1]],"date-time":"2026-06-01T20:37:02Z","timestamp":1780346222500,"version":"3.54.1"},"reference-count":77,"publisher":"Association for Computing Machinery (ACM)","issue":"10","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2021,6]]},"abstract":"<jats:p>Deep Learning (DL) has created a growing demand for simpler ways to develop complex models and efficient ways to execute them. Thus, a significant effort has gone into frameworks like PyTorch or TensorFlow to support a variety of DL models and run efficiently and seamlessly over heterogeneous and distributed hardware. Since these frameworks will continue improving given the predominance of DL workloads, it is natural to ask what else can be done with them. This is not a trivial question since these frameworks are based on the efficient implementation of tensors, which are well adapted to DL but, in principle, to nothing else. In this paper we explore to what extent Tensor Computation Runtimes (TCRs) can support non-ML data processing applications, so that other use cases can take advantage of the investments made on TCRs. In particular, we are interested in graph processing and relational operators, two use cases very different from ML, in high demand, and complement quite well what TCRs can do today. Building on HUMMINGBIRD, a recent platform converting traditional machine learning algorithms to tensor computations, we explore how to map selected graph processing and relational operator algorithms into tensor computations. Our vision is supported by the results: our code often outperforms custom-built C++ and CUDA kernels, while massively reducing the development effort, taking advantage of the cross-platform compilation capabilities of TCRs.<\/jats:p>","DOI":"10.14778\/3467861.3467869","type":"journal-article","created":{"date-parts":[[2021,10,26]],"date-time":"2021-10-26T16:17:12Z","timestamp":1635265032000},"page":"1797-1804","source":"Crossref","is-referenced-by-count":29,"title":["Tensors"],"prefix":"10.14778","volume":"14","author":[{"given":"Dimitrios","family":"Koutsoukos","sequence":"first","affiliation":[{"name":"ETH Zurich"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Supun","family":"Nakandala","sequence":"additional","affiliation":[{"name":"UCSD"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Konstantinos","family":"Karanasos","sequence":"additional","affiliation":[{"name":"Microsoft"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Karla","family":"Saur","sequence":"additional","affiliation":[{"name":"Microsoft"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Gustavo","family":"Alonso","sequence":"additional","affiliation":[{"name":"ETH Zurich"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Matteo","family":"Interlandi","sequence":"additional","affiliation":[{"name":"Microsoft"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2021,10,26]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"2015. H2O Algorithms Roadmap. https:\/\/github.com\/h2oai\/h2o-3\/blob\/master\/h2o-docs\/src\/product\/flow\/images\/H2O-Algorithms-Road-Map.pdf.  2015. H2O Algorithms Roadmap. https:\/\/github.com\/h2oai\/h2o-3\/blob\/master\/h2o-docs\/src\/product\/flow\/images\/H2O-Algorithms-Road-Map.pdf."},{"key":"e_1_2_1_2_1","unstructured":"2018. CNTK. https:\/\/docs.microsoft.com\/en-us\/cognitive-toolkit\/.  2018. CNTK. https:\/\/docs.microsoft.com\/en-us\/cognitive-toolkit\/."},{"key":"e_1_2_1_3_1","unstructured":"2018. MXNet. https:\/\/mxnet.apache.org\/.  2018. MXNet. https:\/\/mxnet.apache.org\/."},{"key":"e_1_2_1_4_1","unstructured":"2018. TensorFlow. https:\/\/www.tensorflow.org.  2018. TensorFlow. https:\/\/www.tensorflow.org."},{"key":"e_1_2_1_5_1","unstructured":"2019. RAPIDS Forest Inference Library. https:\/\/medium.com\/rapids-ai\/rapids-forest-inference-library-prediction-at-100-million-rows-per-second-19558890bc35.  2019. RAPIDS Forest Inference Library. https:\/\/medium.com\/rapids-ai\/rapids-forest-inference-library-prediction-at-100-million-rows-per-second-19558890bc35."},{"key":"e_1_2_1_6_1","unstructured":"2020. Blas. http:\/\/www.netlib.org\/blas\/.  2020. Blas. http:\/\/www.netlib.org\/blas\/."},{"key":"e_1_2_1_7_1","unstructured":"2020. BlazingSQL. https:\/\/blazingsql.com\/.  2020. BlazingSQL. https:\/\/blazingsql.com\/."},{"key":"e_1_2_1_8_1","unstructured":"2020. Cardinality Estimation in SQLServer. https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/performance\/cardinality-estimation-sql-server?view=sql-server-ver15.  2020. Cardinality Estimation in SQLServer. https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/performance\/cardinality-estimation-sql-server?view=sql-server-ver15."},{"key":"e_1_2_1_9_1","unstructured":"2020. Cerebras. https:\/\/cerebras.net\/.  2020. Cerebras. https:\/\/cerebras.net\/."},{"key":"e_1_2_1_10_1","unstructured":"2020. Cerebras Software. https:\/\/cerebras.net\/product\/#software.  2020. Cerebras Software. https:\/\/cerebras.net\/product\/#software."},{"key":"e_1_2_1_11_1","unstructured":"2020. Cost of training GPT-3. https:\/\/bit.ly\/361o7I0.  2020. Cost of training GPT-3. https:\/\/bit.ly\/361o7I0."},{"key":"e_1_2_1_12_1","unstructured":"2020. cugraph. https:\/\/github.com\/rapidsai\/cugraph.  2020. cugraph. https:\/\/github.com\/rapidsai\/cugraph."},{"key":"e_1_2_1_13_1","unstructured":"2020. Distinct using hashing. https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/queries\/hints-transact-sql-query?view=sql-server-ver15.  2020. Distinct using hashing. https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/queries\/hints-transact-sql-query?view=sql-server-ver15."},{"key":"e_1_2_1_14_1","unstructured":"2020. GraphBlas. https:\/\/people.engr.tamu.edu\/davis\/GraphBLAS.html.  2020. GraphBlas. https:\/\/people.engr.tamu.edu\/davis\/GraphBLAS.html."},{"key":"e_1_2_1_15_1","unstructured":"2020. GraphCore. https:\/\/www.graphcore.ai\/.  2020. GraphCore. https:\/\/www.graphcore.ai\/."},{"key":"e_1_2_1_16_1","unstructured":"2020. Intel MKL. https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/documentation\/mkl-developer-reference-c\/top\/blas-and-sparse-blas-routines.html.  2020. Intel MKL. https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/documentation\/mkl-developer-reference-c\/top\/blas-and-sparse-blas-routines.html."},{"key":"e_1_2_1_17_1","unstructured":"2020. Neo4j. https:\/\/neo4j.com\/.  2020. Neo4j. https:\/\/neo4j.com\/."},{"key":"e_1_2_1_18_1","unstructured":"2020. Numba. https:\/\/numba.pydata.org\/numba-doc\/latest\/index.html.  2020. Numba. https:\/\/numba.pydata.org\/numba-doc\/latest\/index.html."},{"key":"e_1_2_1_19_1","unstructured":"2020. OmnisciDB. https:\/\/www.omnisci.com\/.  2020. OmnisciDB. https:\/\/www.omnisci.com\/."},{"key":"e_1_2_1_20_1","unstructured":"2020. ONNX. https:\/\/github.com\/onnx\/onnx\/blob\/master\/docs\/Operators.md.  2020. ONNX. https:\/\/github.com\/onnx\/onnx\/blob\/master\/docs\/Operators.md."},{"key":"e_1_2_1_21_1","unstructured":"2020. OpenCL. https:\/\/www.khronos.org\/opencl\/.  2020. OpenCL. https:\/\/www.khronos.org\/opencl\/."},{"key":"e_1_2_1_22_1","unstructured":"2020. PyTorch Release for IPU. https:\/\/medium.com\/pytorch\/graphcore-announces-production-release-of-pytorch-for-ipu-f1a846de1a2f.  2020. PyTorch Release for IPU. https:\/\/medium.com\/pytorch\/graphcore-announces-production-release-of-pytorch-for-ipu-f1a846de1a2f."},{"key":"e_1_2_1_23_1","unstructured":"2020. PyTorch scatter with different reduce modes. https:\/\/github.com\/pytorch\/pytorch\/issues\/22378.  2020. PyTorch scatter with different reduce modes. https:\/\/github.com\/pytorch\/pytorch\/issues\/22378."},{"key":"e_1_2_1_24_1","unstructured":"2020. Sambanova: Massive Models for Everyone. https:\/\/sambanova.ai\/.  2020. Sambanova: Massive Models for Everyone. https:\/\/sambanova.ai\/."},{"key":"e_1_2_1_25_1","unstructured":"2020. Scipy. https:\/\/github.com\/scipy\/scipy\/.  2020. Scipy. https:\/\/github.com\/scipy\/scipy\/."},{"key":"e_1_2_1_26_1","unstructured":"2020. Spark-RAPIDS. https:\/\/nvidia.github.io\/spark-rapids\/.  2020. Spark-RAPIDS. https:\/\/nvidia.github.io\/spark-rapids\/."},{"key":"e_1_2_1_27_1","unstructured":"2020. Statistics in SQLServer. https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/statistics\/statistics?view=sql-server-ver15.  2020. Statistics in SQLServer. https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/statistics\/statistics?view=sql-server-ver15."},{"key":"e_1_2_1_28_1","unstructured":"2020. Tensorflow XLA. https:\/\/www.tensorflow.org\/xla.  2020. Tensorflow XLA. https:\/\/www.tensorflow.org\/xla."},{"key":"e_1_2_1_29_1","unstructured":"2020. Xilinx Vitis Platform. https:\/\/www.xilinx.com\/products\/design-tools\/vitis\/vitis-platform.html.  2020. Xilinx Vitis Platform. https:\/\/www.xilinx.com\/products\/design-tools\/vitis\/vitis-platform.html."},{"key":"e_1_2_1_30_1","unstructured":"2021. The future of sparsity in deep neural networks. https:\/\/www.sigarch.org\/the-future-of-sparsity-in-deep-neural-networks\/.  2021. The future of sparsity in deep neural networks. https:\/\/www.sigarch.org\/the-future-of-sparsity-in-deep-neural-networks\/."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3292500.3330667"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2742797"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732219.2732227"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.14778\/3055540.3055545"},{"key":"e_1_2_1_35_1","unstructured":"OpenAI Blog. 2018. AI and Compute. openai.com\/blog\/ai-and-compute\/.  OpenAI Blog. 2018. AI and Compute. openai.com\/blog\/ai-and-compute\/."},{"key":"e_1_2_1_36_1","unstructured":"Peter A. Boncz Marcin Zukowski and Niels Nes. 2005. MonetDB\/X100: Hyper-Pipelining Query Execution.. In CIDR. www.cidrdb.org 225--237. http:\/\/dblp.uni-trier.de\/db\/conf\/cidr\/cidr2005.html#BonczZN05  Peter A. Boncz Marcin Zukowski and Niels Nes. 2005. MonetDB\/X100: Hyper-Pipelining Query Execution.. In CIDR. www.cidrdb.org 225--237. http:\/\/dblp.uni-trier.de\/db\/conf\/cidr\/cidr2005.html#BonczZN05"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2939672.2939785"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.5555\/3291168.3291211"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.5555\/3327144.3327258"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1327452.1327492"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-019-00581-w"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685096"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.5555\/3086952"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.14778\/2536360.2536370"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/3329785.3329932"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3070607.3070608"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.5555\/3323234.3323272"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359630"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/3140659.3080246"},{"key":"e_1_2_1_50_1","volume-title":"CIDR","author":"Karanasos Konstantinos","year":"2020","unstructured":"Konstantinos Karanasos , Matteo Interlandi , Fotis Psallidas , Rathijit Sen , Kwanghyun Park , Ivan Popivanov , Doris Xin , Supun Nakandala , Subru Krishnan , Markus Weimer , Yuan Yu , Raghu Ramakrishnan , and Carlo Curino . 2020. Extending Relational Query Processing with ML Inference . In CIDR 2020 , 10th Conference on Innovative Data Systems Research, Amsterdam, The Netherlands, January 12--15, 2020, Online Proceedings . www.cidrdb.org. http:\/\/cidrdb.org\/cidr2020\/papers\/p24-karanasos-cidr20.pdf Konstantinos Karanasos, Matteo Interlandi, Fotis Psallidas, Rathijit Sen, Kwanghyun Park, Ivan Popivanov, Doris Xin, Supun Nakandala, Subru Krishnan, Markus Weimer, Yuan Yu, Raghu Ramakrishnan, and Carlo Curino. 2020. Extending Relational Query Processing with ML Inference. In CIDR 2020, 10th Conference on Innovative Data Systems Research, Amsterdam, The Netherlands, January 12--15, 2020, Online Proceedings. www.cidrdb.org. http:\/\/cidrdb.org\/cidr2020\/papers\/p24-karanasos-cidr20.pdf"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.5555\/3275366.3284966"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.5555\/3275366.3284966"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133901"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2018.00027"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293883.3299108"},{"key":"e_1_2_1_57_1","volume-title":"MLIR: A Compiler Infrastructure for the End of Moore's Law. arXiv e-prints, Article arXiv:2002.11054 (Feb.","author":"Lattner Chris","year":"2020","unstructured":"Chris Lattner , Jacques Pienaar , Mehdi Amini , Uday Bondhugula , River Riddle , Albert Cohen , Tatiana Shpeisman , Andy Davis , Nicolas Vasilache , and Oleksandr Zinenko . 2020 . MLIR: A Compiler Infrastructure for the End of Moore's Law. arXiv e-prints, Article arXiv:2002.11054 (Feb. 2020), arXiv:2002.11054 pages. arXiv:2002.11054 [cs.PL] Chris Lattner, Jacques Pienaar, Mehdi Amini, Uday Bondhugula, River Riddle, Albert Cohen, Tatiana Shpeisman, Andy Davis, Nicolas Vasilache, and Oleksandr Zinenko. 2020. MLIR: A Compiler Infrastructure for the End of Moore's Law. arXiv e-prints, Article arXiv:2002.11054 (Feb. 2020), arXiv:2002.11054 pages. arXiv:2002.11054 [cs.PL]"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.5555\/2831090.2831104"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.5555\/2946645.2946679"},{"key":"e_1_2_1_60_1","doi-asserted-by":"crossref","unstructured":"Thierry Moreau Tianqi Chen Luis Vega Jared Roesch Eddie Yan Lianmin Zheng Josh Fromm Ziheng Jiang Luis Ceze Carlos Guestrin and Arvind Krishnamurthy. 2019. A Hardware-Software Blueprint for Flexible Deep Learning Specialization. arXiv:1807.04188 [cs.LG]  Thierry Moreau Tianqi Chen Luis Vega Jared Roesch Eddie Yan Lianmin Zheng Josh Fromm Ziheng Jiang Luis Ceze Carlos Guestrin and Arvind Krishnamurthy. 2019. A Hardware-Software Blueprint for Flexible Deep Learning Specialization. arXiv:1807.04188 [cs.LG]","DOI":"10.1109\/MM.2019.2928962"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.5555\/3488766.3488817"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.14778\/2002938.2002940"},{"key":"e_1_2_1_64_1","unstructured":"Adam Paszke Sam Gross Soumith Chintala Gregory Chanan Edward Yang Zachary DeVito Zeming Lin Alban Desmaison Luca Antiga and Adam Lerer. 2017. Automatic differentiation in PyTorch. In NIPS-W.  Adam Paszke Sam Gross Soumith Chintala Gregory Chanan Edward Yang Zachary DeVito Zeming Lin Alban Desmaison Luca Antiga and Adam Lerer. 2017. Automatic differentiation in PyTorch. In NIPS-W."},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.5555\/1953048.2078195"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.14778\/3007328.3007336"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499370.2462176"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/974750.974755"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522715"},{"key":"e_1_2_1_70_1","unstructured":"Alexander Sergeev and Mike Del Balso. 2018. Horovod: fast and easy distributed deep learning in TensorFlow. arXiv:1802.05799 [cs.LG]  Alexander Sergeev and Mike Del Balso. 2018. Horovod: fast and easy distributed deep learning in TensorFlow. arXiv:1802.05799 [cs.LG]"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3380595"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915229"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/3355606"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA45697.2020.00035"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.14778\/3407790.3407799"},{"key":"e_1_2_1_76_1","volume-title":"Owens","author":"Yang Carl","year":"2019","unstructured":"Carl Yang , Aydin Buluc , and John D . Owens . 2019 . GraphBLAST: A High-Performance Linear Algebra-based Graph Framework on the GPU. arXiv:1908.01407 [cs.DC] Carl Yang, Aydin Buluc, and John D. Owens. 2019. GraphBLAST: A High-Performance Linear Algebra-based Graph Framework on the GPU. arXiv:1908.01407 [cs.DC]"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.5555\/3489146.3489166"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.5555\/2228298.2228301"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.5555\/3488766.3488815"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3467861.3467869","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T10:34:46Z","timestamp":1672223686000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3467861.3467869"}},"subtitle":["an abstraction for general data processing"],"short-title":[],"issued":{"date-parts":[[2021,6]]},"references-count":77,"journal-issue":{"issue":"10","published-print":{"date-parts":[[2021,6]]}},"alternative-id":["10.14778\/3467861.3467869"],"URL":"https:\/\/doi.org\/10.14778\/3467861.3467869","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2021,6]]}}}