Agreed, they have different uses and promises. I’d still want TOSA even if TCP is a thing. In fact the first legalization I’d want is TOSA to TCP, that’s how I’d want to interact with it and feed models to it. TOSA and {MHLO, TCP} don’t have as much overlap for me as others seem to feel.
I think the discussion here oversold frontend aspect. I’d go so far as to say the current positioning post discussions is “convenient common ops for entry of codegen or that restricted back ends need as library calls” rather than frontends. I’m not convinced any frontend should target TCP in fact. TCP comes lower in stack for me. Same thing as XLA HLO, it’s not convenient to target directly from frontend.
There is maintenance cost too. In tree it could also be made to optionally build. Which would also make opt-in explicit initially.
It is of new groups to MLIR that haven’t been part of the community. Which could benefit from working along with folks who’ve been in the community to ensure it works well (e.g., being new may actually be reason to do it with maximal visibility).
Folks don’t seem to mention the benefit here of that too: when bootstrapping you can go full out in making changes whichever way, you can update to latest version of LLVM repo and torch-mlir repo when it fits you (no maintenance while experimenting), it doesn’t accidentally become load bearing until you are ready (e.g., no churn for users who accidentally started using it as it wasn’t behind flag or what not). There is a lot of freedom during this initial phase which helps.
Now if this is very close to some other external dialects then perhaps not much baking is needed as a lot of existing code to look at it.
This will indeed be in a central spot and hence it is important that the folks it aims to serve be involved. There are different mechanisms here to do that. And perhaps the initial version of this is dialect with ~3 ops (scatter, gather, FFT) and then the semantics of those can be bashed out.