Dissecting the Apple M1 GPU, the end
134 points by calvin
134 points by calvin
I think the Asahi Linux project is a very positive and successful example for women in computer science, that could serve as great inspiration to many. Alyssa Rosenzweig and Asahi Lina have delivered top-notch work over the years, and were, in my eyes, essential for the success of the project!
There is a small teaser at the end hinting at Intel’s Xe-HPG. Let’s see what the future will bring!
Alyssa updated her resume to show that she is now working at Intel:
That’s a great match, given Intel appears to be currently mostly bottlenecked by bad drivers, not necessarily bad hardware.
However, this does not really indicate a bright future for the Asahi Linux project. While I trust the current drivers are well-designed and robust, Apple seems to more or less overhaul their device trees and processor architectures with each M generation, so you need deep domain knowledge to keep the code current. I don’t know how big the support group for this is, but given the huge support Asahi Linux got (still gets?) on Patreon tells me that if someone steps up, there will be adequate financial compensation.
That’s a great match, given Intel appears to be currently mostly bottlenecked by bad drivers, not necessarily bad hardware.
They generally do seem to have software issues. Their OneAPI and related SYCL stuff is a headache to work with. Funnily enough. AdaptiveCpp, written mostly by one guy, is imo a way better implementation of the SYCL standard.
As soon as it gets close to hardware the ability to release libraries with sensible setups seems to decrease.
AMD and Nvidia are annoying sometimes as well. I still remember when HIP had a required ENV variable for searching the hip library + friends instead of using the system tools first if the var was unset. An override would’ve been fine. But my system has ld,pkgconf and generally a package manager for a reason.
Maybe it’s a side effect of how the best practice within ubuntu seems to be to install in /usr/local by hand.
Edit: In the sense that some seem to install their custom libs + headers in custom locations without ld env paths pointing towards those. And even if LD_PATH etc were setup. pkgconf and/or CMakeFiles are often missing then.
Yep. I don’t have many heroes in software engineering I can easily look up to, except these two ladies. I wish them the best of luck in the future, whatever it brings.
Another hero of mine is Dominic Szablewski, the guy behind PhobosLab and inventor of the QOI and QOA file formats.
Oh shoot. Never heard of QOA, I’m definitely putting this into my collection of tech for gamedev.
He also wrote a single C header MPEG-1/MP2 library, which would also be very useful in game development. All patents have run out, and they offer decent compression ratios.
It could be an interesting project to look into MPEG-1 with L3 audio or MPEG-2/MP3, whose patents have all expired too. Most interesting I think would be MPEG-4 Part 2, whose patents expired in January 2024.
I have loved watching this effort through blog posts, etc. It’s been a joy to watch it come to fruition and learn a little a long the way. Alyssa and Lina and folks have done solid work that not only makes the ARM Macs useful to those who want to run Linux now, but also extends the lifespan of that hardware likely far longer than Apple will support first-party with macOS updates. That’s foundational work that will be around for a generation.
Really impressive work. It’s really inspirational watching a new generation pay it forward.