Comments (2)
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.
from melior.
Just for notes, currently, regions and blocks can't be Sync
because of #347.
from melior.
Related Issues (20)
- TOSA dialect type inference error
- melior 0.14.1 is broken if Cargo.lock contains melior-macro 0.8.0 and not 0.8.1 HOT 2
- Upcoming LLVM 18 HOT 6
- Investigate segfaults due to wrong API usage. HOT 1
- Remove unnecessary context arguments from auto-generated dialect API
- Fix field initialization by ODS operation builders HOT 1
- Split `include_dialect!` macro
- Do not generate modules in `include_dialect!` HOT 1
- Improve argument types in ODS dialects
- CallOperationBuilder should take `callee_operands` HOT 1
- Dialect types
- [Feature request] Wrapper type for callable JIT functions.
- Melior unable to find LLVM/MLIR-17 HOT 1
- Implement MLIR tutorial in melior
- Error compiling melior-macro on macos using brew HOT 4
- Safety of `OperationRef::to_ref()` HOT 2
- dialect macro doesn't generate builder function to set return types for operations which don't support type inference
- IRDL support for custom dialect definition HOT 1
- melior cannot find melior-macro when building from source HOT 1
- `previous_in_block()` returns next operation in block HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from melior.