this post was submitted on 09 Mar 2025
686 points (99.9% liked)
Technology
65819 readers
4898 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each other!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
- Check for duplicates before posting, duplicates may be removed
- Accounts 7 days and younger will have their posts automatically removed.
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The efficiency is not on the API it is on the microarchitecture. The value of copying the API is just to run unmodified software made for CUDA.
There's also a lot of efficiency in hardware-specific kernels. A generic rocm build vs. one with hand-written kernels (not even for the proper card just a close enough one to have the same instructions) is like a 10x performance drop. That's on the matrix multiply up to convolve these tensors level, on the layer above that you then have things like smart memory management and scheduling as well as minimising how much work needs to be done in the first place (re-ordering operations so tensors stay small) and stuff.
You can port cuda code to vulkan or opencl -- but you're going to have to reimplement all of that. Just getting the BLAS layer to not suck is a challenge.