Anyone knows what Mojo is doing that Julia cannot do? I appreciate that Julia is currently limited by its ecosystem (although it does interface nicely with Python), but I don't see how Mojo is any better then.
Especially because Julia has pretty user friendly and robust GPU capabilities such as JuliaGPU and Reactant[2] among other generic-Julia-code to GPU options.
I get the impression that most of the comments in this thread don't understand what a GPU kernel is. These high-level languages like Python and Julia are not running on the kernel, they are calling into other kernels usually written in C++. The goal is different with Mojo, it says at the top of the article:
I guess that the interoperability with Python is a bit better. But on the other hand, the PythonCall.jl (allowing calling python from julia) is quite good and stable. In Julia, you have quite good ML frameworks (Lux.jl and Flux.jl). I am not sure that you have mojo-native ML frameworks which are similarly usable.
Mojo to me looks significantly lower level, with a much higher degree of control.
Also, it appears to be more robust. Julia is notoriously fickle in both semantics and performance, making it unsuitable for foundational software the way Mojo strives for.
I've looked into making Python modules with Julia and it doesn't look like that is very well supported right now. Where as it's a core feature of Mojo.
thetwentyone|5 months ago
1: https://enzymead.github.io/Reactant.jl/dev/ 2: https://enzymead.github.io/Reactant.jl/dev/
jb1991|5 months ago
> write state of the art kernels
You don't write kernels in Julia.
Alexander-Barth|5 months ago
jakobnissen|5 months ago
Also, it appears to be more robust. Julia is notoriously fickle in both semantics and performance, making it unsuitable for foundational software the way Mojo strives for.
Archit3ch|5 months ago
Sure, Mojo the language is more robust. Until its investors decide to 10x the licensing Danegeld.
bobajeff|5 months ago
dunefox|5 months ago
MohamedMabrouk|5 months ago
ubj|5 months ago
First-class support for AoT compilation.
https://docs.modular.com/mojo/cli/build
Yes, Julia has a few options for making executables but they feel like an afterthought.
jb1991|5 months ago
> write state of the art kernels
Julia and Python are high-level languages that call other languages where the kernels exist.
Sukera|5 months ago
[1] https://juliagpu.github.io/KernelAbstractions.jl/stable/
hansvm|5 months ago