Blog

Choosing the Right Parallelization Technique

July 05, 2018 | BY: Tammy Carter

Download PDF

Trying to port over old code can put a huge damper on efficiency.  Not to mention, the inefficiency of running serial code on high performance processors can increase the number of boards required in a system, negatively affecting SWaP-C.  Identifying the best parallelization technique for your defense applications is the goal.  The question is how does one choose?  It starts with learning what open standard tools are available for parallel programs.

parallelization-techniques

Figure 1: Parallel Programming Options

So, what exactly is parallelization?  Most of the legacy code that needs porting to newer systems is serial code; such code runs on a single processor with only one instruction executing at a time.  To modernize serial code for parallel execution, individual sections that can be executed concurrently must be identified.  These sections are then optimized for simultaneous execution on different cores and/or processors.  Parallel programs must also employ a control mechanism for coordination, synchronization, and data re-alignment.  To assist in this process of parallelization, several open standard tools are available in the form of language extensions, compiler extensions and libraries. 

Making the Choice

Fortunately, there are a variety of tools:

  • Pthreads
  • C++/Boost Threads
  • Open Multi-Processing (OpenMP)
  • Open Accelerators (OpenACC)
  • Thread Building Blocks (TBB)
  • Message Passage Interface (MPI)

Each technique allows for the ease of parallelization that enables efficiency based on your unique requirements.

What’s Next?

After you and your software team have compared and identified which parallel model is best for your application, take the next step.  Curtiss-Wright’s trusted OpenHPEC Accelerator Suites OpenHPEC and OpenHPEC LX (for smaller systems) can help software teams build complex, efficient, multithreaded, multiprocessor code fast.  This proven versatile toolset enhances your capability to produce quality software with less effort.  A leader in software tool suites; it includes MPI (OpenMPI and Mvapich2) and the powerful Arm (formerly Allinea) debugger and profiler, DDT and MAP. 

To find out more download the Finding a Path Through the Woods: Choosing a Parallelization Technique White Paper

Author’s Biography

Tammy Carter

Senior Product Manager – GPGPUs & Software

Tammy Carter is the Senior Product Manager for GPGPUs and software products, featuring OpenHPEC, for Curtiss-Wright Defense Solutions. In addition to a M.S. in Computer Science, she has over 20 years of experience in designing, developing and integrating real-time embedded systems in the Defense, Communications and Medical arenas.

Share This Article

  • Share on Linkedin
  • Share on Twitter
  • Share on Facebook
  • Share on Google+
Want to add a comment? Please login
Loading...
Connect With Curtiss-Wright Connect With Curtiss-Wright Connect With Curtiss-Wright
Sales

CONTACT SALES

Contact our sales team today to learn more about our products and services.

YOUR LOCATION

PRODUCT INFORMATION

Support

GET SUPPORT

Our support team can help answer your questions - contact us today.

REQUEST TYPE

SELECT BY

SELECT Topic