Tool Delivers Parallel Programming Recipes

June 9, 2012
Vector Fabrics' Pareon development tool analyzes applications and delivers parallel programming recipes to deliver code optimized for multicore platforms.

Vector Fabrics delivered a parallel processing optimization tool called vfThread (see Tool Makes It Easy To Parallelise Software For Multicore x86 Architectures) as a cloud-based solution. It's latest product, Pareon, is a more conventional, PC-based solution (Fig. 1). It actually uses the same technology and adds a number of improvements.

Figure 1. Vector Fabrics' Pareon is a static analysis tool that examines the entire program to locate code that can be improved by parallel programming modifications.

Vector Fabrics takes a different approach compared to most parallel programming tools although it can utilized parallel programming frameworks. For example, Intel's Parallel Studio provides a number of parallel programming tools (see Intel Parallel Studio 2011 Dev Tools Target Parallel Processing). It's Thread Building Blocks provide a way for developers to implement parallel programs but developers need to know how to take advantage of the tool's features. They also need to know what parts of their application to work on.

Pareon does not deliver a parallel programming framework or translate programs into parallel programs. Instead it analyzes the source code of C/C++ applications and makes recommendations on how to change the application source code to take advantage of parallel programming models. Pareon identifies areas of an application such as loops that would benefit by modifications to take advantage of parallel programming features (Fig. 2). In addition to identifying these areas, it provides programmers with detailed "recipes" on how to change the source code along with the kinds of improvements this would result in.

Figure 2. Pareon identifies hot spots in an application such as loops that would benefit from utilization of parallel programming features.

Pareon also identifies aspects of an application that could cause problems such as data race conditions that would affect how an application would be parallelized. Vector Fabrics' technology is designed to provide known-good partitioning and to minimize risks of code modification into a more parallel program.

Pareon has been used on a number of major applications such as the open source VP8 Video Decoder. A non-VP8 expert utilized Pareon and the resulting implementation showed a 7x speed up on an 8 core platform.

Pareon integrates with IDEs and provides a number of advantages over a cloud-based solution. First, the developer now has complete control over their source code. The cloud-based alternative required the source code to be uploaded to the cloud. This can take time for large applications. Likewise, there can be security or legal issues. Vector Fabrics's provides a secure environment but it may not be sufficient for some developers such as those working on banking or military applications. Pareon provides the answer to these issues.

Second, integration with local tools is easier because there is no uploading of source code. The cloud approach utilized a web browser interface.

The advantage to the cloud approach is easier set up and maintenance since this is all handled by Vector Fabrics. With Pareon, developers now have a choice on how they take advantage of Vector Fabrics' tools. Both provide the same kinds of services. The improvements added to Pareon will be included on the cloud side as well. Pareon was developed in answer to developer's requests for a resident solution.

Pareon supports x86 and Arm Cortex-A9 platforms. It is designed to improve applications targeting consumer electronic platforms like tablets and smartphones.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!