Most Recent Build Posts RSS

How to Effectively Use OpenMP’s Execution Model

To get the most out of OpenMP, you need to have a clear understanding of its execution model, including how and when threads are created and destroyed. Jeff Cogswell explains. When working with OpenMP, it’s important to understand how the threads are created and destroyed, as part of the overall …

Read Full Post Posted in Build | Leave a comment

Manage Memory Better with OpenMP

OpenMP uses a memory model that allows threads to use shared and private variables. The model works together with the execution model. In this blog, Jeff Cogswell shows you how to manage your OpenMP memory effectively. OpenMP uses a shared memory approach whereby separate threads share the same memory. But …

Read Full Post Posted in Build | Leave a comment

Write Cross-Platform Parallel Code with OpenCL

OpenCL is a standard for an entire parallel processing technology. It has support from the big CPU vendors, including Intel. In this blog, Jeff Cogswell briefly introduces OpenCL and points you toward resources for learning more Here at Go Parallel, we’ve covered many different parallel programming technologies you can use …

Read Full Post Posted in Build | Tagged | Leave a comment

Barriers in OpenMP: To Use or Not to Use?

Just because barriers are easy to use in OpenMP doesn’t mean you should always turn to them. Jeff Cogswell shows why and when they make sense and when you want to go with an alternative. He also walks you through how to turn them off when they’re not necessary.

Read Full Post Posted in Build | Leave a comment

Critical Sections in OpenMP: Tread Lightly

OpenMP supports critical sections. In this video, Jeff Cogswell explains how to use them, but why you generally should only use them as a last resort. He also explores alternatives to them.

Read Full Post Posted in Build | Leave a comment

Faster FFTs: Accelerating Benefits of Fast Fourier Transforms

With a broad variety of applications from digital signal processing to earthquake research to speeding the multiplication of large integers, the Fast Fourier Transform (FFT) has become a staple of mathematicians and physicists for over half a century. However, parallelism of large one-dimensional Discrete Fast Fourier Transforms (DFFTs) has been …

Read Full Post Posted in Build | Leave a comment

Fix Parallel Memory Problems with TBB

Programming for multicore and multithreaded applications can bring up some odd memory issues. Threading Building Blocks has template classes that can help you manage your memory. But this is just the tip of a much bigger issue: You need to know the fundamentals of processor architecture. In this blog, Jeff …

Read Full Post Posted in Build | Leave a comment

OpenMP Execution Environment Functions

The OpenMP specification includes several runtime functions that are declared in the omp.h header file. These runtime functions can help you set and get current runtime threading configurations in OpenMP. Jeff Cogswell explores a few of the functions. When you’re programming with OpenMP, you have access to not only the …

Read Full Post Posted in Build | Leave a comment

Exploring the Different TBB Algorithms

Threading Building Blocks (TBB) has several algorithms you can use. In this video, Jeff Cogswell takes you through a quick tour of them to help you figure out when you can use each one.

Read Full Post Posted in Build | Leave a comment

Testing Out OpenMP 4.0 Features in LLVM/Clang

The Clang compiler, which is part of the LLVM tools, includes a special branch that adds OpenMP support. In this blog, Jeff Cogswell tries out the OpenMP 4.0 features of Clang, and gets some interesting results. Let’s test out the OpenMP 4.0 features in clang. But before getting started, I …

Read Full Post Posted in Build | Leave a comment