Image processing software developers can accelerate their applications by taking advantage of the latest multi-core processors.
To help them employ best practices when writing multicore-ready embedded software, the Multicore Association (El Dorado Hills, CA, USA) has produced the Multicore Programming Practices (MPP) guide.
The MPP guide outlines how to migrate applications to multicore platforms and shares industry-proven techniques that help reduce development costs.
The software developer is responsible for achieving increasing performance gains when upgrading processors. Developers must implement significant software modifications, which involves program analysis and rethinking the design, debug, and performance optimizations.
Under tight deadlines, many developers continue to use C/C++ rather than learn a new parallel programming language or re-architect the application to support widespread concurrency. As a result, many developers adopt an evolutionary approach that uses existing programming tools and technology.
The Multicore Association MPP guide embraces this evolutionary approach. It includes best practices for writing multicore-ready software using C/C++ without extensions, ensuring that the application can be more easily compiled across a range of multicore processor platforms, speeding time to market and ensuring portability.
The MPP guide also serves as a framework for transitioning from serial to parallel applications and provides common pitfalls, possible solutions, and avoidance tactics to reduce bugs and minimize debugging efforts.
Four years ago, the Multicore Association formed The Multicore Programming Practices working group to develop the multicore software-programming guide that would improve consistency and understanding of multicore programming issues. Co-chairs David Stewart (CEO of CriticalBlue) and Robert Oshana (engineering manager at Freescale Semiconductor) assembled the working group and led the team through a rigorous definition cycle before jointly writing, reviewing and approving the 120-page document.
Participating companies in the MPP working group include CriticalBlue, Freescale, Intel, PolyCore Software, Texas Instruments, and Virtutech (Wind River). Additional companies who were active in helping write the MPP guide include CAPS entreprise, Carnegie Mellon University, and Mentor Graphics.
The Multicore Programming Practices Guide is available for download from the Multicore Association website.
Related articles from Vision Systems Design that you might also be interested in.
1. Researchers compare multicore programming methodologies
Developers of image processing software can accelerate their applications by taking advantage of the latest multi-core processors. But with several software frameworks now available that enable them to do so, many programmers might be a little confused as to which approach might be the most effective.
2. EU researchers aim to simplify multicore program development
Partners from research and industry have joined forces to simplify the development of software for embedded multicore processors.
3. Image processing library sports a Python frontend
Software developers and PhD students at ESIEE Engineering (Paris, France) have developed an image processing and analysis library that is free to download from the Internet.
-- Dave Wilson, Senior Editor, Vision Systems Design