2023 LLVM Dev Mtg - Mojo 🔥: A system programming language for heterogenous computing

  Рет қаралды 45,641

LLVM

LLVM

5 ай бұрын

2023 LLVM Developers' Meeting
llvm.org/devmtg/2023-10
------
Mojo 🔥: A system programming language for heterogenous computing
Speaker: Abdul Dakkak, Chris Lattner, Jeff Niu
------
Slides: llvm.org/devmtg/2023-10/slide...
-----
This talk will give an overview of Mojo 🔥, a new programming language in the Python family built on MLIR and LLVM. Mojo aims to bridge the programmability and performance gap in systems programming by combining Python’s ergonomics and ecosystem with C++ and CUDA-level performance into a single language. We will describe how Mojo leverages the MLIR and LLVM infrastructures to provide meta-programming, user-defined code transformations, hardware backends, adaptive compilation, and auto-tuning to enable developers to achieve performance without sacrificing programmability.
-----
Videos Edited by Bash Films: www.BashFilms.com

Пікірлер: 80
@fabianwenger7133
@fabianwenger7133 4 күн бұрын
Smartly positioned, a bridge between expressive python and memory-aware low-level representation, Mr. Mojo Risin’ 👍
@melodyogonna
@melodyogonna 5 ай бұрын
You can't believe how excited I am for Mojo. I have yearned for a faster total reimplementation of Python for years. Go Modular!
@at0mly
@at0mly 5 ай бұрын
So much of the slowdown in my last company's data pipeline was from Python and its interpreter. Training our model took two days when the ML Engineers first built it, but I got it down to a few hours after spending a ton of time getting it to use multiprocessing, GPUs, and TPUs, and I was only given that time because we were working at a large, profitable company that had the budget to let me and my team spend months on it. Having Mojo would have been a godsend for us and likely would have saved months of fighting against the Python interpreter and nightly build versions of a bunch of different software.
@user-cs6ze7ve2j
@user-cs6ze7ve2j 5 ай бұрын
This might be transformative, I'm going to contribute the first day they make it open source!
@denisblack9897
@denisblack9897 5 ай бұрын
as an alltime swift guy from the first day it came out - i'm excited for Mojo i watch every interview with Chris and he never dissapoints
@xxxNERIxxx1994
@xxxNERIxxx1994 4 ай бұрын
1
@IkechiGriffith
@IkechiGriffith 5 ай бұрын
Thanks for this. A lot to unpack. I really hope Mojo succeeds in solving some of these challenges.
@christianm4906
@christianm4906 2 ай бұрын
This is way a much more attractive language than Rust. Looking forward to trying this.
@shilangyu
@shilangyu 5 ай бұрын
I don't care for Mojo, but I love hearing about the compiler tech!
@AdrienGuichard
@AdrienGuichard 5 ай бұрын
Thanks ! I have the mojo for Mojo.
@samuelem7333
@samuelem7333 5 ай бұрын
I don’t understood all stuff but I hyped to learn as much as possible!
@TheAIEpiphany
@TheAIEpiphany 5 ай бұрын
great work guys!
@taolee6164
@taolee6164 5 ай бұрын
Do you have matmul number on nvidia HW compared to their library?
@godDIEmanLIVE
@godDIEmanLIVE 5 ай бұрын
Chris is awesome.
@ismaelgrahms
@ismaelgrahms 5 ай бұрын
Amazing
@androth1502
@androth1502 4 ай бұрын
what's the roadmap for native windows release?
@nutritionfactsshorts
@nutritionfactsshorts 5 ай бұрын
Wow this is sick! My banana orchard is full of monitoring devices with scripts written in Python. If I port them to Mojo then my entire region will benefit from juicer, thicker bananas! Que bueno!
@user-zx3bm3uc4d
@user-zx3bm3uc4d Ай бұрын
cool video)
@McSlobo
@McSlobo 4 ай бұрын
We need fewer things... Proceeds with creating yet another thing.
@vt2788
@vt2788 Ай бұрын
Yeah not really..
@_____case
@_____case Ай бұрын
"Yet another thing" seems to misunderstand the stated goal. This isn't just a general purpose language that's meant to run on CPUs and serve HTTP requests. This is a toolchain for building software that can be deployed on a wide variety of accelerators. This is net-new value.
@ivan.jeremic
@ivan.jeremic 2 ай бұрын
Man I wish someone like Chris Lattner came to JavaScript to rebrand and fix it.
@zapporius
@zapporius 4 ай бұрын
so is it open source?
@trejohnson7677
@trejohnson7677 4 ай бұрын
need compiler guilds
@amr3162
@amr3162 5 ай бұрын
Chris Lattner has come a long way since his days as an intern working on Swift :D
@someghosts
@someghosts 5 ай бұрын
Inside joke?
@amr3162
@amr3162 5 ай бұрын
@@someghosts it's a joke from "2015 LLVM Developers’ Meeting: Joseph Groff & Chris Lattner “Swift's High-Level IR: A Case Study..."", Chris Lattner is the creator of Swift, and LLVM
@sebleaf8433
@sebleaf8433 5 ай бұрын
They said that their gemm implementation is 2k lines. So that means that you still need considerable expertise and time to write these core libraries?
@soracc_
@soracc_ 5 ай бұрын
Yes, but it's not fortran or c using intrinsics and pragma everywhere (check out the totally unreadable NumPy implementation). I think the whole point is to empower the experts.
@llothar68
@llothar68 5 ай бұрын
@@soracc_ Can’t see how this low level can be made more readable in any language.
@SohailSiadat
@SohailSiadat 5 ай бұрын
I am that unicorn that he said does not exist (in the beginning of the talk), yet I had trouble getting hired in a related job. (A PhD related to ML/AI + veteran in CS/CE)
@jawadmansoor6064
@jawadmansoor6064 3 ай бұрын
How did you get over 100K users in just one year? I remember just a few months ago it was very closed beta. Is it because of popularity of python?
@melodyogonna
@melodyogonna 2 ай бұрын
Lmao this is something Python developers has sought for years. Few years ago Rob Pike from Go said most of Go's early adopters were from Python. They were looking for a language as expressive as Python but with better performance. You can also see Python devs trying to adopt Rust. Mojo is a game changer for the Python community, the excitement is expected.
@pharaohpanda
@pharaohpanda 5 ай бұрын
Having the user have to define there own objective function for auto-tuning is the killer for me
@ITSecNEO
@ITSecNEO 2 ай бұрын
I see Mojo as a replacement for python, the fact that every python code will be valid and faster Mojo Code is just incredible. Its basically a python but with a real and strong type system. It even can be a very solid alternative to Rust if mojo can be as safe as Rust and handles unsafe stuff better than Rust
@Michallote
@Michallote 18 күн бұрын
I really havent seen that validated. When a python file is not COMPLETELY REWORKED it is not valid Mojo. So it supposedly defaults to python... that will be slower as calling python means you have to fire up the interpreter...
@PatrickSteil
@PatrickSteil 5 ай бұрын
Waiting for someone to explain what the heck they said lol jk I believe Python will take over as the de facto programming language within 5 years.
@davidcamp9335
@davidcamp9335 5 ай бұрын
I believe hamburgers will take over as the de facto sandwich within the decade
@PatrickSteil
@PatrickSteil 4 ай бұрын
@@ITSecNEO I should have specified I meant Python with the Mojo compliler will take over. :)
@davidrichards1302
@davidrichards1302 2 ай бұрын
Mojo is gated off behind an account registration, which could mean that Modular is eventually planning to require the purchase of paid licenses to use mojo. Mojo does not have an Open Source license. Also, Mojo is configured by default to surveil developer activities and send reports back to Modular. This rings loud warning bells, and that means mojo is certainly NOT for me, regardless of how fast it might be. The open source AI community can get by just fine with Python for a few short years, until AI evolves to the point where it can generate open source Python runtime system advances which rival mojo's speed and capabilities. That should only take 2-4 years, and Python's user community will not be seriously challenged Modular by then anyway. Language adoption takes *way* longer than that. By 2030 mojo will be nothing but a footnote in the history of AI. It's not worth the hassle to make a huge move to a new language that won't offer any significant value in five years' time. Just stick with Python, and with Python's excellent free and open user community. AI will level the playing field, in terms of execution speed soon enough.
@anon3118
@anon3118 5 ай бұрын
3:10 not a research project…say it again for the ppl in the back lol
@MatthewWalker0
@MatthewWalker0 5 ай бұрын
Some consider python "difficult to maintain". So I wonder if, in practice, combining that with user-authored kernel-specific optimization passes will be even harder to maintain.
@OREYG
@OREYG 5 ай бұрын
I believe that effect would be the opposite, big python projects are difficult to maintain because - a) performance overhead creeps in, and overcoming it becomes a technical debt. b) The language commonly is used to have things done asap (and that is good), and the maintainability is not a concern. c) Performance critical parts are written in C and C++. d) Code 'legacifies' over time with original developers leaving and their though being lost. What it would result in - is that you now can skip writing a library in C, that you would then funnel to Python; There is a better way to solve overhead creep; There would be more libraries that have better separation of concerns and less external dependencies; This is a huge win overall.
@MatthewWalker0
@MatthewWalker0 5 ай бұрын
@@OREYG Interesting perspective. I should have mentioned I was talking more about dynamic/duck typing makes testing & changing code hard, and how the directives may add another layer of complexity. One might have to worry about composing functions and how the directives interact. To your point though, code that would have these compiler directives would hopefully be mostly kernel code, which is very much write+profile once, then leave it alone! (ie. the forking approach to software maintenance :) )
@jasonjimenez9116
@jasonjimenez9116 Ай бұрын
I bet they are just doing this with python for now, but they will eventually invent a new AI focused language
@irabucc469
@irabucc469 4 ай бұрын
So you don't use numpy 😂😂
@berksteraydo9517
@berksteraydo9517 5 ай бұрын
Python is the glue code for many of these things I don't understand how this is useful for your aim of having a unified ai framework from bottom up.
@spikezlee
@spikezlee 4 ай бұрын
please Chris please go back to Tesla !!! patch things up with Elon . at this point in humanity history we need you there!!!!
@higaski
@higaski 5 ай бұрын
I'm sorry man, Mojo and it's infra might actually be something great, but the initial presentation and even the homepage is so full of B$ (68.000 times faster!!!11) that I have a hard time taking it seriously.
@vadzimdambrouski5211
@vadzimdambrouski5211 5 ай бұрын
In this day and age the clickbait is required. Without it your language would never hit the news and we won't be watching this video here. There are a lot of languages which we don't hear about simply because there is no hype around them, like nim or crystal.
@soracc_
@soracc_ 5 ай бұрын
Then see through the B$, and don't be the kid that giggles at dirty sounding names in a science class. It's quite easy try mojo to see if it has merit.
@melodyogonna
@melodyogonna 5 ай бұрын
Haha. Well it actually got that much faster but not with the code an average person would write. For normal Python - Mojo code it got about 100x faster.
@art9soft
@art9soft 5 ай бұрын
What is you definition of BS?
@randyt700
@randyt700 5 ай бұрын
I just hope for the love of God BDFL Chris hands it off to open source community. This proprietary stance is gonna kill it before it even hits the ground.
@liningpan7601
@liningpan7601 5 ай бұрын
Mojo basically adds all the bloated crap from cpp into python
@osagie6862
@osagie6862 3 күн бұрын
You’re wrong 😑
@yorailevi6747
@yorailevi6747 5 ай бұрын
Couldn't Mojo just been a python package?
@NickWindham
@NickWindham 5 ай бұрын
9:23
@yorailevi6747
@yorailevi6747 5 ай бұрын
@@NickWindhamI don't agree with that as a good reason
@NickWindham
@NickWindham 5 ай бұрын
@@yorailevi6747 fair enough
@OneNewBoy
@OneNewBoy 3 ай бұрын
No bro come on. Life is not that easy xD The « import package » culture of python devs is a bad thing. Software is a bit more complex than that. Building the technology is different from using it, so super high level tech users like python devs don’t see what’s happening underneath the tip of the iceberg.
@Michallote
@Michallote 18 күн бұрын
But you actually can and always see the source code... importing things is way better than whatever hell brews in rust every time you compile the thing
@i-am-linja
@i-am-linja 5 ай бұрын
You lost me with the concept (yet another "low-level" language with high-level syntax, with inevitable massive tradeoffs on both ends) then got me back with the pitch (optimised to mobilise the existing talent along a specific stack) then lost me again with the rationale (we can't get people off Python so we'll make not-Python and hope they don't notice) then slowly gained me back again as I thought about it (regardless of how intelligent or stupid the talent pool is, rewriting all existing code is just impractical) then almost lost me again again with those graphs (why is the comparison against _Python_ instead of anything people actually use for performance-critical code? which one of those bars is you and which other one do we care about?). In the end I'm conflicted. I'll say you've lost me because the 🔥seems to be part of the language name. You could have had me if you'd used Courier Prime for _all_ the monospace, not just some of it.
@pmcgee003
@pmcgee003 2 ай бұрын
😂 This one has had an entire roller-coaster ride out of this talk. That'll be $10.
@dickpiano1802
@dickpiano1802 5 ай бұрын
Man, so much waste of time with things like new languages. Spinning in a circle forever. Same thing going on with Linux distributions. Reinventing the wheel every day.
@_____case
@_____case 5 ай бұрын
And yet every time a new language takes off, there have been incredible innovations afforded to us by their features and ergonomics.
@dickpiano1802
@dickpiano1802 5 ай бұрын
@@_____case I don't know if you're right. It seems like every new language ends up being either slightly better than C or inferior to C.
@at0mly
@at0mly 5 ай бұрын
yeah man we should all still be writing assembly on pdp-10s. why did we ever even need to move past vax?
@dickpiano1802
@dickpiano1802 5 ай бұрын
@@at0mly that’s completely not what I said
@_____case
@_____case 5 ай бұрын
@@dickpiano1802 The vast majority of code I see people writing uses garbage collected languages. The concurrency primitives of Kotlin and Go are excellent. Rust provides serious memory safety guarantees while staying performant. If you really think that these are not tremendous innovations, then it sounds like you are being dogmatic.
@user-hp6gf7lu8c
@user-hp6gf7lu8c 2 ай бұрын
As a system programming language, it will be only compete with rust/c++. For web dev/machine learning/mobile app development/ERP, etc won't be affected a bit by this. 😂😂😂
@lukesdevtutorials
@lukesdevtutorials 5 ай бұрын
Wake me up when it's open-source 🥱
@budiardjo6610
@budiardjo6610 Ай бұрын
it is open for standard library
How To Choose Ramen Date Night 🍜
00:58
Jojo Sim
Рет қаралды 49 МЛН
原来小女孩在求救#海贼王  #路飞
00:32
路飞与唐舞桐
Рет қаралды 62 МЛН
ШЕЛБИЛАР | bayGUYS
24:45
bayGUYS
Рет қаралды 560 М.
Choosing Your Language: Python or Mojo?
14:33
ArjanCodes
Рет қаралды 107 М.
Common Lisp Debugging: Essential Tips and Techniques
7:30
The Lisper
Рет қаралды 2,4 М.
"The New COBOL" - Benno Rice (PyCon AU 2019)
25:54
PyCon AU
Рет қаралды 77 М.
So You Think You Know Git - FOSDEM 2024
47:00
GitButler
Рет қаралды 910 М.
The ARM chip race is getting wild… Apple M4 unveiled
4:07
Fireship
Рет қаралды 820 М.
Xiaomi Note 13 Pro по безумной цене в России
0:43
Простые Технологии
Рет қаралды 300 М.
Эффект Карбонаро и бумажный телефон
1:01
История одного вокалиста
Рет қаралды 368 М.
Такого вы точно не видели #SonyEricsson #MPF10 #K700
0:19
BenJi Mobile Channel
Рет қаралды 3,4 МЛН
❌УШЛА ЭПОХА!🍏
0:37
Demin's Lounge
Рет қаралды 306 М.