Thanks @nihui, @tqchen, @jwfromm. I generalized this approach to handle devices that don't support the push descriptor (see the Stream::LaunchDeferred APIs), and devices that don't support dedicated allocation APIs, and removed the previous runtime implementation as @tqchen suggested. I also added some more tests which (under Vulkan API validation) revealed some thread safety bugs.
I think this should be closer to something that is acceptable, so I'll remove the RFC and WIP tags, this should be ready for review. File/class structure is certainly up for debate. I'm fine with whatever folks propose. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/dmlc/tvm/pull/3849#issuecomment-528190493