Skip to content

[triton-ext][FrontEnd] Custom DSL Plugin Ops#9626

Merged
CRobeck merged 37 commits into
triton-lang:mainfrom
CRobeck:custom_dialect_ops
Mar 19, 2026
Merged

[triton-ext][FrontEnd] Custom DSL Plugin Ops#9626
CRobeck merged 37 commits into
triton-lang:mainfrom
CRobeck:custom_dialect_ops

Conversation

@CRobeck
Copy link
Copy Markdown
Contributor

@CRobeck CRobeck commented Mar 3, 2026

Adds Top level Python DSL Custom Op extensions. This PR fills out the remaining functionality to define a fully out of tree Custom Op and lowering.

Co-authored w/ @plotfi

@CRobeck CRobeck force-pushed the custom_dialect_ops branch 3 times, most recently from 2393917 to 9a3c63a Compare March 3, 2026 20:54
@plotfi plotfi force-pushed the custom_dialect_ops branch 5 times, most recently from d25f0aa to c88e9e7 Compare March 10, 2026 01:12
@CRobeck CRobeck marked this pull request as ready for review March 10, 2026 19:10
@CRobeck CRobeck requested review from lezcano and ptillet as code owners March 10, 2026 19:10
@CRobeck CRobeck changed the title [triton-ext][Draft] Custom DSL Plugin Ops [triton-ext][FrontEnd] Custom DSL Plugin Ops Mar 10, 2026
@CRobeck CRobeck force-pushed the custom_dialect_ops branch from 72eeee3 to 5e89e28 Compare March 10, 2026 19:40
@CRobeck CRobeck force-pushed the custom_dialect_ops branch from 5e89e28 to c88e9e7 Compare March 10, 2026 19:42
@plotfi plotfi force-pushed the custom_dialect_ops branch 4 times, most recently from 22a6041 to 1cb7236 Compare March 10, 2026 20:06
Comment thread python/src/ir.cc Outdated
Comment thread python/triton/language/semantic.py Outdated
@plotfi plotfi force-pushed the custom_dialect_ops branch from bf71fe0 to 49acef8 Compare March 13, 2026 18:45
Copy link
Copy Markdown
Collaborator

@ThomasRaoux ThomasRaoux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, few questions/comments

Comment thread python/src/ir.cc Outdated
Comment thread python/test/unit/plugins/custom_ops.py
Comment thread python/test/unit/plugins/custom_ops.py Outdated
Removed unused functions get_key and get_hash from custom_ops.py.
@CRobeck CRobeck force-pushed the custom_dialect_ops branch 3 times, most recently from c8eb8b2 to 286bce8 Compare March 18, 2026 02:36
@CRobeck CRobeck force-pushed the custom_dialect_ops branch from 286bce8 to 1864dc6 Compare March 18, 2026 02:45
@CRobeck
Copy link
Copy Markdown
Contributor Author

CRobeck commented Mar 18, 2026

@ThomasRaoux review comments should be addressed. Thanks!

@CRobeck CRobeck merged commit 152d5f0 into triton-lang:main Mar 19, 2026
9 checks passed
@CRobeck CRobeck deleted the custom_dialect_ops branch March 19, 2026 18:00
raymondtay pushed a commit to raymondtay/triton that referenced this pull request Mar 22, 2026
Adds Top level Python DSL Custom Op extensions. This PR fills out the
remaining functionality to define a fully out of tree Custom Op and
lowering.

Co-authored w/ @plotfi

---------

Co-authored-by: Puyan Lotfi <puyan@puyan.org>
Co-authored-by: Puyan Lotfi <34139736+plotfi@users.noreply.github.com>
jvican pushed a commit to jvican/triton that referenced this pull request Mar 27, 2026
Adds Top level Python DSL Custom Op extensions. This PR fills out the
remaining functionality to define a fully out of tree Custom Op and
lowering.

Co-authored w/ @plotfi

---------

Co-authored-by: Puyan Lotfi <puyan@puyan.org>
Co-authored-by: Puyan Lotfi <34139736+plotfi@users.noreply.github.com>
plotfi added a commit to plotfi/triton that referenced this pull request Apr 8, 2026
Adds Top level Python DSL Custom Op extensions. This PR fills out the
remaining functionality to define a fully out of tree Custom Op and
lowering.

Co-authored w/ @plotfi

---------

Co-authored-by: Puyan Lotfi <puyan@puyan.org>
Co-authored-by: Puyan Lotfi <34139736+plotfi@users.noreply.github.com>
(cherry picked from commit 152d5f0)
plotfi added a commit to plotfi/triton that referenced this pull request Apr 8, 2026
Adds Top level Python DSL Custom Op extensions. This PR fills out the
remaining functionality to define a fully out of tree Custom Op and
lowering.

Co-authored w/ @plotfi

---------

Co-authored-by: Puyan Lotfi <puyan@puyan.org>
Co-authored-by: Puyan Lotfi <34139736+plotfi@users.noreply.github.com>
(cherry picked from commit 152d5f0)
(cherry picked from commit e82ae38)
@plotfi plotfi mentioned this pull request Apr 8, 2026
atalman pushed a commit that referenced this pull request Apr 10, 2026
[triton-ext] Update plugin extension changes for release 3.7.x

cherry-picking the following plugin extension changes since January:

- **[triton-ext] Fix garbage string in reported errors (#9687)**
- **[triton-ext] add string arguments to addPass API (#9691)**
- **[triton-ext][FrontEnd] Custom DSL Plugin Ops (#9626)**
- **[triton-ext] Drop LLVM_BUILD_SHARED_LIBS, enable libtriton
visibility through TRITON_EXT_ENABLED (#9783)**
- **[triton-ext] Pass a single `PluginInfo *` pointer (#9748)**
- **[triton-ext] plugin extension's version check (#9937)**

---------

Co-authored-by: Andrew Brown <andrew@kernelize.ai>
Co-authored-by: Corbin Robeck <robeck@meta.com>
plognjen pushed a commit to plognjen/triton that referenced this pull request Apr 14, 2026
Adds Top level Python DSL Custom Op extensions. This PR fills out the
remaining functionality to define a fully out of tree Custom Op and
lowering.

Co-authored w/ @plotfi

---------

Co-authored-by: Puyan Lotfi <puyan@puyan.org>
Co-authored-by: Puyan Lotfi <34139736+plotfi@users.noreply.github.com>
peterbell10 pushed a commit that referenced this pull request Apr 24, 2026
#9626 added a way to construct custom ops by depending on
`python/src/ir.h`, a header not present in the installation artifacts
(#9534) used for building plugins in
[triton-ext](https://github.com/triton-lang/triton-ext). If we don't
want to move this header to a directory already packaged up by CMake
(#9826), we could additionally package up the headers in the `python`
directory instead: this change does exactly that.

In doing so, it also exposed another problem in how we package up these
installation artifacts. We currently only package up files ending in
`*.h`, so `Dump.hpp` and `GetEnv.hpp` were not included. To fix this,
this change renames these files to `Dump.h` and `GetEnv.h` which seems
more in line with the rest of the project.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants