CINXE.COM

Talks - MLIR

<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><title>Talks - MLIR</title><meta name=description content="Multi-Level IR Compiler Framework"><meta name=generator content="Hugo 0.119.0"><link href=https://mlir.llvm.org/index.xml rel=alternate type=application/rss+xml><link rel=canonical href=https://mlir.llvm.org/talks/><link rel=stylesheet href=https://mlir.llvm.org/css/theme.css><script src=https://use.fontawesome.com/releases/v5.0.6/js/all.js></script> <link rel=stylesheet href=https://mlir.llvm.org/css/chroma.min.css><script src=https://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js></script> <script src=https://cdn.jsdelivr.net/npm/jquery.easing@1.4.1/jquery.easing.min.js></script> <script src=https://mlir.llvm.org/js/bundle.js></script> <script type=text/javascript src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type=text/x-mathjax-config> MathJax.Hub.Config({ tex2jax: { inlineMath: [['$', '$'] ], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); </script><link rel=apple-touch-icon sizes=180x180 href="/apple-touch-icon.png?v=1"><link rel=icon type=image/png sizes=32x32 href="/favicon-32x32.png?v=1"><link rel=icon type=image/png sizes=16x16 href="/favicon-16x16.png?v=1"><link rel=manifest href="/site.webmanifest?v=1"><link rel=mask-icon href="/safari-pinned-tab.svg?v=1" color=#3775e0><link rel="shortcut icon" href="/favicon.ico?v=1"><meta name=msapplication-TileColor content="#2d89ef"><meta name=theme-color content="#ffffff"><link rel=icon href=/favicon.svg type=image/svg+xml sizes=any><style>:root{}</style></head><body><div class=container><header><h1><div><img src=https://mlir.llvm.org//mlir-logo.png width=40px align=absmiddle> MLIR</div></h1><p class=description>Multi-Level IR Compiler Framework</p></header><div class=global-menu><nav><ul><li class=parent><a href>Community<i class="fas fa-angle-right"></i></a><ul class=sub-menu><li class=child><a href=https://llvm.discourse.group/c/mlir/31>Forums</a></li><li class=child><a href=https://discord.gg/xS7Z362>Chat</a></li></ul></li><li><a href=/getting_started/Debugging/>Debugging Tips</a></li><li><a href=/getting_started/Faq/>FAQ</a></li><li class=parent><a href=https://github.com/llvm/llvm-project/tree/main/mlir>Source<i class="fas fa-angle-right"></i></a><ul class=sub-menu><li class=child><a href=/doxygen/>Doxygen</a></li><li class=child><a href=https://github.com/llvm/llvm-project/tree/main/mlir>GitHub</a></li></ul></li><li><a href="https://bugs.llvm.org/buglist.cgi?bug_status=__open__&amp;list_id=177877&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;product=MLIR&amp;query_format=specific">Bugs</a></li><li><a href=https://github.com/llvm/mlir-www/tree/main/website/static/LogoAssets>Logo Assets</a></li><li><a href=https://www.youtube.com/MLIRCompiler>Youtube Channel</a></li></ul></nav></div><div class=content-container><main><h1>Talks</h1><h2 id=tutorials>Tutorials</h2><ul><li>MLIR Tutorial ; <a href=https://llvm.org/devmtg/2020-09/slides/MLIR_Tutorial.pdf>slides</a> - <a href="https://www.youtube.com/watch?v=Y4SvqTtOIDk">recording</a> ; Mehdi Amini and River Riddle @ <a href=https://llvm.org/devmtg/2020-09/>2020 Virtual LLVM Developers</a></li></ul><h3 id=past-editions>Past editions:</h3><ul><li>MLIR Tutorial ; <a href=http://www.cs.utah.edu/~mhall/mlir4hpc/pienaar-MLIR-Tutorial.pdf>slides</a> ; Jacques Pienaar, Sana Damani @ <a href=http://www.cs.utah.edu/~mhall/mlir4hpc/>MLIR4HPC@LCPC 2019</a></li><li>Tutorial: Building a Compiler with MLIR ; ( <a href=https://llvm.org/devmtg/2019-04/talks.html#Tutorial_1>slides and recording</a>) ; Mehdi Amini, Alex Zinenko, Nicolas Vasilache @ <a href=https://llvm.org/devmtg/2019-04>EuroLLVM 2019</a></li></ul><h2 id=tech-talks>Tech talks</h2><h3 id=about-mlir-and-mlir-components>About MLIR and MLIR Components</h3><ul><li><p><a href=https://fosdem.org/2023/schedule/event/mlirdialect/>How to Build your own MLIR Dialect</a> ; Marius Brehler @ <a href=https://fosdem.org/2023/>FOSDEM 2023</a></p></li><li><p><a href=https://youtu.be/x-nHc3hBxHM>Compiler Support for Sparse Tensor Computations in MLIR</a> ; <a href=https://www.aartbik.com/>Aart Bik</a> @ <a href=https://llvm.swoogo.com/2021devmtg/>2021 LLVM Developers&rsquo; Meeting</a> November 16-19, 2021.</p></li><li><p><a href="https://www.youtube.com/watch?v=C_MdJu70z2o&amp;list=PLadGdFFn83gXCQAj8D8LuabxOu3XMbgPJ&amp;index=1">MLIR: Scaling Compiler Infrastructure for Domain Specific Computation</a> ; Alex Zinenko @ <a href=https://conf.researchr.org/home/cgo-2021>CGO 2021</a>.</p></li><li><p><a href=https://llvm-hpc-2020-workshop.github.io>LLVM Compiler Infrastructure in HPC Workshop</a> Keynote: MLIR: an Agile Infrastructure for Building a Compiler Ecosystem ( <a href=https://llvm-hpc-2020-workshop.github.io/presentations/llvmhpc2020-amini.pdf>slides</a> - <a href="https://www.youtube.com/watch?v=0bxyZDGs-aA">recording</a>) ; Mehdi Amini</p></li><li><p>CGO 2020 <a href="https://docs.google.com/presentation/d/11-VjSNNNJoRhPlLxFgvtb909it1WNdxTnQFipryfAPU/edit#slide=id.g7d334b12e5_0_4">Keynote: MLIR Compiler Infrastructure</a> ; Chris Lattner, Tatiana Shpeisman</p></li><li><p>IMPACT 2020 <a href=https://acohen.gitlabpages.inria.fr/impact/impact2020/slides/IMPACT_2020_keynote.pdf>Keynote: Polyhedral Compilation Opportunities in MLIR</a> ; Uday Bondhugula</p></li><li><p>MLIR: Multi-Level Intermediate Representation for Compiler Infrastructure ; <a href=https://llvm.org/devmtg/2019-04/talks.html#Keynote_1>slides</a> ; Tatiana Shpeisman, Chris Lattner @ <a href=https://llvm.org/devmtg/2019-04>EuroLLVM 2019</a></p></li><li><p>MLIR Primer: A Compiler Infrastructure for the End of Moore’s Law <a href=https://research.google/pubs/pub48035.pdf>slides</a> ; Chris Lattner, Jacques Pienaar @ <a href=https://www.c4ml.org/c4ml2019>Compilers for Machine Learning (C4ML)</a> workshop at <a href=http://cgo.org/cgo2019/>CGO 2019</a></p></li></ul><h3 id=using-mlir>Using MLIR</h3><ul><li><p>MLIR: Accelerating TF with compilers ; <a href="https://www.youtube.com/watch?v=Hx3A0A2lM84&amp;list=PLQY2H8rRoyvzuJw20FG82Lgm2SZjTdIXU&amp;index=12">recording</a> ; Jacques Pienaar (filling in for Tatiana Shpeisman) @ <a href=https://www.tensorflow.org/dev-summit>TF Dev Summit 2020</a></p></li><li><p>MLIR in the TensorFlow ecosystem ; <a href=https://research.google/pubs/pub48996.pdf>slides</a> ; Jacques Pienaar @ <a href=https://www.c4ml.org/c4ml2020>Compilers for Machine Learning 2020</a></p></li><li><p>MLIR: Accelerating AI ; <a href=https://youtu.be/QYV0Se167hM>recording</a> ; Chris Lattner, Tatiana Shpeisman @ <a href=https://conferences.oreilly.com/tensorflow/tf-ca>O&rsquo;Reilly TensorFlow World 2019</a></p></li><li><p>An MLIR Dialect for High-Level Optimization of Fortran ; <a href=https://youtu.be/ff3ngdvUang>recording</a> ; Eric Schweitz @ <a href=http://llvm.org/devmtg/2019-10/>2019 LLVM Developers&rsquo; Meeting - Bay Area</a></p></li><li><p>Swift as syntactic sugar for MLIR ; <a href=https://youtu.be/1VOWzfULX2w>recording</a> ; Eugene Burmako , Alex Suhan @ <a href=https://www.scale.bythebay.io/>Scale By the Bay 2019</a></p></li><li><p>Targeting Accelerators with MLIR.jl ; <a href=https://youtu.be/M6hl2si20NE>recording</a> ; James Bradbury @ <a href=https://juliacon.org/2019/>JuliaCon 2019</a></p></li><li><p>Inside TensorFlow: MLIR for TF developers ; <a href=https://youtu.be/R5LLIj8EMxw>recording</a> ; Jacques Pienaar</p></li><li><p>Compiling Ruby with MLIR ; <a href=https://youtu.be/Cl5SgDxvZ8w>recording</a> ; Alex Denisov @ <a href=https://www.meetup.com/llvm-social-berlin/events/287586655/>LLVM Social Berlin #20</a></p></li></ul><h2 id=open-design-meeting-presentations>Open design meeting presentations</h2><p>We host a <strong>weekly public meeting</strong> about MLIR and the ecosystem. If you’d like to discuss a particular topic or have questions, please add it to the <a href=https://docs.google.com/document/d/1y2YlcOVMPocQjSFi3X6gYGRjA0onyqr41ilXji10phw/edit#>agenda doc</a>.</p><p>The meetings are announced on <a href=https://discourse.llvm.org/c/mlir/mlir-announcements/44>Discourse</a>, subscribing to this category is the best way to stay informed. You can also register to <a href="https://calendar.google.com/calendar/u/0?cid=N2EzMDU3NTBjMjkzYWU5MTY5NGNlMmQ3YjJlN2JjNWEyYjViNjg1NTRmODcxOWZiOTU1MmIzNGQxYjkwNGJkZEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t">this public calendar</a>.</p><h3 id=about-mlir-and-mlir-components-1>About MLIR and MLIR Components</h3><ul><li>2024-08-22: Upstream SPIR-V Conversion <a href=/OpenMeetings/2024-08-22-Upstream-SPIRV-Conversion.pdf>slides</a> <a href=https://youtu.be/-qoMMrlYvGs>recording</a></li><li>2023-02-15: OpenMP GPU target offload <a href=/OpenMeetings/2023-02-15-OpenMP-GPU-Offload.pdf>slides</a> - <a href=https://youtu.be/lOK6JPuVFYg>recording</a></li><li>2023-12-14: Vector dialect, reshape, and handling of unit dimensions <a href=/OpenMeetings/2023-12-14-Vector-reshapes.pdf>slides</a> - <a href=https://youtu.be/csWPOQfgLMo>recording</a></li><li>2023-11-16: Targeting H100 with NVGPU and NVVM Dialects <a href=/OpenMeetings/2023-11-16-Targeting_H100_in_MLIR_ODM.pdf>slides</a> - <a href=https://youtu.be/xNe9fPvU7-U>recording</a></li><li>2023-11-02: A MPI Dialect Proposal <a href=/OpenMeetings/2023-11-02-MPI-Dialect.pdf>slides</a> - <a href=https://youtu.be/VB6Ec3RnMEE>recording</a></li><li>2023-10-26: A Polynomial Dialect Proposal <a href=/OpenMeetings/2023-10-26-Polynomial-dialect.pdf>slides</a> - <a href=https://youtu.be/wsKP-guEB5s>recording</a></li><li>2023-09-28: Sharding Framework for Device Mesh <a href=/OpenMeetings/2023-09-28-Sharding-Framework-Design-for-Device-Mesh.pdf>slides</a> - <a href=https://youtu.be/vL6VNbJkc6Q>recording</a></li><li>2023-07-13: mlir-query: Tool to query MLIR IR dynamically <a href=/OpenMeetings/2023-07-13-MLIR-query.pdf>slides</a> - <a href=https://youtu.be/eFNS4ubazO4>recording</a></li><li>2023-07-06: RFC on Pattern Matching for Library and Acceleration Instruction Rewriting <a href=/OpenMeetings/2023-07-06-SMR.pdf>slides</a> - <a href=https://youtu.be/0Uc4RTJ8QI4>recording</a></li><li>2023-06-22: Targeting ARM SME from MLIR and SME Dialect <a href=/OpenMeetings/2023-06-22-Targeting-SME.pdf>slides part 1</a> - <a href=/OpenMeetings/2023-06-22-SME-Dialect.pdf>slides part 2</a> - <a href=https://youtu.be/jrniGW_Hzno>recording</a></li><li>2023-05-25: Distinct Attributes: Modeling LLVM&rsquo;s distinct metadata in MLIR <a href=/OpenMeetings/2023-05-25-Distinct_Attributes.pdf>slides</a> - <a href=https://youtu.be/BwrQkHmp1Ss>recording</a></li><li>2023-03-23: Nelli, a lightweight, Pythonic, frontend for MLIR <a href=/OpenMeetings/2023-03-23-Nelli.pdf>slides</a> - <a href=https://youtu.be/Z8knnMYRPx0>recording</a></li><li>2023-03-09: Integrating Convolution Optimization into MLIR to Improve Performance Beyond Im2Col+GEMM <a href=/OpenMeetings/2023-03-09-Convolution-Optimization.pdf>slides</a> - <a href=https://youtu.be/4qJanPAMUBs>recording</a></li><li>2023-02-23: MLIR Actions: Tracing and Debugging MLIR-based Compilers <a href=/OpenMeetings/2023-02-23-Actions.pdf>slides</a> - <a href=https://youtu.be/ayQSyekVa3c>recording</a></li><li>2023-02-09: Deep Dive on MLIR Internals, Operation&amp;Attribute, towards Properties <a href=/OpenMeetings/2023-02-09-Properties.pdf>slides</a> - <a href=https://youtu.be/7ofnlCFzlqg>recording</a></li><li>2023-01-26: Controllable Transformations in MLIR ; <a href=/OpenMeetings/2023-01-26-Controllable-transformations.pdf>slides</a> - <a href=https://youtu.be/j0xAlkvvEEg>recording</a></li><li>2022-11-03: Poison Semantics in MLIR ; <a href=/OpenMeetings/2022-11-03-Poison-Semantics-For-MLIR.pdf>slides</a> - <a href=https://youtu.be/WulQdjPy8DQ>recording</a></li><li>2022-06-02: IRDL, a dialect to represent IR definitions ; <a href=/OpenMeetings/2022-06-02-IRDL-dialect-to-represent-IR-definitions.pdf>slides</a> - <a href=https://youtu.be/SlCXx5IFV40>recording</a></li><li>2022-03-17: Interfaces and dialects for precise IR transformation control ; <a href=/OpenMeetings/2022-03-17-Transform_Interfaces.pdf>slides</a> - <a href=https://youtu.be/A19Qp6kcFNM>recording</a></li><li>2022-01-27: PyTACO - An End-to-End Use Case for the Sparse Tensor Compiler ; <a href=/OpenMeetings/2022-02-10-PyTACO.pdf>slides</a> - <a href=https://youtu.be/koxh9NuxIDM>recording</a></li><li>2022-01-27: Anatomy of Linalg.generic ; <a href=/OpenMeetings/2022-01-27-Intro-to-Linalg.pdf>slides</a> - <a href=https://youtu.be/A805W2KSCxQ>recording</a></li><li>2022-01-13: One-Shot Function Bufferization of Tensor Programs ; <a href=/OpenMeetings/2022-01-13-One-Shot-Bufferization.pdf>slides</a> - <a href=https://youtu.be/TXEo59CYS9A>recording</a></li><li>2021-12-02: End-to-end flow for ML Compilation; <a href=/OpenMeetings/2021-12-02-End2End-ML-Compiler-Flow.pdf>slides</a> - <a href=https://youtu.be/NCMme4H_HYQ>recording</a></li><li>2021-11-04: PDLL: a Frontend for PDL ; <a href=/OpenMeetings/2021-11-04-PDLL-Pattern-Frontend-Language.pdf>slides</a> - <a href=https://youtu.be/T0yz4SqG5nc>recording</a> ;</li><li>2021-09-09: An ML-Driven Autoconfigurator for Sparse Tensor Kernels in MLIR ; <a href=/OpenMeetings/2021-09-09-ML-Driven-Autoconfigurator-for-Sparse-Tensor-Kernels.pdf>slides</a> - <a href=https://youtu.be/B5hM0ijowOM>recording</a></li><li>2021-08-26: High Performance GPU Tensor CoreCode Generation for Matmul Using MLIR ; <a href=/OpenMeetings/2021-08-26-High-Performance-GPU-Tensor-CoreCode-Generation-for-Matmul-Using-MLIR.pdf>slides</a> - <a href=https://youtu.be/XEfkPEUw-08>recording</a></li><li>2021-07-22: MLIR data visualization using PassInstrumentation ; <a href=/OpenMeetings/2021-07-22-MLIR-data-visualization.pdf>slides</a> - <a href=https://youtu.be/FEXab1sgZLA>recording</a></li><li>2021-07-15: From MHLO To Linalg in IREE ; <a href=https://mlir.llvm.org/OpenMeetings/2021-07-15-From-MHLO-To-Linalg-in-IREE.pdf>slides</a> - <a href=https://youtu.be/GkorNMHPFPI>recording</a></li><li>2021-06-24: Typedefs in MLIR ; <a href=https://mlir.llvm.org/OpenMeetings/2021-06-24-Typedefs-in-MLIR.pdf>slides</a> - <a href="https://www.youtube.com/watch?v=hqcM6fJWntM">recording</a></li><li>2021-06-17: Defining operations, types, attributes, and dialects at runtime ; <a href=https://mlir.llvm.org/OpenMeetings/2021-06-17-Dynamic-Dialects.pdf>slides</a> - <a href=https://youtu.be/bxFpvjUO288>recording</a></li><li>2021-06-10: MLIR Language Server (Modern IDE features for <code>.mlir</code> files) ; <a href=https://mlir.llvm.org/OpenMeetings/2021-06-10-Language-Server.pdf>slides</a> - <a href=https://youtu.be/HZx1Wal3loA>recording</a></li><li>2021-05-06: Alibaba Group: Disc revisit & future discussion ; <a href="https://drive.google.com/file/d/1RA3VPdTGrYCE-qt2mURrrzbxD9Xl6y5L/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1t6Q_VhZVWBhi--fYTxTOLGklIemlKQmV/view?usp=sharing">recording</a></li><li>2021-04-22: EmitC: Generating C/C++ from MLIR ; <a href="https://drive.google.com/file/d/1p2AM7B1beb5oVf_tlTyinnVQoWuodoxl/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1qHw_gZFytXRtO2EGSnnT3s0iyJ9HdWWs/view?usp=sharing">recording</a></li><li>2021-04-15: Pattern Descriptor Language ; <a href="https://drive.google.com/file/d/17WYUvlmCzNTiqLaxWf_uz4GiLm3QVoEV/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1b8F1GHRPgCXGASZ7fhccU-xZZstLQ2Fi/view?usp=sharing">recording</a></li><li>2021-04-01: Discussion about MLIR Bindings (C API, Python Bindings, other languages) status ; <a href="https://drive.google.com/file/d/12xQjdaYuFoGQCzt2DhJUPPZMwdwzjU5o/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1OJodjsSkvGlDjzsnGr4FSba1BdU-WOR1/view?usp=sharing">recording</a></li><li>2021-03-18: MLIR AMX Vector Dialect ; <a href="https://drive.google.com/file/d/1uXZjudK9IN3ogE2U7uuSWFLibbuJotvW/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1s7YLDgJA8bQyUkcAvYGVDAh8Wg9UkaUH/view?usp=sharing">recording</a></li><li>2021-03-11: Sparse Tensor Type Discussion ; <a href="https://drive.google.com/file/d/1D9D5x-1O4oDrNxVg_Vg7CyJQDjSw28z5/view?usp=sharing">recording</a></li><li>2021-02-18 Compiler Support for Sparse Tensor Computations: A Status Update ; <a href="https://drive.google.com/file/d/1efPam1zD4vEbSwNJA8L1Vm56bIpy9mwW/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1X5qhGapHb0mIgW_Gzvmh14Yw-Z_2NUU7/view?usp=sharing">recording</a></li><li>2021-02-04 Discussion about Implicit Attribute Propagation ; <a href="https://drive.google.com/file/d/1vYZLvTP2tXcUsn1_1hhl8VjyA_MA6njI/view?usp=sharing">recording</a></li><li>2021-01-21 Data Layout RFC ; <a href="https://drive.google.com/file/d/10_Gomhn5JN-9C4670DfAre4pD5edEmNw/view?usp=sharing">recording</a></li><li>2021-01-14 Dialect Conversion & Type Conversion ; <a href="https://drive.google.com/file/d/1mSuoFqbEKy7hnNQ7_f3oxgZLiB0clCEg/view?usp=sharing">recording</a></li><li>2020-11-19: Type Conversions the Not-So-Hard Way: MLIR&rsquo;s new composable bufferize passes ; <a href="https://drive.google.com/file/d/1FVbzCXxZzS9LBLuvpPNLWJD-XDkt54ky/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1VfVajitgf8ZPnd-HRkJvaJiFLhBsluXN/view?usp=sharing">recording</a></li><li>2020-09-24: Buffer Allocation in MLIR ; <a href="https://drive.google.com/file/d/1SMp7fc3qiliwxcOViyUZDoG8KtajJd_d/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1HCJ5WMmQYmx1w9Ervg2n6eKIo0Y9qQi2/view?usp=sharing">recording</a></li><li>2020-09-10: TF Kernel Generator ; <a href="https://drive.google.com/file/d/1TZCF_Y5D8u6Hz8_WP5le4Zuh-0O4_7HO/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1WphQap3GXLTNtV0wp24U7Df8Qew9b4Ku/view?usp=sharing">recording</a></li><li>2020-08-13: Structured and Retargetable Compilation With Vectors ; <a href="https://drive.google.com/file/d/1_zPPxOILAIHOWoSM7GALwioYOGEgD2Xe/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/13jY4GTe7ZjFxqh3TCMBUh15HWoSGcswj/view?usp=sharing">recording</a></li><li>2020-07-30: SPIR-V dialect and lowerings ; <a href="https://drive.google.com/file/d/1WInMmnqvFpspHY5dYdiCok4fbfZkt23k/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1I71ze0dkvWiS6QADe2uRGO5MUYIGL7wn/view?usp=sharing">recording</a></li><li>2020-07-23: Asynchronous execution ; <a href="https://drive.google.com/file/d/1CEFTH8QDp6Iw6_Kng6wW14lEogHjTgjR/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1jajZf5-3q0SE8CFwT07LU4Xt0QU05eoF/view?usp=sharing">recording</a></li><li>2020-07-09: <a href=https://llvm.discourse.group/t/rfc-mlir-test-case-reducer-tool/1298/4>MLIR Test Case Reducer Tool</a> ; <a href=https://llvm.discourse.group/t/rfc-starting-in-tree-development-of-python-bindings/1378/3>RFC Starting in-tree development of python bindings</a> ; and <a href=https://llvm.discourse.group/t/rfc-rebooting-c-apis-for-core-ir/1380>RFC Rebooting C APIs for core IR</a> - <a href="https://drive.google.com/file/d/1kzcKNRklmSpKvkEgHzfcQXaCl2uY095d/view?usp=sharing">recording</a></li><li>2020-06-25: Basic GPU Compute Algorithm ; <a href="https://drive.google.com/file/d/1DPLiZwRVRBIVmAZynEcoQzXzOciqDe-x/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1OxvFe55TVpHDckFEOt4k-uLqaV9K-xz0/view?usp=sharing">recording</a></li><li>2020-04-16: MLIR on GPUs ; <a href="https://drive.google.com/open?id=1up9eU1oXONZV3qq22KABkGSJqqadPVY_">slides</a> - <a href="https://drive.google.com/open?id=1Qn064zG_U7Sa0FC9KLTWb68_gcMGpwU3">recording</a></li><li>2020-04-09: Technical discussion on TCP ; <a href="https://drive.google.com/open?id=1iljcpTQ5NPaMfGpoPDFml1XkYxjK_6A4">slides</a> - <a href="https://drive.google.com/open?id=1jSPa8TwPKUt0WuLquGc8OgSUVYJHMvWZ">recording</a></li><li>2020-03-05: Shape Dialect ; <a href="https://drive.google.com/open?id=1w_aDOOT5HRnvlkEYE24bGP1XFjMBhIUK">slides</a> - <a href="https://drive.google.com/open?id=1DERBP5oqqc98xfAp_73HCPkraUqM9qgS">recording</a></li><li>2020-01-24: Thoughts on Tensor Code Generation in MLIR ; <a href="https://docs.google.com/presentation/d/1M44If0Lw2lnrlyE_xNU1WOmXWxLo9FibMwdUbrAhOhU/edit#slide=id.g5fd22bdf8c_0_0">slides</a> - <a href="https://drive.google.com/open?id=1PKY5yVEL0Dl5UHaok4NgpxnbwXbi5pxS">recording</a></li><li>2019-12-19: Interpreted Pattern Match Execution ; <a href=https://docs.google.com/presentation/d/1U3AHtvn_ONR2D4-ENbghYjqsgocu0VPw_2LLYj_A7Sc/edit>slides</a> - <a href=https://drive.google.com/file/d/1c_GfPfLVtew-Kg25pJayJM9qrlI1hxR-/view>recording</a></li><li>2019-12-12: GPUs in MLIR ; <a href=https://docs.google.com/presentation/d/1LdFxf7c_2T6eCV4n2poMhophVlz0YV4NPL0E-7_Y5fU/view>slides</a> - <a href="https://drive.google.com/a/google.com/file/d/1LqxzAf4IDgEsPyBf3lUeOM7hOvc6SXpe/view?usp=sharing">recording</a></li><li>2019-12-05: Structured Ops ; <a href="https://docs.google.com/presentation/d/1P-j1GrH6Q5gLBjao0afQ-GfvcAeF-QU4GXXeSy0eJ9I/edit?usp=sharing">slides</a> - <a href="https://drive.google.com/a/google.com/file/d/1SXsHWpnmMYH08g9Mx7vbGFWdF1s0yF6t/view?usp=sharing">recording</a></li><li>2019-10-10: Interfaces in MLIR ; <a href=https://docs.google.com/presentation/d/1sOh0hYzK7rpXTqd1BwZVe2FmdROpw6lxxkYVJ5D2UVQ/view>slides</a> - <a href="https://drive.google.com/a/google.com/file/d/19DLG5edB7YYkB9hI27t1oC_2kQa23qG4/view?usp=sharing">recording</a></li><li>2019-10-03: Layout changes to MLIR Tensor and MemRef Types ; <a href="https://docs.google.com/presentation/d/1C6Ypldo7EtiR5V2rLlTO_k2cHAQk2S_IN2FXTuxuNx8/edit?usp=sharing">slides</a> - <a href="https://drive.google.com/a/google.com/file/d/1sPv8BqhoWq0lTFJW9yLRWEELY0j6jRDR/view?usp=sharing">recording</a></li><li>2019-08-29 & 2019-09-12: Table-driven Op Definitions and Rewrites ; slides <a href="https://drive.google.com/a/google.com/file/d/1qdd5XKcR1zMFY_2MnVRmlb3__vvuAmwY/view?usp=sharing">part 1</a> / <a href="https://drive.google.com/a/google.com/file/d/1f7Ko5GRD0gVoO6zZviSWxlY1S49w6tXI/view?usp=sharing">part 2</a> - recording <a href="https://drive.google.com/a/google.com/file/d/1JvirzO_LgUTacs0xZMxzzwWxeGzx-6WK/view?usp=sharing">part 1</a> / <a href="https://drive.google.com/a/google.com/file/d/1QqXIwjQb7oqfkS8-hnd0QK7UlNbEYE9q/view?usp=sharing">part 2</a></li><li>2019-08-08: What is an MLIR Dialect? ; <a href="https://drive.google.com/a/google.com/file/d/1qJaDOaLm3jsTVF6StAKcE1mv4NWUBYtH/view?usp=sharing">slides</a> - <a href="https://drive.google.com/a/google.com/file/d/109XCagPGZf4FgugkCCwHHdv_vrQmbmhT/view?usp=sharing">recording</a></li><li>2019-07-25: MLIR Operation Legalization Framework ; <a href="https://drive.google.com/a/google.com/file/d/1x1jpMiIjX_PAs_Cj91Fm70rt6lX4IsaO/view?usp=sharing">slides</a> - <a href="https://drive.google.com/a/google.com/file/d/1gxUNtY46DVJ2Ev3dAFRAtrRKj4Uglc9i/view?usp=sharing">recording</a></li><li>2019-07-18: A proposal to add layout to Tensor ; <a href="https://drive.google.com/open?id=10m6bzwpC70bqLoxu3lAQjDXPK2RVXiBl">slides</a> - <a href="https://drive.google.com/open?id=17RKrAIMDS99cbfF9WVBPrDyo7xZxvh_T">recording</a></li></ul><h3 id=using-mlir-1>Using MLIR</h3><ul><li>2024-10-17: Shaderpulse, a GLSL Frontend for MLIR SPIR-V ; <a href=/OpenMeetings/2024-10-17-Shaderpulse.pdf>slides</a> - <a href=https://youtu.be/qofyrgPfuUI>recording</a></li><li>2024-09-12: XLA Indexing Maps ; <a href=/OpenMeetings/2024-09-12-XLA-Indexing-Analysis.pdf>slides</a> - <a href=https://youtu.be/8KKjYeXGHOM>recording</a></li><li>2023-12-22: PyDSL, a small subset of Python for constructing affine & transform dialects <a href=/OpenMeetings/2023-12-21-PyDSL.pdf>slides</a> ; <a href=https://youtu.be/nmtHeRkl850>recording</a> -</li><li>2023-06-08/15: Update on Numba/MLIR <a href=/OpenMeetings/2023-06-08-Numba.pdf>slides</a> ; <a href=https://youtu.be/ATvH4JOW4tA>recording</a> -</li><li>2023-05-04: Catalyst, an AOT/JIT compiler for hybrid quantum programs ; <a href=/OpenMeetings/2023-05-04-Catalyst-compiler-for-hybrid-quantum-programs.pdf>slides</a> - <a href=https://youtu.be/VY-Rsi5SFB8>recording</a></li><li>2023-03-30: Representing dataflow with MLIR ; <a href=/OpenMeetings/2023-03-30-Representing-Dataflow-With-MLIR.pdf>slides</a> - <a href=https://youtu.be/kEcLBhbncEg>recording</a></li><li>2022-12-15: Embedded reactive programming in MLIR ; <a href=/OpenMeetings/2022-12-15-Reactive-Programming.pdf>slides</a> - <a href=https://youtu.be/euws5GvM3oo>recording</a></li><li>2022-10-06: Coordinate Transformations in AMD’s rocMLIR ; <a href=/OpenMeetings/2022-10-06-Rocm-affine.pdf>slides</a> - <a href=https://youtu.be/xrMJis3Rak0>recording</a></li><li>2022-08-11: HeteroCL, an MLIR-based Intermediate Representation for Accelerator Design with Decoupled Customizations ; <a href=/OpenMeetings/2022-08-11-HeteroCL.pdf>slides</a> - <a href=https://youtu.be/yOk63LWbkqk>recording</a></li><li>2022-02-17: IREE&rsquo;s ML input dialects ; <a href=/OpenMeetings/2022-02-17-IREE_Input_Dialect.pdf>slides</a> - <a href=https://youtu.be/mhyz5S7uYJE>recording</a></li><li>2022-01-20: A Data-Centric Model for Performance Portability on Heterogeneous Architectures ; <a href=/OpenMeetings/2022-01-2001~Data-Centric-Model.pdf>slides</a> - <a href=https://youtu.be/VxUifMWaHeI>recording</a></li><li>2021-10-7: The Torch MLIR Project ; <a href=/OpenMeetings/2021-10-07-The-Torch-MLIR-project.pdf>slides</a> - <a href=https://youtu.be/QbNkex-gizs>recording</a></li><li>2021-05-27: Quantum-Classical Compilation with MLIR ; <a href=/OpenMeetings/2021-05-27-Quantum-Classical-Compilation-with-MLIR.pdf>slides</a> - <a href="https://www.youtube.com/watch?v=_qXCzP5YAZY">recording</a></li><li>2021-04-29: Tensor Processing Primitives ; <a href="https://drive.google.com/file/d/1b8gXD0cdAwl1mxtzb4V1joIOP-exquhv/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/173lk_RqJvKhS6W57vu_zXVpKD7ESjegP/view?usp=sharing">recording</a></li><li>2021-03-04: MLIR based Numba backend ; <a href="https://drive.google.com/file/d/114r8KHlPf1eyZiIX5ce8-ckm40xXzUzP/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1C6ecGtSK9-c_LuIT7CdHp-BQl3IBqpmV/view?usp=sharing">recording</a></li><li>2021-02-11: Polygeist: An affine C frontend for MLIR ; <a href="https://drive.google.com/file/d/1YJhPBpW77WX53Rxxt2TLbEhdbrOFwDy4/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1P14UrXMlR6WbHR_YrSJVsb7h3cLdr5-h/view?usp=sharing">recording</a></li><li>2020-11-05: COMET: Domain Specific Compilation for Computational Chemistry ; <a href="https://drive.google.com/file/d/12X3E9AyCqHf5TqxrRQZhbqCORoFVuAzq/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1Zag7071CtbOyTQ7LhNhlyE0TpSLn9ahJ/view?usp=sharing">recording</a></li><li>2020-10-29: Using MLIR for Multi-Dimensional Homomorphism ; <a href="https://drive.google.com/file/d/1vgAGVhv8oIl0yOvbRUAfje7Gg00-GU6U/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1bS4vapyzf7705wWj7t3WzwWkcbxXZyF6/view?usp=sharing">recording</a></li><li>2020-10-22: Fusion of Elementwise operations with Linalg on tensors ; <a href="https://drive.google.com/file/d/1n6mDw3XlNB8qmltbVgdCzrgpED25KHEF/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1hNulnBUAaXmLJG30UgUAJgkQWupXd7T7/view?usp=sharing">recording</a></li><li>2020-10-01: NPComp update ; <a href="https://drive.google.com/file/d/1YIO7CfZOobPZTxowr8gs1BOQMgUKXH_G/view?usp=sharing">slides</a> - <a href="https://drive.google.com/file/d/1EsOc-4ZtBEK9h6VENaO0qeGsm5FZhrSr/view?usp=sharing">recording</a></li><li>2020-08-20: IREE CodeGen ; <a href=https://docs.google.com/presentation/d/1NetHjKAOYg49KixY5tELqFp6Zr2v8_ujGzWZ_3xvqC8/edit>slides</a> - <a href="https://drive.google.com/file/d/1325zKXnNIXGw3cdWrDWJ1-bp952wvC6W/view?usp=sharing">recording</a> - <a href="https://docs.google.com/document/d/1w2Eg8p5BtZ6DrTa279V2qXLWfPob11NK47SDiBWHSJc/edit?usp=sharing">transcript</a></li><li>2020-08-06: MultiLevel Tactics: Lifting loops in MLIR ; <a href=https://drive.google.com/file/d/1pyBANtcAFgSC0c0Jz85a9ZT794lE9XJY>slides</a> - <a href=https://drive.google.com/file/d/1mfvAiJck4WDDcSPaWbc3D_Dvh86pp3MD>recording</a></li><li>2020-05-21: MLIR case study: AVX512 codegen for Vector dialect ; <a href="https://drive.google.com/open?id=19nTpBi3Wzye75Sp6nAH-PyqxFyhDn78J">slides</a> - <a href="https://drive.google.com/open?id=1t6vnv9btkpjBlqJf0zH5ujiLTBUYKSzQ">recording</a></li><li>2020-05-14: RISE: A Functional Pattern-based Dialect in MLIR ; <a href="https://drive.google.com/open?id=1curA4skh2DsJ2kVHynoJqQyUaJr74xkI">slides</a> - <a href="https://drive.google.com/open?id=18DNvegfHcEQfkKktkBhmhUecyNunfy2s">recording</a></li><li>2020-04-23: LLHD: A Multi-level Intermediate Representation for Hardware Description ; <a href="https://drive.google.com/open?id=1t4wh2lcEdH_6z61a9rEn5EyvBAzGF7FB">slides</a> - <a href="https://drive.google.com/open?id=16X6UMZLRtcCqvYQ1FyTk-xaxei0Fxo50">additional slides</a> - <a href="https://drive.google.com/open?id=1x7B0IRdcJ5JBQvfHbPUBcShbTFCMlrbe">recording</a> ;</li><li>2020-03-26: Tile Dialect ; <a href="https://drive.google.com/open?id=1uud3MGsC5Pc2VvqtsV57AjSrIoW5ZpVm">slides</a> - <a href="https://drive.google.com/open?id=1Ely0XjuQ3HJo6Is9RY08Ef3QvVFryiPE">recording</a></li><li>2020-03-19: TFRT Deep Dive ; <a href="https://drive.google.com/open?id=1Vx_H3faqbf0cCml9KO62fDtp0RGK2gxd">slides</a> - <a href="https://drive.google.com/open?id=1KEXLb2pke1MVapPvj8ndGz7nsYWQtvmo">recording</a></li><li>2020-02-27: End-to-end Dynamic Shape Support in MLIR ; <a href="https://drive.google.com/open?id=1ZDzXluB2uVc35r1fBNK5jW6rY8s82pc_">slides</a> - <a href="https://drive.google.com/a/google.com/file/d/1_uEISlV5MUWdG9faKAdKlCWnPtGjRC-D/view?usp=sharing">recording</a></li><li>2020-01-30: IREE: MLIR-based End-to-End ML Tooling ; <a href="https://drive.google.com/open?id=1RCQ4ZPQFK9cVgu3IH1e5xbrBcqy7d_cEZ578j84OvYI">slides</a> - <a href="https://drive.google.com/open?id=1os9FaPodPI59uj7JJI3aXnTzkuttuVkR">recording</a></li><li>2020-01-16: nGraph Dialect: High-Level Graph Optimizations for Deep Learning Workloads ; <a href="https://drive.google.com/open?id=1lr0xjilGb0foKmYGF4mdCsqEjeMSNC55">slides</a> - <a href="https://drive.google.com/open?id=1BEzorUrC5VhYXvCPaTIawkudxiKhmruy">recording</a></li><li>2019-11-21: TensorFlow Saved Model Dialect ; <a href="https://docs.google.com/presentation/d/1R6H_Eax6sXT2-ffpmF5zjHwS1F22D2DF2ty7EvdAUUw/edit?usp=sharing">slides</a> - <a href="https://drive.google.com/a/google.com/file/d/1L-jpiRgMfLdsDnQpQMN3ns5jsJC07z2l/view?usp=sharing">recording</a></li><li>2019-11-14: A Compiler Intermediate Representation for Stencils ; <a href="https://drive.google.com/open?id=19pSpEsi4I9-MKLRodD-po82HFCWLDAAc">slides</a> - <a href="https://drive.google.com/open?id=1uEvEm6xrk1EE_7Xib3sV9zO0j_857joc">recording</a></li><li>2019-11-07: The Stripe dialect: An alternate approach for expressing affine computations ; <a href="https://docs.google.com/presentation/d/10tMCVZwMHlQPJnKo2nkbroFyAsew8j8wEaxk6Fdojzs/edit#slide=id.p1">slides</a> - <a href="https://drive.google.com/open?id=1FLdhNgTii9x5o1rMgN4ibB7Wkuq6Pyye">recording</a></li><li>2019-09-19: S4TF (Swift for TensorFlow): Swift as syntactic sugar for MLIR ; <a href="https://drive.google.com/open?id=1efFc9BpEkXvXv6XKND8Nr9vZumqYx6E1">slides</a> - <a href="https://drive.google.com/open?id=1IuPdYlNPCKMSATGK2DF5IxFitwVbSv0I">recording</a></li><li>2019-08-22: Tensor Attribute Layout in MKL DNN ; <a href="https://drive.google.com/a/google.com/file/d/1V7cFsU-Fs57lHlAN6ywN1DRn0HB3FGqZ/view?usp=sharing">slides</a> - <a href="https://drive.google.com/a/google.com/file/d/1e5HlIOShR0tWb2v77hT_3Q7zAIo5HxGM/view?usp=sharing">recording</a></li><li>2019-08-15: Building TensorFlow Converter Tools with MLIR ; <a href="https://drive.google.com/a/google.com/file/d/1ZCLTiEm5cVON34JrnUTvm5XdhjYz3DXV/view?usp=sharing">slides</a> - <a href="https://drive.google.com/a/google.com/file/d/1Rj_7bJ6CUPDQI8O2E9cz6FULuY-y9Qx1/view?usp=sharing">recording</a></li><li>2019-08-01: TensorFlow Graph Representation in MLIR ; <a href="https://drive.google.com/a/google.com/file/d/1Xaa3tuxqiRBVHioIB74BiFwyWZSq0c9m/view?usp=sharing">slides</a> - <a href="https://drive.google.com/a/google.com/file/d/1sk6iTcBfoXcmgJrGwPlpcI1nZdrG2qkX/view?usp=sharing">recording</a></li></ul><h2 id=upcoming-talks-or-presentations>Upcoming talks or presentations</h2><p>The schedule for the open design meetings and upcoming presentations can be found in the <a href=https://docs.google.com/document/d/1y_9f1AbfgcoVdJh4_aM6-BaSHvrHl8zuA5G4jv_94K8/edit#>agenda doc</a>.</p><h2 id=past-conferences-and-workshops>Past conferences and workshops</h2><ul><li>2020/02/22: <a href=https://www.c4ml.org/>C4ML 2020: Compilers for Machine Learning</a> workshop co-located with CGO in San Diego (Multiple MLIR talks!)</li><li>2020/01/20: <a href=https://www.sigarch.org/call-contributions/accml-2020-hipeac-workshop-on-accelerated-machine-learning/>AccML 2020: HiPEAC Workshop on Accelerated Machine Learning</a>.</li></ul><div class=edit-meta><br><a href=https://github.com/llvm/mlir-www//edit/main/website/content/talks/_index.md class=edit-page><i class="fas fa-pen-square"></i> Edit on GitHub</a></div><nav class=pagination><a class="nav nav-prev" href=https://mlir.llvm.org/pubs/ title="MLIR Related Publications"><i class="fas fa-arrow-left" aria-hidden=true></i> Prev - MLIR Related Publications</a> <a class="nav nav-next" href=https://mlir.llvm.org/deprecation/ title="Deprecations & Current Refactoring">Next - Deprecations & Current Refactoring <i class="fas fa-arrow-right" aria-hidden=true></i></a></nav><footer><p class=powered>Powered by <a href=https://gohugo.io>Hugo</a>. Theme by <a href=https://themes.gohugo.io/hugo-theme-techdoc/>TechDoc</a>. Designed by <a href=https://github.com/thingsym/hugo-theme-techdoc>Thingsym</a>.</p></footer></main><div class=sidebar><nav class=slide-menu><ul><li><a href=https://mlir.llvm.org/>Home</a></li><li><a href=https://mlir.llvm.org/users/>Users of MLIR</a></li><li><a href=https://mlir.llvm.org/pubs/>MLIR Related Publications</a></li><li class=active><a href=https://mlir.llvm.org/talks/>Talks</a></li><li><a href=https://mlir.llvm.org/deprecation/>Deprecations & Current Refactoring</a></li><li class=has-sub-menu><a href=https://mlir.llvm.org/getting_started/>Getting Started<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/getting_started/ReportingIssues/>Reporting Issues</a></li><li><a href=https://mlir.llvm.org/getting_started/Debugging/>Debugging Tips</a></li><li><a href=https://mlir.llvm.org/getting_started/Faq/>FAQ</a></li><li><a href=https://mlir.llvm.org/getting_started/Contributing/>How to Contribute</a></li><li><a href=https://mlir.llvm.org/getting_started/DeveloperGuide/>Developer Guide</a></li><li><a href=https://mlir.llvm.org/getting_started/openprojects/>Open Projects</a></li><li><a href=https://mlir.llvm.org/getting_started/Glossary/>Glossary</a></li><li><a href=https://mlir.llvm.org/getting_started/TestingGuide/>Testing Guide</a></li></ul></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/>Code Documentation<span class="mark closed">+</span></a><ul class=sub-menu><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Bindings/>Bindings<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Bindings/Python/>MLIR Python Bindings</a></li></ul></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Tools/>Tools<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Tools/MLIRLSP/>MLIR : Language Server Protocol</a></li><li><a href=https://mlir.llvm.org/docs/Tools/mlir-reduce/>MLIR Reduce</a></li><li><a href=https://mlir.llvm.org/docs/Tools/mlir-rewrite/>mlir-rewrite</a></li></ul></li><li><a href=https://mlir.llvm.org/docs/QuantPasses/></a></li><li><a href=https://mlir.llvm.org/docs/ActionTracing/>Action: Tracing and Debugging MLIR-based Compilers</a></li><li><a href=https://mlir.llvm.org/docs/BufferDeallocationInternals/>Buffer Deallocation - Internals</a></li><li><a href=https://mlir.llvm.org/docs/Bufferization/>Bufferization</a></li><li><a href=https://mlir.llvm.org/docs/DataLayout/>Data Layout Modeling</a></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/DefiningDialects/>Defining Dialects<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/DefiningDialects/Constraints/>Constraints</a></li><li><a href=https://mlir.llvm.org/docs/DefiningDialects/AttributesAndTypes/>Defining Dialect Attributes and Types</a></li><li><a href=https://mlir.llvm.org/docs/DefiningDialects/Operations/>Operation Definition Specification (ODS)</a></li></ul></li><li><a href=https://mlir.llvm.org/docs/Diagnostics/>Diagnostic Infrastructure</a></li><li><a href=https://mlir.llvm.org/docs/DialectConversion/>Dialect Conversion</a></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Dialects/>Dialects<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Dialects/DLTITransformOps/></a></li><li><a href=https://mlir.llvm.org/docs/Dialects/OpenACCDialect/>'acc' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/Affine/>'affine' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/AMDGPU/>'amdgpu' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/AMX/>'amx' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/ArithOps/>'arith' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/ArmNeon/>'arm_neon' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/ArmSVE/>'arm_sve' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/ArmSME/>'ArmSME' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/AsyncDialect/>'async' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/BufferizationOps/>'bufferization' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/ControlFlowDialect/>'cf' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/ComplexOps/>'complex' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/DLTIDialect/>'dlti' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/EmitC/>'emitc' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/Func/>'func' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/GPU/>'gpu' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/IndexOps/>'index' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/IRDL/>'irdl' Dialect</a></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Dialects/Linalg/>'linalg' Dialect<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Dialects/Linalg/OpDSL/>Linalg OpDSL</a></li></ul></li><li><a href=https://mlir.llvm.org/docs/Dialects/LLVM/>'llvm' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/MathOps/>'math' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/MemRef/>'memref' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/Mesh/>'mesh' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/MLProgramOps/>'ml_program' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/MPI/>'mpi' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/NVGPU/>'nvgpu' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/NVVMDialect/>'nvvm' Dialect</a></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Dialects/OpenMPDialect/>'omp' Dialect<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Dialects/OpenMPDialect/ODS/>ODS Documentation</a></li></ul></li><li><a href=https://mlir.llvm.org/docs/Dialects/PDLInterpOps/>'pdl_interp' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/PDLOps/>'pdl' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/PolynomialDialect/>'polynomial' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/PtrOps/>'ptr' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/QuantDialect/>'quant' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/ROCDLDialect/>'rocdl' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/SCFDialect/>'scf' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/ShapeDialect/>'shape' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/SparseTensorOps/>'sparse_tensor' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/TensorOps/>'tensor' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/UBOps/>'ub' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/VCIXDialect/>'vcix' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/Vector/>'vector' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/X86Vector/>'x86vector' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/XeGPU/>'xegpu' Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/Builtin/>Builtin Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/MatchOpInterfaces/>OpInterface definitions</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/SPIR-V/>SPIR-V Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/TOSA/>Tensor Operator Set Architecture (TOSA) Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Dialects/Transform/>Transform Dialect</a></li></ul></li><li><a href=https://mlir.llvm.org/docs/Interfaces/>Interfaces</a></li><li><a href=https://mlir.llvm.org/docs/TargetLLVMIR/>LLVM IR Target</a></li><li><a href=https://mlir.llvm.org/docs/BytecodeFormat/>MLIR Bytecode Format</a></li><li><a href=https://mlir.llvm.org/docs/CAPI/>MLIR C API</a></li><li><a href=https://mlir.llvm.org/docs/LangRef/>MLIR Language Reference</a></li><li><a href=https://mlir.llvm.org/docs/ReleaseNotes/>MLIR Release Notes</a></li><li><a href=https://mlir.llvm.org/docs/Canonicalization/>Operation Canonicalization</a></li><li><a href=https://mlir.llvm.org/docs/OwnershipBasedBufferDeallocation/>Ownership-based Buffer Deallocation</a></li><li><a href=https://mlir.llvm.org/docs/PassManagement/>Pass Infrastructure</a></li><li><a href=https://mlir.llvm.org/docs/Passes/>Passes</a></li><li><a href=https://mlir.llvm.org/docs/PatternRewriter/>Pattern Rewriting : Generic DAG-to-DAG Rewriting</a></li><li><a href=https://mlir.llvm.org/docs/PDLL/>PDLL - PDL Language</a></li><li><a href=https://mlir.llvm.org/docs/Quantization/>Quantization</a></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Rationale/>Rationale<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Rationale/RationaleGenericDAGRewriter/>Generic DAG Rewriter Infrastructure Rationale</a></li><li><a href=https://mlir.llvm.org/docs/Rationale/RationaleLinalgDialect/>Linalg Dialect Rationale: The Case For Compiler-Friendly Custom Operations</a></li><li><a href=https://mlir.llvm.org/docs/Rationale/Rationale/>MLIR Rationale</a></li><li><a href=https://mlir.llvm.org/docs/Rationale/MLIRForGraphAlgorithms/>MLIR: Incremental Application to Graph Algorithms in ML Frameworks</a></li><li><a href=https://mlir.llvm.org/docs/Rationale/RationaleSimplifiedPolyhedralForm/>MLIR: The case for a simplified polyhedral form</a></li><li><a href=https://mlir.llvm.org/docs/Rationale/SideEffectsAndSpeculation/>Side Effects & Speculation</a></li><li><a href=https://mlir.llvm.org/docs/Rationale/UsageOfConst/>Usage of 'const' in MLIR, for core IR types</a></li></ul></li><li><a href=https://mlir.llvm.org/docs/ShapeInference/>Shape Inference</a></li><li><a href=https://mlir.llvm.org/docs/SPIRVToLLVMDialectConversion/>SPIR-V Dialect to LLVM Dialect conversion manual</a></li><li><a href=https://mlir.llvm.org/docs/SymbolsAndSymbolTables/>Symbols and Symbol Tables</a></li><li><a href=https://mlir.llvm.org/docs/DeclarativeRewrites/>Table-driven Declarative Rewrite Rule (DRR)</a></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Traits/>Traits<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Traits/Broadcastable/>The `Broadcastable` Trait</a></li></ul></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Tutorials/>Tutorials<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Tutorials/CreatingADialect/>Creating a Dialect</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/QuickstartRewrites/>Quickstart tutorial to adding MLIR graph rewrite</a></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Tutorials/Toy/>Toy Tutorial<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Tutorials/Toy/Ch-1/>Chapter 1: Toy Language and AST</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/Toy/Ch-2/>Chapter 2: Emitting Basic MLIR</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/Toy/Ch-3/>Chapter 3: High-level Language-Specific Analysis and Transformation</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/Toy/Ch-4/>Chapter 4: Enabling Generic Transformation with Interfaces</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/Toy/Ch-5/>Chapter 5: Partial Lowering to Lower-Level Dialects for Optimization</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/Toy/Ch-6/>Chapter 6: Lowering to LLVM and CodeGeneration</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/Toy/Ch-7/>Chapter 7: Adding a Composite Type to Toy</a></li></ul></li><li class=has-sub-menu><a href=https://mlir.llvm.org/docs/Tutorials/transform/>Transform Dialect Tutorial<span class="mark closed">+</span></a><ul class=sub-menu><li><a href=https://mlir.llvm.org/docs/Tutorials/transform/Ch0/>Chapter 0: A Primer on “Structured” Linalg Operations</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/transform/Ch1/>Chapter 1: Combining Existing Transformations</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/transform/Ch2/>Chapter 2: Adding a Simple New Transformation Operation</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/transform/Ch3/>Chapter 3: More than Simple Transform Operations</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/transform/Ch4/>Chapter 4: Matching Payload with Transform Operations</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/transform/ChH/>Chapter H: Reproducing Halide Schedule</a></li></ul></li><li><a href=https://mlir.llvm.org/docs/Tutorials/UnderstandingTheIRStructure/>Understanding the IR Structure</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/MlirOpt/>Using `mlir-opt`</a></li><li><a href=https://mlir.llvm.org/docs/Tutorials/DataFlowAnalysis/>Writing DataFlow Analyses in MLIR</a></li></ul></li></ul></li></ul></nav><div class=sidebar-footer></div></div></div><a href=# id=backtothetop-fixed class=backtothetop data-backtothetop-duration=600 data-backtothetop-easing=easeOutQuart data-backtothetop-fixed-fadein=1000 data-backtothetop-fixed-fadeout=1000 data-backtothetop-fixed-bottom=10 data-backtothetop-fixed-right=20><span class="fa-layers fa-fw"><i class="fas fa-circle"></i> <i class="fas fa-arrow-circle-up"></i></span></a></div></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10