NVIDIA / NVIDIA/TensorRT

Can plugins override built-in operators with the same name?

Open
#4,686 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
13.4k
Forks
2.4k
Avg merge
5d 3h
Merged PRs (30d)
2

Description

Description

I would like to confirm whether TensorRT intentionally does not support overriding built-in operators with plugins that share the same operator name. In current usage, when a built-in operator exists, registering a plugin with the same name appears to have no effect.

If this is the expected behavior, it can be limiting in practice. Users register a same-named plugin obviously indicates that the built-in implementation is insufficient—for example, due to performance issues or incomplete shape or dimension support. Blocking override removes a reasonable optimization path.

ONNX is an intermediate representation and should remain generic and extensible. Forcing users to invent non-standard operator names solely to bypass TensorRT’s built-in behavior breaks semantic clarity, reduces portability, and is conceptually awkward, since the plugin still implements the same logical operator.

Request

Please consider supporting a conflict-resolution mechanism between built-in operators and plugins, such as explicit priority, precedence rules, or versioning, so users can intentionally choose a custom plugin over the default implementation.

This would improve extensibility while preserving parser clean and ONNX graph standard.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named. Start by locating TensorRT’s built-in operator resolution and plugin registration behavior, then document the current precedence rules and the requested conflict-resolution options. Done would require a maintainer-approved design or implementation scope for intentionally selecting a same-named plugin.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.