<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/triton-plugin-extensions-enabling-tlx-and-custom-compiler-passes-out-of-the-box-pytorch-urnwxmety" -->

---
title: Triton Plugin Extensions: Enabling TLX and Custom...
description: PyTorch-Triton 3.7 introduces a plugin extensions system that lets developers load custom compiler passes, MLIR dialects, and DSL extensions into upstream...
canonical: https://daily.dev/posts/triton-plugin-extensions-enabling-tlx-and-custom-compiler-passes-out-of-the-box-pytorch-urnwxmety
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Triton Plugin Extensions: Enabling TLX and Custom Compiler Passes Out of the Box – PyTorch | daily.dev
og:description: PyTorch-Triton 3.7 introduces a plugin extensions system that lets developers load custom compiler passes, MLIR dialects, and DSL extensions into upstream...
og:url: https://daily.dev/posts/triton-plugin-extensions-enabling-tlx-and-custom-compiler-passes-out-of-the-box-pytorch-urnwxmety
og:image: https://api.daily.dev/og/posts/URnWxMETy.png
og:image:alt: Triton Plugin Extensions: Enabling TLX and Custom Compiler Passes Out of the Box – PyTorch
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Triton Plugin Extensions: Enabling TLX and Custom Compiler Passes Out of the Box – PyTorch

**[PyTorch](https://daily.dev/sources/pytorch)** · 9 min read · 1 upvotes · 0 comments

## Summary

PyTorch-Triton 3.7 introduces a plugin extensions system that lets developers load custom compiler passes, MLIR dialects, and DSL extensions into upstream Triton at runtime via shared libraries and the TRITON_PLUGIN_PATHS environment variable — no forking or recompiling required. Meta's Triton Language Extensions (TLX) are the first major consumer, now distributed as the standalone `utlx` Python package. TLX provides hardware-aware ops for explicit shared memory management, async loads, and asynchronous matrix multiply-accumulate, enabling persistent GEMM kernels. On NVIDIA H100, Triton+TLX matches or exceeds cuBLAS by up to 3.7%. On AMD MI350, it outperforms rocBLAS by 12–15% across all tested shapes. The plugin path produces identical PTX/AMDGCN codegen to the compiled-in fork, confirming zero overhead from dynamic loading. A real-world validation on a GPU Mode Trimul competition achieved 1.61x speedup over the cuBLAS+torch.compile baseline.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://pytorch.org/blog/triton-plugin-extensions-enabling-tlx-and-custom-compiler-passes-out-of-the-box>

## Questions this post answers

### How do I use Meta's TLX (Triton Language Extensions) without maintaining a fork of Triton?

Install the standalone utlx Python package, set the TRITON_PLUGIN_PATHS environment variable to point at it, and import the extensions. Starting with PyTorch-Triton 3.7, TLX is enabled by default on unmodified upstream Triton through a new plugin extensions system, replacing the previous requirement of building Meta's experimental Triton fork.

_Track Triton and TLX plugin updates on daily.dev as GPU kernel tooling keeps shifting away from forks._

### Does using Triton's plugin extension system for TLX add any performance overhead compared to a compiled-in fork?

No, the plugin-loaded path produces identical PTX and AMDGCN codegen to the compiled-in Meta fork, with equivalent performance and no measurable overhead. On NVIDIA H100, Triton plus TLX matches or exceeds cuBLAS on large GEMM shapes (up to +3.7%); on AMD MI350 it beats rocBLAS by 12-15% across tested matrix sizes.

_Engineers weighing kernel plugin systems against forks can follow these benchmarks on daily.dev._

### What operations does Meta's TLX (Triton Language Extensions) provide for GPU kernel memory management?

TLX exposes hardware-aware ops including tlx.local_alloc for shared memory buffer allocation, tlx.local_view for viewing buffers, tlx.async_load and its commit/wait group variants for asynchronous global-to-shared memory transfers, tlx.async_dot and tlx.async_dot_wait for asynchronous matmul-accumulate, and tlx.local_store/tlx.local_load for shared memory to register transfers.

_Developers building persistent GPU kernels can keep up with TLX op additions via daily.dev._

## Similar posts on daily.dev

- [Advancing GPU Programming with the CUDA Tile IR Backend for OpenAI Triton](https://daily.dev/posts/advancing-gpu-programming-with-the-cuda-tile-ir-backend-for-openai-triton-tdsxd1o1u) · NVIDIA Developer · 0 upvotes · 0 comments
- [Enabling Cluster Launch Control with TLX – PyTorch](https://daily.dev/posts/enabling-cluster-launch-control-with-tlx-pytorch-sytubslr2) · PyTorch · 1 upvotes · 0 comments
- [From 200 lines to 15: How Helion is rewriting the rules of GPU programming](https://daily.dev/posts/from-200-lines-to-15-how-helion-is-rewriting-the-rules-of-gpu-programming-ewda7l8wq) · Red Hat Developer · 0 upvotes · 0 comments
- [vLLM Triton Attention Backend Deep Dive](https://daily.dev/posts/vllm-triton-attention-backend-deep-dive-kx2nzacro) · vLLM · 0 upvotes · 0 comments
- [Unlocking TPU performance: Deep kernel profiling with XProf](https://daily.dev/posts/unlocking-tpu-performance-deep-kernel-profiling-with-xprof-lghkq2da7) · Google Open Source Blog · 0 upvotes · 0 comments

---

Tags: [#gpu](https://daily.dev/tags/gpu), [#pytorch](https://daily.dev/tags/pytorch), [#compiler](https://daily.dev/tags/compiler)

[View this post on daily.dev](https://daily.dev/posts/triton-plugin-extensions-enabling-tlx-and-custom-compiler-passes-out-of-the-box-pytorch-urnwxmety)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Triton Plugin Extensions: Enabling TLX and Custom Compiler Passes Out of the Box – PyTorch","url":"https://daily.dev/posts/triton-plugin-extensions-enabling-tlx-and-custom-compiler-passes-out-of-the-box-pytorch-urnwxmety","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/triton-plugin-extensions-enabling-tlx-and-custom-compiler-passes-out-of-the-box-pytorch-urnwxmety"},"datePublished":"2026-07-15T15:12:31.998Z","dateModified":"2026-09-14T07:13:05.660Z","description":"PyTorch-Triton 3.7 introduces a plugin extensions system that lets developers load custom compiler passes, MLIR dialects, and DSL extensions into upstream...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6c6e8ee318693c4de6f5f85f45160b68?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6c6e8ee318693c4de6f5f85f45160b68?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"PyTorch","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"PyTorch","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/5fdab3d75a834a97a52d433d9c7e5ff9","url":"https://daily.dev/sources/pytorch"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/triton-plugin-extensions-enabling-tlx-and-custom-compiler-passes-out-of-the-box-pytorch-urnwxmety","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"gpu,pytorch,compiler","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"PyTorch","item":"https://daily.dev/sources/pytorch"},{"@type":"ListItem","position":3,"name":"Triton Plugin Extensions: Enabling TLX and Custom Compiler Passes Out of the Box – PyTorch"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/triton-plugin-extensions-enabling-tlx-and-custom-compiler-passes-out-of-the-box-pytorch-urnwxmety#faq","mainEntity":[{"@type":"Question","name":"How do I use Meta's TLX (Triton Language Extensions) without maintaining a fork of Triton?","acceptedAnswer":{"@type":"Answer","text":"Install the standalone utlx Python package, set the TRITON_PLUGIN_PATHS environment variable to point at it, and import the extensions. Starting with PyTorch-Triton 3.7, TLX is enabled by default on unmodified upstream Triton through a new plugin extensions system, replacing the previous requirement of building Meta's experimental Triton fork. Track Triton and TLX plugin updates on daily.dev as GPU kernel tooling keeps shifting away from forks."}},{"@type":"Question","name":"Does using Triton's plugin extension system for TLX add any performance overhead compared to a compiled-in fork?","acceptedAnswer":{"@type":"Answer","text":"No, the plugin-loaded path produces identical PTX and AMDGCN codegen to the compiled-in Meta fork, with equivalent performance and no measurable overhead. On NVIDIA H100, Triton plus TLX matches or exceeds cuBLAS on large GEMM shapes (up to +3.7%); on AMD MI350 it beats rocBLAS by 12-15% across tested matrix sizes. Engineers weighing kernel plugin systems against forks can follow these benchmarks on daily.dev."}},{"@type":"Question","name":"What operations does Meta's TLX (Triton Language Extensions) provide for GPU kernel memory management?","acceptedAnswer":{"@type":"Answer","text":"TLX exposes hardware-aware ops including tlx.local_alloc for shared memory buffer allocation, tlx.local_view for viewing buffers, tlx.async_load and its commit/wait group variants for asynchronous global-to-shared memory transfers, tlx.async_dot and tlx.async_dot_wait for asynchronous matmul-accumulate, and tlx.local_store/tlx.local_load for shared memory to register transfers. Developers building persistent GPU kernels can keep up with TLX op additions via daily.dev."}}]}
```

