You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I haven't really thought about it yet. But Melior is just a thin layer on top of the MLIR C API. So I think at least it's easy to make basic objects Send and Sync (we can just mark them with the traits unsafely) if they are at the C++ level.
For the context and dialect loading, when we mark the context, module, and other related types Sync and invoke the same passes at the same time, I believe that would not be thread-safe according to the documentation. So if basic objects like Operation, Type, etc. should be marked Sync, we might have no choice but to introduce dynamic checks for that and mark a context object Sync as well.
Also, I think at least everything is Send because parallel passes exist.
Whats the current status and plan on this?
According to the docs its looks complicated, apparently the MLIR context is thread safe but some stuff isnt https://mlir.llvm.org/getting_started/Faq/#registered-loaded-dependent-whats-up-with-dialects-management
The text was updated successfully, but these errors were encountered: