Increasing performance and power efficiency in heterogeneous software
Heterogeneous architectures in embedded computing are fast becoming a reality – we indeed see many leading IP and semiconductor companies today building heterogeneous computing hardware.
In the article below, I’m going to describe one typical use case for heterogeneous computing and the challenges that result from moving to a heterogeneous programming model.
Running a beautification algorithm on a modern SoC
The diagram below illustrates how a video recording application that performs beautification might be implemented using a number of heterogeneous hardware and software components. In this example, input frames captured by the ISP/camera are first inspected by the GPU to determine the position of a face and its individual features (i.e. eyes, lips, nose and possibly others), passing these coordinates along to the CPU which tracks and automatically adjusts the camera focus and exposure to maintain high quality video. The CPU also determines which parts of the face contain skin colour, and the GPU applies a bilinear filter which smooths these textures, removing artefacts that represent blemishes and wrinkles, while preserving sharpness around the edges of the face.
To read the full article, click here
Related Semiconductor IP
- 3D OpenGL ES GPU (Graphics Processing Unit)
- High performance GPU for cloud gaming with DirectX support
- GPU based on Arm's 5th Gen architecture
- High Performance GPU for premium DTVs
- Efficient GPU ideal for integrating into smart home hubs, set-top boxes or mainstream DTVs
Related Blogs
- Revolutionizing Power Efficiency in PCIe 6.x: L0p and Flit Mode in Action
- TSMC FINFLEX - Ultimate Performance, Power Efficiency, Density and Flexibility
- Bringing Power Efficiency to TinyML, ML-DSP and Deep Learning Workloads
- RISC-V Software: Great Progress in 2024 and Much More Ahead in 2025