Most Recent Verify Posts RSS

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

Vectorization Gets Explicit with Intel’s Updated Parallel Tool

Intel Parallel Studio XE 2015′s explicit vectorization feature allows programmers to define SIMD and other loops that should split and run in parallel on separate compute nodes. Intel has released a new version of its HPC application development suite with support for more hardware and development languages and a simple …

Read Full Post Posted in Verify | Leave a comment

IDF14: Tech Sessions with Parallel Programming Experts

The upcoming Intel Developers Forum (IDF) Sept 9-11 in San Francisco is chock-full of sessions that should whet the appetite for the parallel processing and HPC community. Below is a look at just a sample of what you can expect when you attend this year’s IDF. Technical sessions include: • …

Read Full Post Posted in Design | Leave a comment

Charm++ Parallel Programming Language Cools HPC Power Problems

The Charm++ parallel programming model supports load balancing between cores while adjusting the frequencies of the cores during high temperature processes. Researchers at the University of Illinois at Urbana-Champaign’s Parallel Programming Laboratory have improved their Charm++ parallel programming model and runtime’s load balancing system to adjust the balancing based on …

Read Full Post Posted in Build | Leave a comment

How to Create Vectorized, Multicore Loops in OpenMP with Ease

OpenMP includes pragma directives that let you create both vectorized and multicore loops, and even use both in a single loop. Jeff Cogswell walks you through how to do it. Regular readers of Go Parallel know that we focus on two main areas of parallel programming: Multicore programming and SIMD …

Read Full Post Posted in Verify | Leave a comment

Use GNU C++ and Intel Compilers with OpenMP

Most compilers today support OpenMP. Jeff Cogswell shows you how to compile OpenMP programs using both the Intel and GNU C++ compilers.

Read Full Post Posted in Verify | Leave a comment

Stop Threads from Clashing Over Variables in OpenMP

OpenMP lets you allocate blocks of code that will be duplicated across threads. These can be in the form of loops or just simple blocks. To help you with your data, variables can be duplicated within each thread. Jeff Cogswell shows you how. Last time we explored a bit of …

Read Full Post Posted in Build | Leave a comment