4 ms·
Hi Jeremy Howard here. I pop up in the launch video to demo super-fast matmul and mandelbrot in mojo. I'm pretty excited about this language, to say the least -
by jph00 3y ago
Hi Jeremy Howard here. I pop up in the launch video to demo super-fast matmul and mandelbrot in mojo. I'm pretty excited about this language, to say the least - not just for AI/ML, but for pretty much everything!
Lemme know if you have any questions and I'll answer as best as I can. (I'm an advisor to Modulo.)
- fvncc 3y agoHi is there any plan to have high level model training tools (one example is things like Pytorch dataset loaders), or is the focus more on inference/deployment use cases?
- jph00 3y agoIf I have anything to do with it, there will be high level model training tools. Perhaps something a little like fastai, for instance?...
- fvncc 3y agoThat would work nicely :)
- chrislattner 3y agoI can't speak for others, but I think fast.ai is pretty great...
- skybrian 3y agoI'm wondering how the Python interop is implemented. When you import a Python library, is there a separate interpreter that runs the Python code?
- jadodev 3y agoIt looks like the Mojo compiler/runtime hooks into the CPython interpreter. > We utilize CPython to run all existing Python3 code “out of the box” without modification and use its runtime, unmodified, for full compatibility with the entire ecosystem. Running code this way will get no benefit from Mojo, but the sheer existence and availability of this ecosystem will rapidly accelerate the bring-up of Mojo, and leverage the fact that Python is really great for high level programming already. https://docs.modular.com/mojo/why-mojo.html#how-compatible-is-mojo-with-python-really https://docs.modular.com/mojo/why-mojo.html#how-compatible-i...
- Archit3ch 3y agoHey, so this is kinda tangential, but I thought only Google can target TPUs, at least without going through an intermediate layer like OpenXLA. How are you handling that?
- jph00 3y agoI'm not sure of the details, but I believe that XLA is starting to use MLIR now, which is what Mojo uses behind the scenes. I'm not sure if Mojo will use MLIR directly or go via XLA.
- pama 3y agoAre there plans to port any major existing Python libraries to pure mojo (mojo that will not use CPython)? Is there a plan for a general purpose matrix or tensor library like numpy or pytorch, but in pure mojo?
- jph00 3y agoI'm not sure if it officially qualifies as a "plan", but a pure mojo numpy has certainly been discussed... personally I'd guess that's something that will need to be built to have this all work as well as possible.
- pama 3y agoThanks!
- fredguth 3y agoOpen-cv would benefit tremendously by migrating to mojo.
- pama 3y agoSeparate question: what is the eventual monetization strategy? Of course, feel free to not answer, though if that plan is not a secret and makes sense to people, it might help spread the technology.
- jph00 3y agoHeh I don't even know that myself - I'm just focussed on playing with Mojo. But note that Modular also has an inference engine which looks pretty amazing and seems likely to bring in big $$$ AFAICT.
- otoburb 3y agoAlthough there are no concrete implementations to review, the implication was that Mojo will/can be used standalone (similar to a Python implementation), so one is not necessarily locked onto the Modular platform. Was this a correct understanding? Also, will the next version of the FastAI library be written in Mojo?
- jph00 3y agoMojo can actually create fully standalone binaries, so you don't even need a Mojo install to run them! Also the binaries are really small compared to languages that need a big runtime (e.g. a binary containing the matmul implementation is ~100kb). I'm not sure how long it will take before there's enough ML/DL functionality to write something like fastai in Mojo. I think there will be at least one more major version of fastai in Python. And even when Mojo can support what fastai needs, I expect to continue to supporting fastai on python as well.
- adgjlsfhk1 3y agoHow does that work given that the binary needs to lug around a CPython binary (unless you want to depend on the OS python)? Also, how does this deal with python libraries?
- jph00 3y agoThe binary doesn't need to lug around a CPython binary. Mojo is a compiler that uses MLIR to compile standalone binaries. (Unless you use `python.import`, which uses the CPython interpreter.)
- adgjlsfhk1 3y agobut won't that include most applications for the foreseeable future? I assume no one is going to be rewriting the entire data processing/web stack from python to mojo in the near future, right?
- samuell 3y ago
- shgidigo 3y agoWhere is the video?
- piotr001 3y agohttps://www.youtube.com/watch?v=6GvB5lZJqcE https://www.youtube.com/watch?v=6GvB5lZJqcE
- dom96 3y agoWhen can we expect to get access to the Mojo playground?