Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

milo

macrumors 604
Original poster
Sep 23, 2003
6,891
523
Any reports on how Logic or similar apps are running would be much appreciated. There are also some audio benchmarks that would be great to get for the new machines.
 
Audio/OpenCL developer here…

You're probably not going to get any benefit from GPUs in audio processing any time soon. Most audio stuff that matters is done in realtime with tiny buffer chunks being processed at any given time for low latency.

OpenCL does not really fit in with the realtime audio processing model, because you must ship data over to the GPU's VRAM for processing, and ship it back to get your results. Those "shipments" are pretty slow, and aren't useful for this purpose.

Before you go and point to video effects as an example of "realtime OpenCL use", you're ignoring the fact that the image data is already on the card, so the "shipments" I mention above are eliminated.

Frankly if someone's buying a Mac Pro solely for audio use, I'd advise that you stick with the d300s and put that extra cash towards more RAM and external storage.
 
Thanks for the info. I have low expectations for OpenCL use (although it sounds like some things like convolution might be possible), just curious how Logic runs in general. Even without taking advantage of the GPU I would hope it would get a decent amount of power from a configuration with six cores or more.
 
I am not sure I buy this.
I own an ancient TC powercore DSP processor for audio plugins as well as a fairly new FW800 DSP processor by Univeral Audio Digital.
Of course firewire benefits from isochronous transfer, but the DSP in both processors does have local ram (though not 3 or 6gb!).
From my understanding it's simply a matter of plug in delay compensation. Which pretty much all DAWs do automatically these days.
I do not see why Logic could not be configured on the back end to allocate some of the processing for effects, like convolution reverbs or amp sims, and adjust the delay to match the roundtrip.
After all, as a rule we generally don't record audio with plugins on the input. We play back from storage and add plug ins to taste during the mixdown phase. So "advancing" the audio to a GPU to process it before playing it back in sync with non-processed tracks shouldn't be an issue.

I said "not any time soon", not "never". The trouble is that this re-architecting of Logic to use OpenCL would take some time, not to mention it would require plugins to jump on board with whatever support is required.

In the case of your custom, ancient DSP hardware, we're talking apples and oranges. First off, DSP hardware eats signals for breakfast. GPUs need to be "bent" a little bit in order to do audio processing, and their parallelism can only be exploited with huge data sets.

Second, plugin devs need to think very differently about the problem space they've been solving for years, and re-engineer their plugins completely (if this was feasible to begin with.) Look at how slow the 64-bit plugin transition is going, and that's way less difficult a transition IMO…

So progress on this front will first be slowed by Logic (or whatever DAW) figuring out how to utilize OpenCL, as well as the third party plugin developers figuring out how to utilize it (or adopt whatever Apple comes up with on the Logic side.)

I am fairly hopeful that it will happen because Apple does a great job of evangelizing the use of OpenCL both internally and externally, but I would be surprised if we see anything in 2014 or even 2015. (And I am really hoping that I can be surprised…)
 
But you are leaving out that Logic has quite a few plugins and virtual instruments. These are easily (or not so easily if the dev work for openCL is as hard as you say) updated by Apple with it's internal resources.

btw, my powercore IS ancient, but my UAD quad is only a year old. Even UADs newest stuff still uses an expansion slot to provide TB connectivity.
Though you may be correct in terms of whatever the DSP and associated chips are.

I think that Logic would be the most likely to move its own plugins over first, for sure. But like I said, moving plugins to work with GPUs takes some serious mental gymnastics. Much of what's out there is only at the research stage, which means it's probably a ways off from commercial use still.

Apple's full of smart folks, though, so we'll see.

The bigger problem IMO is the third parties. I know the Logic plugins are important and widely used, but as with anything else the third parties need to get on board with this stuff and they move _so_ slowly…
 
My guess would be that we are less likely to see OpenCL versions of existing plugins and more likely to see new plugins that are designed for OpenCL from the start. It seems like it would be a much easier task to start out knowing what OpenCL is good at and asking the question how best could that be used for audio. I would expect a version of Logic that has new CLVerb and CLSynth before we see stuff like Sculpture ported to CL.

And nobody is going to do it before Apple makes a serious effort at it and gives some examples of what can be done.

And while that might work best for CL proof of concept plugins, there's a good possibility that plugins designed from scratch for CL may not be optimal to try and translate back to CPU versions, which would be necessary for any plugin company that wanted a product that would be financially viable.
 
Interesting, I pretty much agree except for the last bit.
I don't think they must make CPU versions to correlate to GPU/openCL versions of their plugs.

I don't think that Apple has to, since having CL "exclusive" versions provides more of an incentive for Logic users to shell out the cash for a Mac Pro. I was thinking more about third party plugin developers. For them there's not much of a market for GPU optimized plugins much less ones that are GPU only.

UAD is in a similar situation to Apple in that they make their real money from hardware sales. The challenge (assuming Apple even gets around to supporting it themselves) is getting third parties to support OpenCL as well.
 
Computing has really caught up to audio workloads and passed us up to conquer video workloads.

This.

Massive VI orchestrations would be the exception... many folks are still using multiple computers connected via VE Pro to realize their productions, but my personal experience with a hex MP causes me to believe calaverasgrande has hit the nail on its head.

And though look-ahead approaches would enable GPU processing to work flawlessly in mixdown applications, if latency is significant, GPUs will be useless for real-time work, and that's when the extra horsepower is needed.

But what if VI processing could be handled by either the CPU or a GPU and processing automatically transferred from back and forth as required? Sounds complicated. Will developers feel the programming effort is warranted?
 
But what if VI processing could be handled by either the CPU or a GPU and processing automatically transferred from back and forth as required? Sounds complicated. Will developers feel the programming effort is warranted?

What if VI processing is handled exclusively by the GPU with the CPU reserved for track count and effects plugins? Wouldn't that be ideal? No need to play VIs from slave computers on a VEP ethernet network.

Of course it would have to be for playback, or mixdown only, as real-time recording/overdubbing would have latency (CPU sends processing job to GPU, GPU processes and returns data back to CPU etc). Roundtrips take time.
 
Last edited:
Depends on the VI being used. If it's a heavy synth like Diva I could see some potential in GPU. If it is giant orchestral sample libraries most of the load is just moving around the huge amounts of data without too much latency. I wouldn't think GPU would help with that at all, it would just be one more place the data would have to be sent.
 
from what I understand openCL is not limited to the Mac Pros with FirePro cards. Intel has openCL for it's chipset video solutions as well. Not sure how platform specific openCL is. Or whether a task optimized for one card will fail on another or just run slow.

in theory, not only isn't openCL tied to specific gpus or manufacturers, it's also meant to run on cpus as well..

openCL wikipedia said:
Open Computing Language (OpenCL) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays and other processors


not sure how that translates to real world usage/programming scenarios though.
 
What if VI processing is handled exclusively by the GPU with the CPU reserved for track count and effects plugins? Wouldn't that be ideal? No need to play VIs from slave computers on a VEP ethernet network.

Of course it would have to be for playback, or mixdown only, as real-time recording/overdubbing would have latency (CPU sends processing job to GPU, GPU processes and returns data back to CPU etc). Roundtrips take time.

I've never written code like this, but by the numbers latency on PCIe is really, really low — microseconds, not milliseconds.
 
For audio applications horsepower of current computing devices is more than sufficient. The places we now run into bottlenecks are on storage and throughput. And even then only if you have dozens of tracks with multiple clips at high bandwidth.

And as DPUser said, massive VI orchestrations would be the exception. It's hard to really know how much of an improvement these machines will give with Logic, huge sample libraries, and potentially VEPro. Which is why I'm so eager to hear from people doing this sort of thing. Right now it's hard to get an idea of how a given MP compares to running a more modest machine along with a second computer.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.