{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T17:56:04Z","timestamp":1775066164727,"version":"3.50.1"},"publisher-location":"Cham","reference-count":20,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031314445","type":"print"},{"value":"9783031314452","type":"electronic"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"DOI":"10.1007\/978-3-031-31445-2_10","type":"book-chapter","created":{"date-parts":[[2023,5,10]],"date-time":"2023-05-10T23:30:02Z","timestamp":1683761402000},"page":"141-156","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Structured Operations: Modular Design of\u00a0Code Generators for\u00a0Tensor Compilers"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4096-3325","authenticated-orcid":false,"given":"Nicolas","family":"Vasilache","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1978-0222","authenticated-orcid":false,"given":"Oleksandr","family":"Zinenko","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0333-7413","authenticated-orcid":false,"given":"Aart J. C.","family":"Bik","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mahesh","family":"Ravishankar","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Thomas","family":"Raoux","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alexander","family":"Belyaev","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5077-7131","authenticated-orcid":false,"given":"Matthias","family":"Springer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tobias","family":"Gysi","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Diego","family":"Caballero","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Stephan","family":"Herhut","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Stella","family":"Laurenzo","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8866-5343","authenticated-orcid":false,"given":"Albert","family":"Cohen","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,5,10]]},"reference":[{"key":"10_CR1","unstructured":"Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures: A Dependence-Based Approach. Morgan Kaufmann Publishers (2001)"},{"key":"10_CR2","unstructured":"Chen, T., et al.: TVM: an automated end-to-end optimizing compiler for deep learning. In: 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18), pp. 578\u2013594. USENIX Association (2018). https:\/\/www.usenix.org\/conference\/osdi18\/presentation\/chen"},{"key":"10_CR3","unstructured":"Developers, I.: IREE (intermediate representation execution environment (2021). https:\/\/google.github.io\/iree\/"},{"key":"10_CR4","doi-asserted-by":"publisher","unstructured":"Hagedorn, B., Elliott, A.S., Barthels, H., Bodik, R., Grover, V.: Fireiron: a data-movement-aware scheduling language for gpus. In: Proceedings of the ACM International Conference on Parallel Architectures and Compilation Techniques, PACT 2020, pp. 71\u201382. Association for Computing Machinery, New York (2020). https:\/\/doi.org\/10.1145\/3410463.3414632","DOI":"10.1145\/3410463.3414632"},{"key":"10_CR5","unstructured":"Hagedorn, B., Lenfers, J., Koehler, T., Gorlatch, S., Steuwer, M.: A language for describing optimization strategies. CoRR abs\/2002.02268 (2020). https:\/\/arxiv.org\/abs\/2002.02268"},{"key":"10_CR6","doi-asserted-by":"publisher","unstructured":"Hagedorn, B., Lenfers, J., Kundefinedhler, T., Qin, X., Gorlatch, S., Steuwer, M.: Achieving high-performance the functional way: a functional pearl on expressing high-performance optimizations as rewrite strategies. Proceedings of ACM on Programming Languages 4(ICFP) (Aug 2020). https:\/\/doi.org\/10.1145\/3408974","DOI":"10.1145\/3408974"},{"key":"10_CR7","doi-asserted-by":"publisher","unstructured":"Kjolstad, F., Kamil, S., Chou, S., Lugato, D., Amarasinghe, S.: The tensor algebra compiler. Proc. ACM Program. Lang. 1(OOPSLA) (Oct 2017). https:\/\/doi.org\/10.1145\/3133901","DOI":"10.1145\/3133901"},{"key":"10_CR8","doi-asserted-by":"crossref","unstructured":"Lattner, C., et al.: Mlir: scaling compiler infrastructure for domain specific computation. In: 2021 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO), pp. 2\u201314. IEEE\/ACM, IEEE\/ACM (2021). https:\/\/doi.org\/10.1109\/CGO51591.2021.9370308","DOI":"10.1109\/CGO51591.2021.9370308"},{"key":"10_CR9","doi-asserted-by":"publisher","unstructured":"Mullapudi, R.T., Vasista, V., Bondhugula, U.: Polymage: automatic optimization for image processing pipelines. In: \u00d6zturk, \u00d6., Ebcioglu, K., Dwarkadas, S. (eds.) Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2015, Istanbul, Turkey, March 14\u201318, 2015, pp. 429\u2013443. ACM (2015). https:\/\/doi.org\/10.1145\/2694344.2694364","DOI":"10.1145\/2694344.2694364"},{"key":"10_CR10","doi-asserted-by":"crossref","unstructured":"Ragan-Kelley, J., Barnes, C., Adams, A., Paris, S., Durand, F., Amarasinghe, S.: Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. ACM SIGPLAN Notices 48(6), 519\u2013530 (2013). https:\/\/doi.org\/10.1145\/2499370.2462176","DOI":"10.1145\/2499370.2462176"},{"key":"10_CR11","doi-asserted-by":"crossref","unstructured":"Rasch, A., Schulze, R., Gorlatch, S.: Generating portable high-performance code via multi-dimensional homomorphisms. In: 2019 28th International Conference on Parallel Architectures and Compilation Techniques (PACT), pp. 354\u2013369. IEEE, Seattle, WA (2019). https:\/\/doi.org\/10.1109\/PACT.2019.00035","DOI":"10.1109\/PACT.2019.00035"},{"key":"10_CR12","unstructured":"Rotem, N., et al.: Glow: graph lowering compiler techniques for neural networks. CoRR abs\/1805.00907 (2018). https:\/\/arxiv.org\/abs\/1805.00907"},{"key":"10_CR13","unstructured":"Schrijver, A.: Theory of Linear and Integer Programming. John Wiley & Sons (1986)"},{"key":"10_CR14","doi-asserted-by":"crossref","unstructured":"Smith, G.H., et al.: Pure tensor program rewriting via access patterns (representation pearl). CoRR abs\/2105.09377 (2021). https:\/\/arxiv.org\/abs\/2105.09377","DOI":"10.1145\/3460945.3464953"},{"key":"10_CR15","doi-asserted-by":"publisher","unstructured":"Steuwer, M., Remmelg, T., Dubach, C.: Lift: a functional data-parallel ir for high-performance gpu code generation. In: 2017 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO), pp. 74\u201385. IEEE\/ACM (2017). https:\/\/doi.org\/10.1109\/CGO.2017.7863730","DOI":"10.1109\/CGO.2017.7863730"},{"key":"10_CR16","doi-asserted-by":"publisher","unstructured":"Tillet, P., Kung, H.T., Cox, D.: Triton: an intermediate language and compiler for tiled neural network computations. In: Proceedings of the 3rd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages, MAPL 2019, pp. 10\u201319. Association for Computing Machinery, New York (2019). https:\/\/doi.org\/10.1145\/3315508.3329973","DOI":"10.1145\/3315508.3329973"},{"key":"10_CR17","unstructured":"Vasilache, N., et al.: Composable and modular code generation in MLIR: a structured and retargetable approach to tensor compiler construction. CoRR abs\/2202.03293 (2022). https:\/\/arxiv.org\/abs\/2202.03293"},{"key":"10_CR18","doi-asserted-by":"crossref","unstructured":"Vasilache, N., et al.: The next 700 accelerated layers: from mathematical expressions of network computation graphs to accelerated gpu kernels, automatically. ACM Trans. Architecture Code Optim. (TACO) 16(4), 1\u201326 (2019). https:\/\/doi.org\/10.1145\/3355606","DOI":"10.1145\/3355606"},{"key":"10_CR19","unstructured":"XLA team within Google: XLA: TensorFlow, Compiled. Google Developers Blog (2017). https:\/\/developers.googleblog.com\/2017\/03\/xla-tensorflow-compiled.html"},{"key":"10_CR20","unstructured":"Zheng, L., et al.: Ansor: generating high-performance tensor programs for deep learning. In: 14th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2020, Virtual Event, 4\u20136 November, 2020, pp. 863\u2013879. USENIX Association (2020). https:\/\/www.usenix.org\/conference\/osdi20\/presentation\/zheng"}],"container-title":["Lecture Notes in Computer Science","Languages and Compilers for Parallel Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-31445-2_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,5,10]],"date-time":"2023-05-10T23:32:15Z","timestamp":1683761535000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-31445-2_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031314445","9783031314452"],"references-count":20,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-31445-2_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"10 May 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"LCPC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Workshop on Languages and Compilers for Parallel Computing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Chicago, IL","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"USA","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"12 October 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"14 October 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"35","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"lcpc2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/publish.illinois.edu\/lcpc2022atillinois\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"hotcrp","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"12","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"9","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"75% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2.5","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}