• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Audio Units and OpenCL?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Audio Units and OpenCL?


  • Subject: Re: Audio Units and OpenCL?
  • From: philippe wicker <email@hidden>
  • Date: Wed, 09 Sep 2009 18:56:18 +0200

Today the max number of cores is 8 on an Apple computer. 8 cores means 8 threads running at the same time because as far as I have understood, one core can run only one thread. I remember having seen Logic using 2 different thread for 2 different instances of the same soft synth (about 2/3 years ago) so Logic seems to already try to use several cores. We checked this by reading the pthread_self_id in the 2 instances Render methods and the 2 ids we got were different. Also samplers plugin with disk streaming use at least 2 threads, 1 for the sampler Render itself (the audio thread of the DAW), and a 2nd to stream the samples from the disk.

I think that the difficulty in a plugin context is to meet a short - and known - latency constraint when dispatching a job to several threads. A solution is to pass the data to work on to some threads on one Render and get back the result on next Render or even 2 Render calls later, which gives a 1 or 2 buffers latency. To be sure that the worker threads meet that kind of deadline they have to be time- constrained and their scheduling parameters carefully tuned. My guess is that it is probably a difficult task for a generic dispatching API such as GCD. Maybe an ad-hoc "hand-made" delegation to a limited number of worker threads would give better results?

On 9 sept. 09, at 17:42, Richard Dobson wrote:

So, is there anything in this much-hyped technology that is actually a benefit to audio developers, to enable them to do what has not been done before (like, use all "available" cores for audio processing)?

If not, it is another nail in the coffin of the general-purpose computer as an audio processor, and the industry will move even further towards custom hardware in which they can implement whatever parallel processing they need, and have full control over it.

Also, presumably an older d/c iMac with the Radeon1600 chipset cannot run openCL code, so can it at least degrade gracefully to at least build and run on such a machine?

On an 8-core Mac Pro, how many cores will we see Logic Pro using?

This all rather reinforces speculations I have made that in the headlong rush to concurrent multi-core nirvana, audio will be left behind, or simply ignored/underestimated as a relevant activity.

Richard Dobson






Markus Fritze wrote:
Ehm, you know that GCD is running at the main thread level? Which can be blocked by UI operations, etc. That doesn't seem like a wise choice for real-time processing. OpenCL also doesn't have a threading mode, so you tasks will be shared among all the others and your latency becomes unpredictable.
Markus

_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: Audio Units and OpenCL?
      • From: William Stewart <email@hidden>
References: 
 >Audio Units and OpenCL? (From: Mike Lemmon <email@hidden>)
 >Re: Audio Units and OpenCL? (From: Jean-Daniel Dupas <email@hidden>)
 >Re: Audio Units and OpenCL? (From: Markus Fritze <email@hidden>)
 >Re: Audio Units and OpenCL? (From: Richard Dobson <email@hidden>)

  • Prev by Date: Re: Audio Units and OpenCL?
  • Next by Date: Re: Audio Units and OpenCL?
  • Previous by thread: Re: Audio Units and OpenCL?
  • Next by thread: Re: Audio Units and OpenCL?
  • Index(es):
    • Date
    • Thread