Most Recent Tune Posts RSS

How to Use Debugging, Exception Features in TBB

Threading Building Blocks (TBB) includes a set of exception handlers that are carefully crafted for multithreaded support, as well as code for debugging. In this blog, Jeff Cogswell gives a brief introduction to both features. Writing parallel code can sometimes be difficult and can result in bugs and strange errors. …

Read Full Post Posted in Build | Leave a comment

‘High Performance Parallelism Pearls’: Lessons from the Field

The latest book from James Reinders and Jim Jeffers packs the real-world parallel programming experiences of 69 experts into 28 chapters. “High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches” aims to show readers how to “leverage parallelism on processors and coprocessors with the same programming – illustrating the most …

Read Full Post Posted in Design | Leave a comment

Building the OpenMP Branch of LLVM/Clang

The Clang compiler in the LLVM tools doesn’t support OpenMP by default. But a branch is available that does. Jeff Cogswell shows you how to build this branch and then compile an OpenMP program.

Read Full Post Posted in Tune | Leave a comment

Mixing C++11 and TBB Threads

Threading Building Blocks (TBB) includes a set of threading class that live in the standard namespace. How well do these fit together with the C++11 classes? Some cases work, and some don’t. Jeff Cogswell clears it up. When you’re using Threading Building Blocks (TBB) with a C++11 compiler, you can …

Read Full Post Posted in Build | Leave a comment

How TBB Goes Atomic

Threading Building Blocks includes several atomic functions. But how does it make these atomics work? Jeff Cogswell looks under the hood of TBB to find what assembly code it uses.   Threading Building Blocks  contains several atomic operations that allow you to run lockless parallel applications. In order to accomplish …

Read Full Post Posted in Verify | Leave a comment

Parallelizing Tachyon Ray Tracer

Parallel Studio includes a sample program called Tachyon, which is an open-source ray tracer. Intel has included versions of the code that add parallelization, greatly speeding it up. Jeff Cogswell shows you how to try it out. When you install Parallel Studio XE, you get several sample applications that live …

Read Full Post Posted in Verify | Leave a comment

How Numerical Integration Adds Up for Parallel Coding

In the second part of a look at the intersection between scientific applications and parallel programming, Jeff Cogswell explores numerical integration as a prime example of how scientific applications can use parallelization in their mathematical functions. Last time, I talked about how software such as SeisSol, a seismology simulator, uses …

Read Full Post Posted in Verify | Leave a comment

Applying Scientific Apps to Parallel Programming

To come up with a highly parallel scientific app for modeling seismic activity, developers turned to an important mathematical technique for solving differential equations. Jeff Cogswell discusses how similar functions work well with parallel programming. We recently ran a news story on Go Parallel about a high-performance application called SeisSol. …

Read Full Post Posted in Verify | Leave a comment

Secret to Getting the Extra Processing Power You Need

In Jeff Cogswell’s demonstrations of parallel technologies, he often needs computers with different numbers of cores. But having limited resources, he found he can use Amazon Web Services to change the number of cores on a single server between reboots. In this video he shows you how to make it …

Read Full Post Posted in Tune | Leave a comment

Faster Parallel Code with ‘Lockless’ Programming

When you read about parallel programming, you’re likely to hear about the importance of lockless programming. What exactly is this? Why is it important? Jeff Cogswell walks you through the answers to these questions and more. As you learn more about parallel programming, you’re going to occasionally see people talking …

Read Full Post Posted in Build | Leave a comment