VkFFT
ROCm
DISCONTINUED
Our great sponsors
VkFFT | ROCm | |
---|---|---|
37 | 198 | |
1,432 | 3,637 | |
- | - | |
8.1 | 0.0 | |
7 days ago | 4 months ago | |
C++ | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
VkFFT
-
VkFFT: Vulkan/CUDA/Hip/OpenCL/Level Zero/Metal Fast Fourier Transform Library
Not quite what I asked for, but close enough for now...
-
VkFFT now supports Apple Metal API - M1 Pro GPU FFT benchmarking
Hello, I am the creator of the VkFFT - GPU Fast Fourier Transform library for Vulkan/CUDA/HIP/OpenCL and Level Zero. In the latest update, I have added support for Apple Metal API, which will allow VkFFT to run natively on modern Apple SoC. I have tested it on MacBook Pro with an M1 Pro 8c CPU/14c GPU SoC single precision on 1D batched FFT test of all systems from 2 to 4096. Achieved bandwidth is calculated as 2*system size divided by the time taken per FFT - minimum memory that has to be transferred between DRAM and GPU:
-
Any good compute shader tutorials?
Another possible project to look at is https://github.com/DTolm/VkFFT
-
[R] Differentiable Conv Layer using FFT
Source: I have some of these things implemented in VkFFT that confirm the mentioned scaling of execution times.
- Resources for Vulkan GPGPU searched
-
Where to Learn Vulkan for parallel computation (with references to porting from CUDA)
https://github.com/DTolm/VkFFT is a project to look at.
-
The AMD “Aldebaran” GPU That Won Exascale
Incorrect. Vulkan has compute shaders[1], which are generally usable. Libraries like VkFFT[2] demonstrate basic signal processing in Vulkan. This can certainly be expanded upon, & there are numerous other non-graphical uses.
There is a Vulkan ML TSG (Technical Subgroup), which is supposed to be working on ML. Even Nvidia is participating, with extensions like VK_NV_cooperative_matrix, which specifically target the ml tensor cores.
There's people could probably say this better/more specifically, but I'll give it a try: Vulkan is, above all, an general standard for dispatching & orchestrating work usually on a GPU. Right now that work is most of often graphics, but that is far from a limit.
SYCL is, imo, the opposite of where we need to go. It's the old historical legacy that CUDA has, of writing really dumb ignorant code & hoping the tools can make it run well on a GPU. Vulkan, on the other hand, asks us to consider deeply what near-to-the-metal resources we are going to need, and demands that we define, dispatch, & complete the actual processing engines on the GPU that will do the work. It's a much much much harder task, but it invites in fantastic levels of close optimization & tuning, allows for far more advanced pipelining & possibilities. If the future is good, it should abandon SYCL and CUDA, and bother to get good at Vulkan.
[1] https://vkguide.dev/docs/gpudriven/compute_shaders/
[2] https://github.com/DTolm/VkFFT
[3] https://www.khronos.org/assets/uploads/developers/presentati...
-
VkFFT now supports Discrete Cosine Transforms
VkFFT supports convolution calculations - see samples 7, 8 and 9 in the VkFFT repository.
ROCm
-
AMD May Get Across the CUDA Moat
Yep, did exactly that. IMO he threw a fit, even though AMD was working with him squashing bugs. https://github.com/RadeonOpenCompute/ROCm/issues/2198#issuec...
-
ROCm Is AMD's #1 Priority, Executive Says
I don't know if they'll ultimately succeed or not, but they at least seem to be putting genuine effort into this. ROCm releases are coming out at a relatively nice clip[1], including a new release just a week or two ago[2].
Ok, I wonder what's wrong. maybe it's this? https://stackoverflow.com/questions/4959621/error-1001-in-cl...
Nope. Anything about this on the arch wiki? Nope
This bug report[2] from 2021? Maybe I need to update my groups.
[2]: https://github.com/RadeonOpenCompute/ROCm/issues/1411
$ ls -la /dev/kfd
-
Simplifying GPU Application Development with HMM
HMM is, I believe, a Linux feature.
AMD added HMM support in ROCm 5.0 according to this: https://github.com/RadeonOpenCompute/ROCm/blob/develop/CHANG...
-
AMD Ryzen APU turned into a 16GB VRAM GPU and it can run Stable Diffusion
Woot AMD now supports APU? I sold my notebook as i hit a wall when trying rocm [1] Is there a list oft Wirkung apu's ?
-
Nvidia's CUDA Monopoly
I think geohot is working on that with tinygrad. Activity on the ROCm repo seems to have increased a lot recently:
https://github.com/RadeonOpenCompute/ROCm/graphs/code-freque...
Last I heard he's abandoned working with AMD products.
https://github.com/RadeonOpenCompute/ROCm/issues/2198#issuec...
-
Nvidia H100 GPUs: Supply and Demand
[1] links to https://github.com/RadeonOpenCompute/ROCm/issues/2198 which has all the context (driver bugs, vowing to stop using AMD, Lisa Su's response that they're committed to fixing this stuff, a comment that it's fixed)
They're talking about the meltdown he had on stream [1] (in front of the mentioned pirate flag), that ended with him saying he'd stop using AMD hardware [2]. He recanted this two weeks after talking with AMD [3].
Maybe he'll succeed, but this definitely doesn't scream stability to me. I'd be wary of investing money into his ventures (but then I'm not a VC, so what do I know).
[1] https://www.youtube.com/watch?v=Mr0rWJhv9jU
[2] https://github.com/RadeonOpenCompute/ROCm/issues/2198#issuec...
[3] https://twitter.com/realGeorgeHotz/status/166980346408248934...
-
Why Nvidia Keeps Winning: The Rise of an AI Giant
He flamed out, then is back after Lisa Su called him (lmao)
https://geohot.github.io/blog/jekyll/update/2023/05/24/the-t...
https://www.youtube.com/watch?v=Mr0rWJhv9jU
https://github.com/RadeonOpenCompute/ROCm/issues/2198#issuec...
https://geohot.github.io/blog/jekyll/update/2023/06/07/a-div...
On a personal level that youtube doesn't make him come off looking that good... like people are trying to get patches to him and generally soothe him/damage control and he's just being a bit of a manchild. And it sounds like that's the general course of events around a lot of his "efforts".
On the other hand he's not wrong either, having this private build inside AMD and not even validating official, supported configurations for the officially supported non-private builds they show to the world isn't a good look, and that's just the very start of the problems around ROCm. AMD's OpenCL runtime was never stable or good either and every experience I've heard with it was "we spent so much time fighting AMD-specific runtime bugs and specs jank that what we ended up with was essentially vendor-proprietary anyway".
On the other other hand, it sounds like AMD know this is a mess and has some big stability/maturity improvements in the pipeline. It seems clear from some of the smoke coming out of the building that they're cooking on more general ROCm support for RDNA cards, and generally working to patch the maturity and stability issues he's talking about. I hate the "wait for drivers/new software release bro it's gonna fix everything" that surrounds AMD products but in this case I'm at least hopeful they seem to understand the problem, even if it's completely absurdly late.
Some of what he was viewing as "the process happening in secret" was likely people doing rush patches on the latest build to accommodate him, and he comes off as berating them over it. Again, like, that stream just comes off as "mercurial manchild" not coding genius. And everyone knew the driver situation is bad, that's why there's notionally alpha for him to realize here in the first place. He's bumping into moneymakers, and getting mad about it.
What are some alternatives?
tensorflow-directml - Fork of TensorFlow accelerated by DirectML
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
rocm-arch - A collection of Arch Linux PKGBUILDS for the ROCm platform
oneAPI.jl - Julia support for the oneAPI programming toolkit.
SHARK - SHARK - High Performance Machine Learning Distribution
plaidml - PlaidML is a framework for making deep learning work everywhere.
llama.cpp - LLM inference in C/C++
exllama - A more memory-efficient rewrite of the HF transformers implementation of Llama for use with quantized weights.
tensorflow-upstream - TensorFlow ROCm port
wgpu - Cross-platform, safe, pure-rust graphics api.
AdaptiveCpp - Implementation of SYCL and C++ standard parallelism for CPUs and GPUs from all vendors: The independent, community-driven compiler for C++-based heterogeneous programming models. Lets applications adapt themselves to all the hardware in the system - even at runtime!
ROCm-OpenCL-Runtime - ROCm OpenOpenCL Runtime