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: Ian Ollmann <
email@hidden
>
Date: Thu, 10 Sep 2009 12:46:17 -0700
OpenCL 1.0 is not a good solution for real time audio. Today's GPUs do not support preemption. They are cooperatively scheduled. Thus you can't rely on getting real time access to the GPU when you need it for real time audio work. You'll have to wait for all previous work on the GPU to complete. Then your task can run. The CPU side runs on top of GCD. There is currently no provision for having a real time thread pool. Also, because it is an in order queuing system, (read: cooperatively scheduled against other work in the queue) you might have to wait for an arbitrarily long period of time for some of the work currently running through OpenCL to complete before you get to run on the CPU. Thus, OpenCL 1.0 is currently not a system that currently can make real time guarantees.* If, on the other hand, you are processing audio offline, then by all means, give OpenCL a try.
If you have ideas about features / API that you would like to see in future versions of OpenCL, then by all means please file feature requests either through our bugreporter side, or the one at Khronos.
Ian
*OpenCL is on one end of the spectrum of the latency vs. throughput tradeoff. It attempts to maximize throughput. We work hard to keep latencies down. However, features like JIT compilation and pervasive multithreading just aren't conducive to low latency execution. While we've observed latencies as low as 1 µs for clEnqueueTask on the CPU thanks to a GCD special case, in real world workloads please expect 20 µs latencies at an absolute minimum. In many cases, it might take 1-200 µs before all the CPU cores can be brought to bear on the problem, even when the queues are empty and the CPU is otherwise idle. When the CPU is busy, we have no mechanism to ensure that you get time right away. We have plenty of mechanisms like in-order queues that would act to ensure that you don't get time right away.
_______________________________________________
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:
Mike Lemmon <email@hidden>
Prev by Date:
Re: New error in iPhone OS 3.1.1
Next by Date:
Re: New error in iPhone OS 3.1.1
Previous by thread:
Re: Audio Units and OpenCL?
Next by thread:
Re: Audio Units and OpenCL?
Index(es):
Date
Thread