Rendered at 21:06:54 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
roflcopter69 1 days ago [-]
Tbh, Modular getting acquired happened sooner than I would have expected, if ever. Don't know how to feel about this one.
Also so many mixed feelings about Mojo, the programming language powering Modular. Of course Chris Lattner is free to pursue whatever he wants, his many contributions to tech will always be highly regarded, but to me it feels as if he "wasted" lots of his precious mental capacity on making Mojo a python-like language instead of trying to come up with something better from first principles. I know, the promise of Mojo eventually being a Python superset has been taken back, which I think is the right move, and I understand why Mojo's initial motivation for being close to Python was to attract ML folks, but I'm getting counterfactual regret just by thinking about what Chris Lattner could have achieved by making a new programming language truly from scratch and not letting some undesireable pythonisms muddy the language.
Anyway, sorry for rambling. Congrats to the team at Modular!
samuell 1 days ago [-]
I'm actually mostly worried about the future of Mojo at this time.
Though hopefully it will be fully released open source still, but I feel there are question marks around whether it will be a priority to continue to develop by Qualcomm, or if they are mainly interested in the AI compute stack?
Time will tell I guess, but a lot feels to be up in the air.
mshockwave 7 hours ago [-]
indeed, open sourcing is only half (or even less) of the picture: who is driving the open source community and how it is driven (i.e. governing structure) are probably more important IMHO. There are countless of cases where an open source project is either killed by slow death, or dictated by a single entity. Chris's previous projects like LLVM and MLIR are fortunate enough to grow and thrive organically, and that takes years if not decades to cultivate
samuell 1 days ago [-]
Maybe Chris was a little unhappy about where Mojo ended up, and sees this as an opportunity to start anew on a properly designed language from scratch :D
roflcopter69 1 days ago [-]
[flagged]
samuell 1 days ago [-]
No, this was pure speculation based on what seems like a popular view on where Mojo ended up, where the initial Python-focus don't seem to help it that much anymore.
throwawaygod 24 hours ago [-]
But they changed their goal from being a python superset to pythonish language with great python interoperability. The only other thing they could've done differently is making the language not look like python superficially.
I think chris achieved his goal of creating a language which takes full advantage of MLIR and also not repeating some of the mistakes made with swift's development.
roflcopter69 1 days ago [-]
I'm sorry, I read your message slightly wrong. Okay, makes sense to me.
augment_me 14 hours ago [-]
Which is interesting given the Mojo blogs where they shit on the other pythonic eDSLs like Triton saying that it's a dead end
ainch 22 hours ago [-]
They've said that Mojo is still on track to be open-sourced this year, post-acquisition.
dagi3d 14 hours ago [-]
According to their website, yes it will be opensourced soon
agreeablegoose 1 hours ago [-]
Disclaimer: I work for Modular.
Just wanted to confirm that we're still open sourcing Mojo this year!
And appreciate the nuanced feedback.
adev_ 14 hours ago [-]
> sorry for rambling.
You're right to ramble. I also believe that the world need a high level language fitting for accelerators that is not Python.
However developing something like that is by all means not a trivial task and many failed there.
havercosine 14 hours ago [-]
Though, Modular should have been the team to do it. My theory is that they raised too much money too soon. With that kind of money, you get anxious investors waiting to see some magic on quarterly timelines. So Modular was forced to be compatible with Python as there's no other way to win quick developer mindshare. (Though I don't think they managed to do that either).
A closest counter path I would have expected Modular to follow was Zig or Oxide computers (I know not apples to apples comparision). Start actually attacking the problem with hindsight and lessons of 30 years of Python, build something fresh, and try to patiently win the market.
Rust is not going to win this market. The language has too much syntax friction to win over data science/AI folks and doesn't offer too much in parallel programming world. Julia, although beautiful attempt, couldn't gather enough support outside academia.
In fact, if Nvidia cuTile, Triton, Jax keep delivering, Python seems unmatched at the moment. It is likely to be in the similar position that C/C++ have been in embedded and firmware world.
pjmlp 11 hours ago [-]
Julia and the Python JITs from GPU vendors will.
Mojo already lost the moment AMD, NVIDIA and Intel decided to fully support Python and Julia.
Additionally all of the parallel programming improvements in ISO C++ are coming from them as well, Modular did not have much moat when being a follower and not a driver.
melodyogonna 5 hours ago [-]
How did Mojo already lose when Qualcomm just made a $4B bet on it? You're forgetting that the language is still pre-1.0.
The way I think of this... if Modular is able to remain an open platform, being part of an established corporation with existing customers is a better way to drive penetration compared to acquiring new customers.
markkitti 2 hours ago [-]
I'm not really sure if Mojo has lost or not, but the community has felt quite different than other language communities I have encountered. The development feels less organic and more driven by venture capital. This is most acutely felt in the current closed source development of mojo itself, which seems like it will continue into the near future.
I look forward to seeing open source mojo and the community that will bring.
melodyogonna 1 hours ago [-]
> The development feels less organic and more driven by venture capital
The development has been driven by the needs of Modular.
> This is most acutely felt in the current closed source development of mojo itself
Mojo compiler is closed, the language development is quite open. Some of the proposed changes have been shelved or tweaked based on community feedback. However, you should understand that the compiler is closed to avoid design by committee and bike-shedding, Modular will and does veto decisions on core language semantics, see: https://forum.modular.com/t/canonicalize-apis-around-int/253...
> which seems like it will continue into the near future.
The compiler is getting opened this August. I must admit, a lot of people who would be normally interested in the language are hesitant to poke at it with a stick with the current license (myself included).
The language has really great set of features and functionalities wrapped in a familiar syntax, I have zero doubt it'll reach mainstream adoption.
pjmlp 3 hours ago [-]
The founders won the lottery, the language most likely will never make mainstream.
melodyogonna 3 hours ago [-]
Ha! I think whether Mojo will make mainstream or not is already a forgone conclusion. It solves too much of a technical problem to be niche. To me, it is a matter of when... not if.
markkitti 36 minutes ago [-]
It is not the only solution to that technical problem though. Past attempts at this have shown a clear preference for solutions that actually are extensions of CPython rather than distinct tool chains.
melodyogonna 10 minutes ago [-]
Past attempts at what exactly, I'm not sure I follow. Are you talking about two-language problem, heterogenous compute, or cross-platform accerelated compute stack?
adev_ 13 hours ago [-]
> My theory is that they raised too much money too soon.
That's also my feeling. And that's the curse of many VC funded companies. And they are not even in the classical state of enshitification yet.
> Rust is not going to win this market.
Agree. Rust will never win this market. Nor Zig, which has the same genetical flaws as C++ for accelerators (excessive usage of pointer semantics among others).
> Julia, although beautiful attempt, couldn't gather enough support outside academia.
I will look mean, but for me, Julia is a language that never went to the design board. It sticked to a "Let's put Python on top of LLVM and add a proper GC" with one single objective: "let's make a clone of Python but fast".
My feeling is also that it is an academia niche and will remain one.
> In fact, if Nvidia cuTile, Triton, Jax keep delivering, Python seems unmatched at the moment.
It is, and it is honestly pretty depressing.
Triton solves most of the performance issues of Python for accelerators but also introduces one (several on fact) more DSL, one more tooling ecosystem and solves none of the (long list of) issues related to Python/Numpy programming model.
markkitti 5 minutes ago [-]
I do not think Julia ever intended to be a Python clone. Julia was created in 2009 when Python was not as popular as today.
I think the statement is a strange one to make about a language that emerged from a PhD thesis. While one could say the objectives of Julia's design were academic (e.g. multiple dispatch) and more attention could have been paid to the practical application of the approach (e.g. where and how do we cache all this machine code we are generating), I find it incredulous to say a six year long PhD dissertation process was not a design phase.
I think this is unfair to Julia. It has a strong lisp lineage, the just ahead of time compilation model is interesting and I think they were the first to make it work.
I agree that it's lacking in many ways, but it's not just Python on LLVM.
pjmlp 11 hours ago [-]
Lisp, see Connection Machine and Star Lisp.
Several decades of their time.
Best of all, it is actually compiled without JIT drama.
This is the reasoning behind the guys that have created a whole new Common Lisp frontend to LLVM for biochemistry research at MIT.
fragmede 5 hours ago [-]
What is the drama with JIT? Vs AoT?
pjmlp 3 hours ago [-]
The JIT adoption drama in Python versus other programming languages ecosystems, equally dynamic.
khurs 8 hours ago [-]
Looked up Mojo
"Mojo aims to combine the usability of a high-level programming language, specifically Python, with the performance of a system programming language such as C++, Rust, and Zig
Mojo builds on the Multi-Level Intermediate Representation (MLIR) compiler software framework, instead of directly on the lower level LLVM compiler framework like many languages such as Julia, Swift, C++, and Rust.[16][17]
MLIR is a newer compiler framework that allows Mojo to exploit higher level compiler passes unavailable in LLVM alone, and allows Mojo to compile down and target more than only central processing units (CPUs), including producing code that can run on graphics processing units (GPUs), Tensor Processing Units (TPUs), application-specific integrated circuits (ASICs) and other accelerators.
It can also often more effectively use certain types of CPU optimizations directly, like single instruction, multiple data (SIMD) with minor intervention by a developer, as occurs in many other languages"
To say nothing of "Swift for TensorFlow" when Julialang was an option.
To each their own!
pjmlp 23 hours ago [-]
He already did that, Swift for Tensorflow, the project hardly survived one year after the public announcement.
adev_ 15 hours ago [-]
> Swift for Tensorflow, the project hardly survived one year after the public announcement.
This was doom to fail from the beginning.
Swift will always have the image of an Apple product binded and controlled by the Apple ecosystem. This is very unlikely to change.
Nobody sane of mind would bind there entire technology stack on something half proprietary with a support was from the beginning secondary outside of Apple platforms.
adonese 16 hours ago [-]
I think that was the motivation to make Mojo a superset of python.
pjmlp 14 hours ago [-]
Yes, but apparently even that ended up being a pivot, with just enough Python, and now lets see what Qualcom makes out of it.
jdub 19 hours ago [-]
"first principles" and "from scratch" are predictable failure modes... he had very good reason to pursue a Python-like language given the circumstances and objectives
roflcopter69 16 hours ago [-]
I think I get what you mean and I should have been more precise in my wording. I didn't mean that an alien language that looks nothing like we have ever seen but for the sake of doing it "right" from scratch would have been a good idea. A new programming language definitely should steal the ideas of other languages that turned out to be good. But Mojo also adopted some of the arguably bad ideas from Python just because there was too much design pressure to appeal to Python programmers. I wonder what Mojo could have looked like without this particular pressure. Basically, with what kind of programming language would a person with as much experience and good taste as Chris Lattner come up with if there were no such external pressures?
markkitti 3 minutes ago [-]
> what kind of programming language would a person with as much experience and good taste as Chris Lattner come up with if there were no such external pressures?
Swift
boxed 8 hours ago [-]
> But Mojo also adopted some of the arguably bad ideas from Python
Like what?
fancyfredbot 16 hours ago [-]
Modular now joins SYCL, OpenCL, and One API on the list of cross platform languages which never really became cross platform.
After so long and so much investment in AI, the best cross-platorm API we've got for high performance Kernels is vulcan, a graphics API. That is sad.
Still, this is pretty good for Modular's employees, probably good for Qualcomm. It's just terribly disappointing for anyone who invested time learning mojo in the hope it might actually become cross platform.
0xpgm 10 hours ago [-]
I might be reading this differently, but isn't the acquisition a bet that Modular will become a manufacturer-agnostic software stack?
> "We believe the future belongs to developer-friendly, horizontal platforms that can run across diverse compute environments and give customers real choice in how and where they deploy AI," Qualcomm CEO Cristiano Amon said.
paufernandez 7 hours ago [-]
I also believe this. And I think very few people can pull it off, and Chris Latt ner is precisely one of them. I hope that the agreement includes open sourcing Mojo at some point. Chris mentioned fall 2026, iirc.
melodyogonna 16 seconds ago [-]
Mojo compiler will be open in August.
mshockwave 7 hours ago [-]
one of the reasons I rarely read press releases is that I don't believe in promises -- I believe in _incentives_. In this case, what will Qualcomm be incentivized to do? What are in their interests?
geodel 4 hours ago [-]
Ok, what will be Qualcomm incentive? Selling few hundred Mojo license for few thousand dollars each. Or making it open source hoping it may make big in AI / data science community and may help sell more Qualcomm hardware?
vovavili 4 hours ago [-]
Qualcomm has an enormous incentive in breaking Nvidia's CUDA grip on GPU programming.
fancyfredbot 2 hours ago [-]
Having Mojo support multiple platforms creates incentive to adopt Mojo and therefore write code in a language which can compile and run on Qualcomm hardware. This is good for Qualcomm.
However the danger is that the language sees wide adoption but nobody uses it with Qualcomm hardware. Instead it might encourage people to buy AMD. This is a terrible outcome for Qualcomm. They paid to boost someone else's sales.
So the incentive is to make sure it runs best on Qualcomm and to at least slightly hobble other hardware. But the safest thing overall is to support Nvidia, Qualcomm, and that's it.
pjmlp 11 hours ago [-]
The competition to CUDA and proprietary 3D APIs always overlooks developer productivity.
For some strange reason there is this expectation, maybe due to UNIX background of those folks, that portable APIs have to exist without good IDE tooling, no graphical debuggers, no high level programming models, no libraries ecosystem.
Then for some "strange" reason, GPU developers mostly pick proprietary and the cycle repeats itself.
melodyogonna 10 hours ago [-]
But the Modular stack is focused on developer productivity. It is still early but there has been substantial work on all these
pjmlp 9 hours ago [-]
I am yet to see the same Windows love as CUDA.
Same to IDE integration and graphical debugging experience for GPU code.
Until now, it was been the usual UNIX cli, and text mode lldb like debugging for CPU side.
At least it what I have been made aware of.
melodyogonna 3 hours ago [-]
It doesn't have a lot of Windows support yet because nobody deploys datacenter-scale AI serving on Windows OS.
pjmlp 9 minutes ago [-]
Plenty of people do learn CUDA on Windows laptops....
But I get we don't want to get them on board, only complain how NVIDIA takes over everything.
ipsum2 14 hours ago [-]
The best cross-platform API is CUDA, because we have ROCm.
pjmlp 11 hours ago [-]
Only superficially, given what CUDA provides and what ROCm supports.
ssivark 1 days ago [-]
Qualcomm seems to be assembling a whole portfolio of technologies/products aimed at
1. Moving beyond ARM to RISC-V
2. Being competitive for AI/could needs instai of just chips for phones and other edge devices.
Interesting to see bold and high-conviction moves in this direction. Tenstorrent, Modular, Ventana, Alphawave, etc.
MobiusHorizons 17 hours ago [-]
> Moving beyond ARM to RISC-V
The reason to move away from arm has nothing to do with performance, but rather avoiding licensing snafus like happened with their laptop chips. So far no one has delivered a risc-v core with class leading performance outside of the really low end. Not saying it can’t be done, but it will likely be a step back at first.
monkeydust 10 hours ago [-]
Whats peoples thoughts on Tenstorrent - they were looking for funding on Hiive recently but that deal got pulled when Qualcomm rumours surface a week or so ago.
bobajeff 1 days ago [-]
It's kind of funny that Modular is getting acquired by a hardware company considering what it's founder has said repeatedly in interviews and articles about how those companies fail to make AI stacks.
I call BS, zero chance this traded at $4B. The fact they describe it as a "chip company" shouldn't give confidence
melodyogonna 1 days ago [-]
Qualcomm has acquired excellent engineering talent here, the infrastructure I've seen Modular build in the 3 years I've followed the company is insane.
bit_economist 1 days ago [-]
It's interesting that acquire.fyi data shows tech M&A deal volume is down 11% year to date, but total deal value is up 40%. So, fewer deals are closing in tech, but the deals that are closing are much larger. I wish we had the deal value for this one.
cocoflunchy 1 days ago [-]
It's the first sentence of the article? "an all-stock deal valued at nearly $4 billion"
maxloh 22 hours ago [-]
I don't get it.
Qualcomm has almost no products in the high-end inference/training market. The industry standard is the NVIDIA Hopper H100/H200.
What could they possibly get from acquiring Modular?
sobkas 21 hours ago [-]
> I don't get it.
>
> Qualcomm has almost no products in the high-end inference/training market. The industry standard is the NVIDIA Hopper H100/H200.
>
> What could they possibly get from acquiring Modular?
Don't ask what they will gain from owning it, ask what they will gain from others not owning it...
nl 20 hours ago [-]
> Qualcomm has almost no products in the high-end inference/training market.
There's actually a lot of ML deployed on phones. Both Google's and Apple's photo software uses it heavily for example.
> The industry standard is the NVIDIA Hopper H100/H200.
B200/B300/GB300 actually...
ipsum2 14 hours ago [-]
Nah, the vast majority of popular deployed models are still on Hopper.
toxicdevil 21 hours ago [-]
Qualcomm is pivoting.
It's now focusing on inferencing, both for data centers and edge. They already have an older AI100 NPU card and have other products in the pipeline including server class CPU that they are targeting for "Agentic" applications.
bradfa 21 hours ago [-]
Are the Qualcomm Dragonfly chips not considered high end?
re-thc 20 hours ago [-]
> I don't get it. Qualcomm has almost no products in the high-end inference/training market
You're allowed to get a new job. Qualcomm is allowed to enter new markets.
mathisfun123 21 hours ago [-]
You've never heard of an acquihire?
osigurdson 16 hours ago [-]
I don't think $4B is reasonable for an acquihire. They must see value in the technology.
mathisfun123 15 hours ago [-]
It's an all stock deal. No cash. With undoubtedly a very healthy earn out.
> They must see value in the technology.
What value? Mojo doesn't currently support any of Qualcomm's GPUs.
fvrghl 5 hours ago [-]
I have a friend who works at Modular. FWIU, the employees got shafted by the acquisition financially.
mathisfun123 2 hours ago [-]
Yes I know multiple people there as well and heard the same thing.
disgruntledphd2 12 hours ago [-]
Exactly. If they can buy this talent to make their GPUs more valuable, then this deal makes sense.
I'm actually a little happier about this deal than expected as it means the language may actually become open source.
Either this was the plan all along (cashing in on the bubble) or it’s an admission of failure.
bwfan123 6 hours ago [-]
Mojo seemed like a passion project. The fundamental problem was never the lack of a great programming language, and inventing a python bastard child of a language is not a solution. But, respect and congrats to the Modular folks. HW companies have notoriously bad software teams and culture and hopefully this injects some good sw dna into the acquirer.
YuechenLi 23 hours ago [-]
I honestly think Mojo would be better served if it is just a high-level language for GPU programming that compiles down to PTX with clear Python/Rust interop boundaries instead of trying for the "one language, multiple computational model" thing that they seem to be going for. The programming model between CPU and GPU programming is very different: code that runs best on CPU with heavy branching behaviors should not be written the same way as massively parallel matrix multiplication oriented GPU code, which I think they will be forced to do in the MLIR level anyway.
So, you end up with a language that looks like Python, but doesn't behave like Python, and companies that adopt Mojo early with the promise of Python compatibility may find themselves running into edge cases with difficult to trace compiler error messages that would be nearly impossible to debug, especially with the addition of Zig style `comptime` as their metaprogramming model.
markkitti 18 hours ago [-]
Yesterday, LineShine a supercomputer in China emerges as #1 in the Top500 using ARM v9 based chips and no GPUs. Today, Qualcomm a premier designer of ARMv9 licensed chips in the United States acquires Modular, who has been creating a compiler stack that provides an alternative to NVIDIA's CUDA stack.
Are you ready for Qualcomm ARMv9 powered inference running Mojo/MAX written kernels doing low-cost inference at scale for AI?
IMcD23 15 hours ago [-]
Are you a bot?
carterschonwald 5 hours ago [-]
so the most notoriously patent oriented tech firm is buying this up. lol ;)
good for the founders. also explains why my resume got dropped on the floor as a desk reject :p
dwa3592 22 hours ago [-]
Has anyone used mojo/modular extensively in their work? I installed it as soon as it was available but never went past the toy examples.
disgruntledphd2 12 hours ago [-]
I have a friend who is doing stuff with it, and he's incredibly excited about it, which is definitely a good sign.
I was really excited about it at launch, but its proprietary nature put me off.
amoshebb 11 hours ago [-]
I tried, also all a little while ago, really found the puzzles fun to do and then tried to implement some basic radar pipeline things and found lots of just basic 'building blocks' for signal processing (i/o things, fft) were missing to the point I went back to JAX.
I'm still not manage memory on GPU the way I would like, but mojo (or, my ignorant first stab at it) did not let me exploit direct DMA type things anyway.
fnands 9 hours ago [-]
What radar pipelines are you working on (out of pure curiosity here)
23 hours ago [-]
revengerwizard 1 days ago [-]
Oh, that is unexpected... I tried applying for a position at Modular a few days ago.
fishgoesblub 20 hours ago [-]
Welp, I think I can give up on my hope for Mojo.
cisrockandroll 7 hours ago [-]
RIP Modular
WhereIsTheTruth 1 days ago [-]
Of all possible acquirers, Qualcomm is the worst outcome for Mojo, rip
afr0ck 1 days ago [-]
Why you say that? Nuvia made a massively great success with Oryon CPUs which are now all over the place.
re-thc 20 hours ago [-]
> Nuvia made a massively great success
Not true. Nuvia has had huge delays as part of the acquisition. It resulted in ARM licensing lawsuits and many more and things dragged out.
refulgentis 17 hours ago [-]
Yes, ARM sued Qualcomm, Qualcomm won, and separately Nuvia has shipped, 2, 3? times now? I don't know how it's a failure or if the delay were "huge" and "dragged out". It's not like it launched an old product or took years and years and years. 39 months between acquisition and Snapdragon X Elite being available for purchase.
re-thc 16 hours ago [-]
> 39 months between acquisition and Snapdragon X Elite being available for purchase.
Yes a world of a difference. That’s competing against an Apple M2 vs M4. You’ve given yourself 2 generations of disadvantage.
You’re equivalent of saying the Intel delays were a success too.
refulgentis 16 hours ago [-]
> You’re equivalent of saying the Intel delays were a success too.
If Trump nuked TSMC's production lines the day before M1 went to production, and the production lines came back 3 years later, would Apple ship the M1 on it? Or, the M3?
As you point out, it makes 0 sense to ship the M1.
If it makes 0 sense, why project that idea onto me?
When faced with a contradiction, first, check your premises. (and read your interlocutor's, "It's not like it launched an old product" obviates your claim that I'd also applaud Intel's delays)
re-thc 16 hours ago [-]
> As you point out, it makes 0 sense to ship the M1.
But that's what happened. Go check the benchmarks. Clearly you haven't. That Snapdragon X that got released (1st gen) was way off the mark.
> When faced with a contradiction
When faced with a hallucination...
refulgentis 3 hours ago [-]
You switched your claim from "they released the same chip they would have released 3 years earlier and you're stupid for thinking that was a good idea" to "I thought it was slow [because I'm hyperfocused on Apple competition and forgot the perf vs. Intel/AMD]".
sipjca 15 hours ago [-]
Hasn't pretty much everyone from Nuvia left QC at this point?
bigyabai 22 hours ago [-]
Nvidia wasn't going to buy them. Unless Mojo intended to compete toe-to-toe in the hardware space, they were destined to get bought out by a hardware underdog at some point or another.
This is where an industry-spanning consortium would have helped out, but Mojo never really built those inroads with the hardware space. They just expected everyone else to opt-in to their mercurial middleware, which is a fundamental misunderstanding of how and why CUDA is successful.
semiinfinitely 1 days ago [-]
latty gotta get his baggy
mlazos 12 hours ago [-]
Wtf? What a joke, but I mean the best way to become a billionaire is convince someone with a billion dollars to give it to you. This is actually insane, wow. I guess Qualcomm is desperate? Nobody was bidding for this, but congrats to the team at modular?! I’m actually salty about this because like I don’t feel like mojo was even good after trying it out.
vshulcz 11 hours ago [-]
[flagged]
1 days ago [-]
ChrisArchitect 1 days ago [-]
[dead]
levodelellis 23 hours ago [-]
[flagged]
samuell 1 days ago [-]
As a meta comment, I'm surprised such a news is not reaching the frontpage already.
zapzupnz 22 hours ago [-]
It's on the front page now.
lr1970 1 days ago [-]
There are multiple HN submissions on this topic and none of them gets traction. Weird...
Also so many mixed feelings about Mojo, the programming language powering Modular. Of course Chris Lattner is free to pursue whatever he wants, his many contributions to tech will always be highly regarded, but to me it feels as if he "wasted" lots of his precious mental capacity on making Mojo a python-like language instead of trying to come up with something better from first principles. I know, the promise of Mojo eventually being a Python superset has been taken back, which I think is the right move, and I understand why Mojo's initial motivation for being close to Python was to attract ML folks, but I'm getting counterfactual regret just by thinking about what Chris Lattner could have achieved by making a new programming language truly from scratch and not letting some undesireable pythonisms muddy the language.
Anyway, sorry for rambling. Congrats to the team at Modular!
Though hopefully it will be fully released open source still, but I feel there are question marks around whether it will be a priority to continue to develop by Qualcomm, or if they are mainly interested in the AI compute stack?
Time will tell I guess, but a lot feels to be up in the air.
Just wanted to confirm that we're still open sourcing Mojo this year!
And appreciate the nuanced feedback.
You're right to ramble. I also believe that the world need a high level language fitting for accelerators that is not Python.
However developing something like that is by all means not a trivial task and many failed there.
A closest counter path I would have expected Modular to follow was Zig or Oxide computers (I know not apples to apples comparision). Start actually attacking the problem with hindsight and lessons of 30 years of Python, build something fresh, and try to patiently win the market.
Rust is not going to win this market. The language has too much syntax friction to win over data science/AI folks and doesn't offer too much in parallel programming world. Julia, although beautiful attempt, couldn't gather enough support outside academia.
In fact, if Nvidia cuTile, Triton, Jax keep delivering, Python seems unmatched at the moment. It is likely to be in the similar position that C/C++ have been in embedded and firmware world.
Mojo already lost the moment AMD, NVIDIA and Intel decided to fully support Python and Julia.
Additionally all of the parallel programming improvements in ISO C++ are coming from them as well, Modular did not have much moat when being a follower and not a driver.
I look forward to seeing open source mojo and the community that will bring.
The development has been driven by the needs of Modular.
> This is most acutely felt in the current closed source development of mojo itself
Mojo compiler is closed, the language development is quite open. Some of the proposed changes have been shelved or tweaked based on community feedback. However, you should understand that the compiler is closed to avoid design by committee and bike-shedding, Modular will and does veto decisions on core language semantics, see: https://forum.modular.com/t/canonicalize-apis-around-int/253...
> which seems like it will continue into the near future.
The compiler is getting opened this August. I must admit, a lot of people who would be normally interested in the language are hesitant to poke at it with a stick with the current license (myself included).
The language has really great set of features and functionalities wrapped in a familiar syntax, I have zero doubt it'll reach mainstream adoption.
That's also my feeling. And that's the curse of many VC funded companies. And they are not even in the classical state of enshitification yet.
> Rust is not going to win this market.
Agree. Rust will never win this market. Nor Zig, which has the same genetical flaws as C++ for accelerators (excessive usage of pointer semantics among others).
> Julia, although beautiful attempt, couldn't gather enough support outside academia.
I will look mean, but for me, Julia is a language that never went to the design board. It sticked to a "Let's put Python on top of LLVM and add a proper GC" with one single objective: "let's make a clone of Python but fast".
My feeling is also that it is an academia niche and will remain one.
> In fact, if Nvidia cuTile, Triton, Jax keep delivering, Python seems unmatched at the moment.
It is, and it is honestly pretty depressing.
Triton solves most of the performance issues of Python for accelerators but also introduces one (several on fact) more DSL, one more tooling ecosystem and solves none of the (long list of) issues related to Python/Numpy programming model.
I think the statement is a strange one to make about a language that emerged from a PhD thesis. While one could say the objectives of Julia's design were academic (e.g. multiple dispatch) and more attention could have been paid to the practical application of the approach (e.g. where and how do we cache all this machine code we are generating), I find it incredulous to say a six year long PhD dissertation process was not a design phase.
The thesis in question can be found here: https://github.com/JeffBezanson/phdthesis/blob/master/main.p...
I agree that it's lacking in many ways, but it's not just Python on LLVM.
Several decades of their time.
Best of all, it is actually compiled without JIT drama.
This is the reasoning behind the guys that have created a whole new Common Lisp frontend to LLVM for biochemistry research at MIT.
"Mojo aims to combine the usability of a high-level programming language, specifically Python, with the performance of a system programming language such as C++, Rust, and Zig
Mojo builds on the Multi-Level Intermediate Representation (MLIR) compiler software framework, instead of directly on the lower level LLVM compiler framework like many languages such as Julia, Swift, C++, and Rust.[16][17]
MLIR is a newer compiler framework that allows Mojo to exploit higher level compiler passes unavailable in LLVM alone, and allows Mojo to compile down and target more than only central processing units (CPUs), including producing code that can run on graphics processing units (GPUs), Tensor Processing Units (TPUs), application-specific integrated circuits (ASICs) and other accelerators.
It can also often more effectively use certain types of CPU optimizations directly, like single instruction, multiple data (SIMD) with minor intervention by a developer, as occurs in many other languages"
https://en.wikipedia.org/wiki/Mojo_(programming_language)
To each their own!
This was doom to fail from the beginning.
Swift will always have the image of an Apple product binded and controlled by the Apple ecosystem. This is very unlikely to change.
Nobody sane of mind would bind there entire technology stack on something half proprietary with a support was from the beginning secondary outside of Apple platforms.
Swift
Like what?
After so long and so much investment in AI, the best cross-platorm API we've got for high performance Kernels is vulcan, a graphics API. That is sad.
Still, this is pretty good for Modular's employees, probably good for Qualcomm. It's just terribly disappointing for anyone who invested time learning mojo in the hope it might actually become cross platform.
> "We believe the future belongs to developer-friendly, horizontal platforms that can run across diverse compute environments and give customers real choice in how and where they deploy AI," Qualcomm CEO Cristiano Amon said.
However the danger is that the language sees wide adoption but nobody uses it with Qualcomm hardware. Instead it might encourage people to buy AMD. This is a terrible outcome for Qualcomm. They paid to boost someone else's sales.
So the incentive is to make sure it runs best on Qualcomm and to at least slightly hobble other hardware. But the safest thing overall is to support Nvidia, Qualcomm, and that's it.
For some strange reason there is this expectation, maybe due to UNIX background of those folks, that portable APIs have to exist without good IDE tooling, no graphical debuggers, no high level programming models, no libraries ecosystem.
Then for some "strange" reason, GPU developers mostly pick proprietary and the cycle repeats itself.
Same to IDE integration and graphical debugging experience for GPU code.
Until now, it was been the usual UNIX cli, and text mode lldb like debugging for CPU side.
At least it what I have been made aware of.
But I get we don't want to get them on board, only complain how NVIDIA takes over everything.
1. Moving beyond ARM to RISC-V
2. Being competitive for AI/could needs instai of just chips for phones and other edge devices.
Interesting to see bold and high-conviction moves in this direction. Tenstorrent, Modular, Ventana, Alphawave, etc.
The reason to move away from arm has nothing to do with performance, but rather avoiding licensing snafus like happened with their laptop chips. So far no one has delivered a risc-v core with class leading performance outside of the really low end. Not saying it can’t be done, but it will likely be a step back at first.
* https://www.modular.com/blog/democratizing-ai-compute-part-9...
Qualcomm has almost no products in the high-end inference/training market. The industry standard is the NVIDIA Hopper H100/H200.
What could they possibly get from acquiring Modular?
Don't ask what they will gain from owning it, ask what they will gain from others not owning it...
There's actually a lot of ML deployed on phones. Both Google's and Apple's photo software uses it heavily for example.
> The industry standard is the NVIDIA Hopper H100/H200.
B200/B300/GB300 actually...
It's now focusing on inferencing, both for data centers and edge. They already have an older AI100 NPU card and have other products in the pipeline including server class CPU that they are targeting for "Agentic" applications.
You're allowed to get a new job. Qualcomm is allowed to enter new markets.
> They must see value in the technology.
What value? Mojo doesn't currently support any of Qualcomm's GPUs.
I'm actually a little happier about this deal than expected as it means the language may actually become open source.
So, you end up with a language that looks like Python, but doesn't behave like Python, and companies that adopt Mojo early with the promise of Python compatibility may find themselves running into edge cases with difficult to trace compiler error messages that would be nearly impossible to debug, especially with the addition of Zig style `comptime` as their metaprogramming model.
Are you ready for Qualcomm ARMv9 powered inference running Mojo/MAX written kernels doing low-cost inference at scale for AI?
good for the founders. also explains why my resume got dropped on the floor as a desk reject :p
I was really excited about it at launch, but its proprietary nature put me off.
I'm still not manage memory on GPU the way I would like, but mojo (or, my ignorant first stab at it) did not let me exploit direct DMA type things anyway.
Not true. Nuvia has had huge delays as part of the acquisition. It resulted in ARM licensing lawsuits and many more and things dragged out.
Yes a world of a difference. That’s competing against an Apple M2 vs M4. You’ve given yourself 2 generations of disadvantage.
You’re equivalent of saying the Intel delays were a success too.
If Trump nuked TSMC's production lines the day before M1 went to production, and the production lines came back 3 years later, would Apple ship the M1 on it? Or, the M3?
As you point out, it makes 0 sense to ship the M1.
If it makes 0 sense, why project that idea onto me?
When faced with a contradiction, first, check your premises. (and read your interlocutor's, "It's not like it launched an old product" obviates your claim that I'd also applaud Intel's delays)
But that's what happened. Go check the benchmarks. Clearly you haven't. That Snapdragon X that got released (1st gen) was way off the mark.
> When faced with a contradiction
When faced with a hallucination...
This is where an industry-spanning consortium would have helped out, but Mojo never really built those inroads with the hardware space. They just expected everyone else to opt-in to their mercurial middleware, which is a fundamental misunderstanding of how and why CUDA is successful.