Abstract
Embedded system on a chip (SOC) vendors of today are perpetually challenged with the following goals; provide more compute capability and reduce cost and power. Unfortunately, these goals compete rather than cooperate. In order to address this, SOC designers have turned to component specialization, where multiple specialized computing engines exist on a chip, each of which can handle one or a small subset of tasks very well. Since these engines are tuned for their task, they can be smaller, thus reducing cost, and run at a lower frequency, thus reducing power, than a similarly capable generic computing engine. Of course, this diversity does drive complexity in the system with a combination of RISC/DSP/GPU/CUSTOM engines and their corresponding OS's, tool chains, communication and IPC protocols.Concurrently, application software teams have their own perpetual challenges; lower development cost, shorten time to market and improve reliability. These goals are obviously more difficult when the software team is presented with the complexity resulting from the diverse SOC designs on which their software will run. The software task grows even more difficult with the additional requirement that it must run well over a set of SOC instantiations.In this presentation, I will explore the use of OpenCL, beyond its more typical use cases on GPU and CPU systems, as a unifying agent between the demands on SOC software teams and the demands on SOC design teams. I will discuss OpenCL use on a multicore CPU+DSP SOC, how we have extended OpenCL to increase it's acceptance and adoption within TI's software community. I will also discuss additional use cases, features and requirements of embedded software that OpenCL does not cover today, but perhaps could!
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have