I just took a quick read of Numba roadmap 2023 and I wonder how Numba could benefit from architectural design decisions of Mojo: GitHub - modularml/mojo: The Mojo Programming Language. Specifically, I have MLIR (https://mlir.llvm.org/) in mind. Apologies for a wishy-washy post, but I’m a new Numba user with a very limited knowledge of its internals.
This doesn’t answer your question but I found this graphic to have an interesting perspective of such projects. It looks like it doesn’t have mojo included yet.
There is work ongoing that is attempting to use MLIR in Numba for the parallel regions of the code as identified when you have the parallel=True njit flag.
There is an exploratory Numba to MLIR integration: GitHub - numba/numba-mlir: POC work on MLIR backend. The work mostly explores replacing the post-typing lowering phase in Numba.
And as @DrTodd13 mentioned, there is an exploratory work to reimplement Numba’s loop parallelizer using MLIR.
I feel at this time Mojo sits parallel to both Cpython and Numba.
There will also be a presentation about numba-mlir next week in the public dev meeting:
Hi, apologies to revive this thread, but I have now posted a longer blog post on this topic that I think helps frame the comparison and give some thoughts on the relation the two projects could have: