4 ms·
I'm very eager to see GPU acceleration make its way into audio production, which is all still heavily CPU bound. A Free GPUFFT implementation will certainly he
by Mizza 6y ago
I'm very eager to see GPU acceleration make its way into audio production, which is all still heavily CPU bound.
A Free GPUFFT implementation will certainly help! Great work.
- adamnemecek 6y agoIt's not gonna happen, audio is much less throughput intensive but a lot more latency sensitive.
- singhrac 6y agoI've heard credible claims that GPUs these days (esp. TPUs) have lower latency for big models than CPUs. I haven't really investigated, but I could see it happening if you give the TPU a huge L1 cache or something.
- someguydave 6y agoPerhaps for large calculations? Otherwise the PCI transfer delay would be a big latency hit?
- adamnemecek 6y agoYeah until TPUs can directly communicate with the sound card, it sounds slow.
- codetrotter 6y agoI would think a GPU might help if you have a lot of audio channels and a lot of effects on each channel. But even if that is not the case, machine learning is making its way into music production tools more and more. No doubt a beefy GPU will be useful to a lot of music production professionals in the future at least, as the tools they are using begin to leverage ML more and more.
- colejohnson66 6y agoCould it be possible to “prerender” the audio on the GPU when it’s not being worked on (say, a track not being edited)? Then just play that track if it’s not edited before the user hits play?
- Mizza 6y agoThis is classic way of reducing CPU usage, just bounce a part of a track to raw audio an play it back so it doesn't need to render in real time. A GPU doesn't really change the equation there. There are some methods of synthesis which rely on FFT which can't really be done well in real-time with the CPU (PadSynth, PaulStretch) that I'm hoping this will help with.
- viraptor 6y agoWhy do you think it's not going to happen? And for which use case? The time budget to refresh a video frame is 8ms on 120HZ if everything else came free. In practice closer to <4ms. So even looking at the close to worst conditions, that's about the delay of the sound traveling a meter - should be fine for a lot of real life applications.
- necubi 6y agoAudio processing is real-time, which means that you cannot miss your deadline. If you do miss you get audible glitches, whereas in graphics you just get a slowdown. For that reason, audio code is written in a very particular, real-time safe style that avoids locks, allocations, syscalls, and anything else that is not guaranteed to return within a bounded amount time. How long the deadline is depends on your buffer size and sample rate. To my ear, buffer sizes of >128 samples (at a sample rate of 44.1 KHz) have detectable latency (although the amount of latency will depend also on how many applications are in your signal chain). At 128 samples you have just under 3ms to do your processing. Also note that for graphics, the output is the GPU itself. So you don't need to wait for the output to move back to the CPU, it's already where it needs to be.
- andi999 6y agoWhat OS are we talking? It sounds like you need a real time os.
- reitzensteinm 6y agoYou can read off a GPU in 10us, which is just a single sample at 96khz. If your entire stack lived in the GPU, and you're just reading out the result, this is trivial. If you're constantly copying buffers back and forth because some effects are implemented in the CPU and some in the GPU, not so much! It's probably the case that a full stack GPU implementation would blow what we have out of the water, but you'd lose your entire ecosystem in the process, so it's probably never going to happen.
- Twirrim 6y agoWhat's the latency for integrated GPUs?
- reitzensteinm 6y agoCrystalwell had a shared CPU/GPU L4 cache with ~50ns latency. I don't think there was a programming model where you could bounce data back and forth that fast, but I don't see a reason why the hardware wouldn't be capable of it.
- cma 6y agoSony is trying some stuff along those lines with the PS5. They have one compute unit on the GPU with a few features fused off that is dedicated to audio.
- mmis1000 6y agohttps://en.wikipedia.org/wiki/AMD_TrueAudio https://en.wikipedia.org/wiki/AMD_TrueAudio I believe AMD did that, but there is little to no softwares actually make use of it.