``` backendA= MyUMABackendA() backendB= MyUMABackendB() backendA.register() backendB.register() mod = backendA.partition(mod) mod = backendB.partition(mod) ``` Ah, that's the example I was missing (sorry!). After registration I think calling backend.partition or letting CollagePartition 'do it for you' seems like a free choice, and all we have to do is make sure Collage respects all the existing pass hooks (which, since I'm moving CUTLASS over the TargetHooks it has been forced to do anyway!).
> As it is now, they would not fall under the UMA integration API. > Only when the partitioning annotates a subgraph for the backend, it is > 'activated'. Given above I don't think either of these points is an issue: Collage will pickup both 'low level' and 'UMA-style' integrations without prejudice. There may be a temptation from users to add compiler-configuration into the backend ctor, but it sounds like we agree we'll keep that in the Target object instances, in which case everything blends nicely. So all LGTM from me, thanks for the extra explanation, and if any Collage-introduced friction shows up please just let me know and we can adjust mid-flight. Best, -m -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm-rfcs/pull/60#issuecomment-1134975629 You are receiving this because you are subscribed to this thread. Message ID: <apache/tvm-rfcs/pull/60/c1134975...@github.com>