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.

Sponsored Recommendations


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