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

preview_player
Показать описание
2023 LLVM Developers' Meeting
------
Mojo 🔥: A system programming language for heterogenous computing
Speaker: Abdul Dakkak, Chris Lattner, Jeff Niu
------
-----
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.
-----
Рекомендации по теме
Комментарии
Автор

You can't believe how excited I am for Mojo. I have yearned for a faster total reimplementation of Python for years. Go Modular!

melodyogonna
Автор

Being and engineer and programmer myself and notoriously hard to impress: My deepest respect for Chris and his work!

hansdietrich
Автор

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.

atmly
Автор

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

denisblack
Автор

This might be transformative, I'm going to contribute the first day they make it open source!

AhmedAbidelli
Автор

This is way a much more attractive language than Rust. Looking forward to trying this.

christianm
Автор

Thanks for this. A lot to unpack. I really hope Mojo succeeds in solving some of these challenges.

IkechiGriffith
Автор

I don't care for Mojo, but I love hearing about the compiler tech!

shilangyu
Автор

Mojo is the most excited I have been for a language in a very long time.
In my view, it is set to do what Julia tried to do and failed, precisely because Mojo people understood that they have to meet people where they are, and they are in Python.
Julia changed too many things to the point that it was annoying to remember what was the same and what was different (and also Julia is a 1-based index language, instead of 0-based, which is such a small difference and such a annoying source of bugs).
I hope to start to use Mojo soon, when it is more matured.

JackDespero
Автор

I don’t understood all stuff but I hyped to learn as much as possible!

samuelem
Автор

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!

nutritionfactsshorts
Автор

what's the roadmap for native windows release?

androth
Автор

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)

SohailSiadat
Автор

Do you have matmul number on nvidia HW compared to their library?

taolee
Автор

Man I wish someone like Chris Lattner came to JavaScript to rebrand and fix it.

ivan.jeremic
Автор

Chris Lattner has come a long way since his days as an intern working on Swift :D

amr
Автор

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

ITSecNEO
Автор

Looking through the language documentation, I miss: a switch or match statement, the ability to make that an expression, pattern matching, guards, sum datatypes (you can't define your own version of optional in mojo), tuples, structure and tuple decomposition... Get rid of def as fn is much better and add those things and we are talking. But cudos for producing a value semantic programming language that does perform well. Swift failed to achieve that (yet). The performance of mojo-generated code is impressive.

olafschluter
Автор

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?

sebleaf
Автор

Having the user have to define there own objective function for auto-tuning is the killer for me

pharaohpanda