Snapdragon Heterogeneous Compute SDK
All current hardware platforms, from desktops to smartphones, are built around multicore and heterogeneous systems-on-a-chip (SoC). Servers and supercomputers are also using specialized cores, such as GPUs and DSPs, to improve performance and power efﬁciency.
Qualcomm® Snapdragon™ Heterogeneous Compute SDK is a user-level library that integrates with OS services to hide the complexity of hardware as much as possible, while still providing developers with control over performance. Heterogeneous Compute SDK (HetCompute) takes advantage of existing standards to allow execution on the entire SoC: POSIX and C++11 for exploiting multicore, OpenCL to dispatch onto GPUs, and OpenDSP to dispatch to the Qualcomm® Hexagon™ DSP.
The advantage of using HetCompute is that it provides a near seamless interface for all these devices, therefore allowing the developer to focus on the application being developed, rather than managing hardware, different execution models, and data transfers.
HetCompute runs on top of a runtime system that executes concurrent applications on the computational resources on the SoC. The HetCompute runtime system is essentially a resource manager for threads, address spaces, and devices. It builds on a set of cutting-edge algorithms to free developers from the need to manage these resources explicitly and provide optimal performance for the HetCompute execution model.