Parallel Programming

Intel® Xeon Phi™ coprocessor Power Management Part 1: P-States, Reducing power consumption without impacting performance

Right up front, I am going to tell you that P-states are irrelevant, meaning they will not impact the performance of your HPC application. Nevertheless, they are important to your application in a more roundabout way. Since most of you belong to a group of untrusting and always questioning skeptics (i.e. engineers and scientists), I am going to go through the unnecessary exercise of justifying my claim.

The Intel Xeon Phi coprocessor: What is it and why should I care? PART 3: Splitting Hares and Tortoises too

Part 1 showed how to fit 60+ cores onto a single chip. Part 2 showed how those cores can, theoretically, execute up to 3840 instructions in a single clock cycle1.

About the pain of parallel programming

If you’ve ever heard about parallel programming it probably sounded like a painful endeavor. Those who have experience with it know that it’s mostly true with “traditional” approaches which incorporate parallel constructs into main-stream programming languages like C++ or FORTRAN. In the light of decades of research in parallel computing this is an irritating situation - and more so now that multi-core systems have been mainstream for years. 

 But why does parallelism hurt? And does it really have to?

What’s the Advantage of Modeling Parallelism on my Serial Program with Intel® Advisor XE?

One of the most useful aspects of Intel® Advisor XE is its ability to model parallelism in my application without actually running the code in parallel. Simply by doing this modeling it can tell me potential race conditions and correctness issues while still running everything serially. At first glance I ask myself “Why do I need this modeling? Shouldn’t I just try the parallel code and let another tool, like Intel® Inspector XE, find the race conditions?”

How to Find Promising Sites for Parallelism Using Intel® Advisor XE

Intel® Advisor XE along with the other Intel® Parallel Studio XE tools lay out a multi-step process to aid developers in transitioning their serial code to efficient and correct parallel code. This blog will focus on the first step of the process: How to determine where to add parallelism in an application.

But Will It Scale?

Has this ever happened to you: You work tirelessly to add threads to your serial code, all your correctness tests are passing, and your application is zooming along almost twice as fast as the serial version on your 2 core machine. Now your friend sees your results and would love to run your program on his machine which is fully-loaded with four cores that are all equipped with Intel® Hyper-Threading Technology (that’s 8 "logical" processors).

Seiten

Parallel Programming abonnieren