Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.)



Are 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?


I'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.


Thanks!


Open-cv would benefit tremendously by migrating to mojo.


Although 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?


Mojo 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.


So, should the absence of an answer to the question of a standalone compiler be interpreted as that this will not happen?

Reason for asking: Without a stand-alone, open source compiler chain, Mojo will be out of question for one of the most exciting application areas I can think of: Computational biology.


How 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?


The 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.)


but 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?


Separate 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.


Heh 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.


Hi 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?


If I have anything to do with it, there will be high level model training tools. Perhaps something a little like fastai, for instance?...


That would work nicely :)


I can't speak for others, but I think fast.ai is pretty great...


Hey, 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?


I'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.


When can we expect to get access to the Mojo playground?


I'm wondering how the Python interop is implemented. When you import a Python library, is there a separate interpreter that runs the Python code?


It 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-i...


Where is the video?





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: