Software engineers who develop code for embedded image processing systems are constantly looking for ways in which they can accelerate their applications using the latest breed of multicore processors.
Now, a group at the Multicore Association (El Dorado Hills, CA, USA) is planning to launch an application program interface (API) that could help them out by supporting the co-ordination of software tasks on embedded parallel systems.
Multicore processors require software that splits work into tasks that can be executed in parallel on different processor cores. But the organization claims that implementing such tasks as threads results in significant overhead. What's more, it says that the process is complex, error-prone, and hardware dependent, in that the number of threads depends on the number of cores available.
The Multicore Task Management API (MTAPI) group aims to address those issues by providing an API which abstracts the details of the hardware and allows parallel embedded software to be designed in what the group claims will be a more straight-forward way.
The organization says that, with the new API, there are no compiler, hardware, or operating system dependencies. Written in C, the API will cover homogeneous and heterogeneous multicore-architectures, as well as hardware acceleration units. Core features will include dynamic scheduling at runtime and mapping tasks to processor cores.
Urs Gleim, the program manager for parallel processing systems at Siemens, is chairing the MTAPI group with technical experts from ENEA, Freescale Semiconductor, LSI, Qualcomm, Plurality, PolyCore Software, Siemens, Texas Instruments, the University of Houston, and Wind River.
The MTAPI specification draft is complete and its release is scheduled for Q4/2012. More information can be found here.
Those interested in the new API might also be interested in attending the 8th Annual Multicore Developers Conference which will take place between May 21-22, 2013 at the Hyatt Santa Clara (Santa Clara, CA, USA). More information on the conference is available on the Multicore Association website.
Related items from Vision Systems Design you might also find of interest.
1. Researchers compare multicore programming methodologies
Researchers at the Department of Computer and Information Science at Linköping University (Linköping, Sweden) have evaluated the effectiveness of OpenCL for programming multicore CPUs in a comparative case study with OpenMP and Intel Threading Building Blocks.
2. Software tool parallelizes imaging code for multi-core processors
Engineers at Vector Fabrics (Eindhoven, The Netherlands) have built a tool to analyze and optimize source code for multi-core processors. As a test case, they have optimized an OpenCV image processing algorithm written in C++ and made the results available as an Android App.
3. Free quick start kit for vision software programmers
A free quick-start kit is now available for engineers who want to start developing computer vision applications using OpenCV.
Vision Systems Design magazine and e-newsletter subscriptions are free to qualified professionals. To subscribe, please complete the form here.
-- Dave Wilson, Senior Editor, Vision Systems Design