Guide helps programmers take advantage of multi-core processors

Guide helps programmers take advantage of multi-core processors

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

Font Sizes:


Respect the past, create the new

05/08/2013
Roughly translated from Japanese to English, the phrase onkochishin means “Respect the past, crea... Read More >>

The eyes have it

04/24/2013
Camera-based surveillance systems have definitely played an important role in helping to keep crime dow... Read More >>

SPONSOR INFORMATION


Webcasts

Upcoming Webcasts

State-of-the-art high-speed imaging

This webcast will describe the differences between high-speed imaging and other computer vision technologies, along with their impacts. It will review innovations that are enabling product developm...

Optical Character Recognition and Verification in Vision Systems

This webcast will begin with a discussion of optical character recognition (OCR) and optical character verification (OCV) by defining the two terms and explaining their practical differences.

Vision for Networked Security and Surveillance Systems

This webcast will identify the components and technologies important in networked security and surveillance systems, including CCD and CMOS cameras, multi-sensor systems, lens types, interfaces, li...

Benefits of the New USB3 Vision Standard

In this webcast, you will learn how the new USB3 Vision standard builds on earlier USB standards but provides an optimized standard for machine vision applications that require more deterministic, ...

Archives

Click here to view archived Vision Systems Design articles