why Mojo
Hello,
I came across Mojo a while back and I think I understood the purpose but please correct me if I am wrong.
Python with strong typing and MLIR lowering for compiling and accelerating code .. and it targets deep learning framewofk users.
Seems cool.. but why?
Why Mojo and not JAX which is pretty much well established in research.
What about GPUs?
How does it play with new hopper architecture.
Why Mojo and not triton... Why Mojo and not Pallas etc..
I have to say this .. that as someone who does C++, JAX and machine learning in research... I feel like I am the target user .. yet I am skeptical
I read this btw https://docs.modular.com/mojo/why-mojo
I don't see how mojo is better/ good enough to convince me to abandon the C++ nanobind python stack
Why Mojo🔥 | Modular Docs
A backstory and rationale for why we created the Mojo language.
2 Replies
Great questions and the fragmentation is exactly the issue that Modular is solving. I recommend watching this talk https://youtu.be/SEwTjZvy8vw?feature=shared
LLVM
YouTube
2023 LLVM Dev Mtg - Mojo 🔥: A system programming language for heter...
2023 LLVM Developers' Meeting
https://llvm.org/devmtg/2023-10
------
Mojo 🔥: A system programming language for heterogenous computing
Speaker: Abdul Dakkak, Chris Lattner, Jeff Niu
------
Slides: https://llvm.org/devmtg/2023-10/slides/keynote/Mojo.pdf
-----
This talk will give an overview of Mojo 🔥, a new programming language in the Python fami...
I watched the entire thing.
I loved the second talk and I see the amount of effort put in this project.
However, the third talk was way off and it made me more skeptical.
Thing is MLIR is great because it allows developers to make expressive API that represents computation.
2k like GEMM is not something a researcher will touch.
If I really need to do things very close to the GEMM implementation I would rather use NVIDIA cutlass.
I love the idea of this project and the technical expertise that you guys have but you are targeting the entire stack of development.. so I think that the language itself is not ready and it won't replace the current 'fragmeted' stack in the near future.