Tag Archives: OpenMP

Code Modernization: Weighing Pros and Cons Of OpenMP

I am an OpenMP evangelist. I use it, and I love it. This semester I spent one week in my advanced architecture class showing how it contributes to the continuance of Moore’s Law. I have also spent a lot of time here at Go Parallel talking about OpenMP, and showing how to get the most […]

Posted in Tune | Tagged , , | Leave a comment

Creating Games with Intel Tools Part 4: Wrapping It Up

Scoring and enemy movement wrap up Rick’s game, which takes advantage of parallel processing Over the past month, Contributing Editor Rick Leinecker has demonstrated how to create a simple game that takes advantage of multiple CPU cores. Now, in the final instalment, Rick wraps it all up in a functioning game. Want to try it yourself? […]

Posted in Build, Video | Tagged , , | Leave a comment

Game Design with Intel Tools Part 2: Parallelizing A* Algorithm

This blog is the second in a four-part series in which the Intel software development tools are used to develop a game. The first blog in the series uses Intel Performance Primitives (IPP) to perform image processing for the game’s splash screen. The first article can be found here. The source code for all articles […]

Posted in Build | Tagged , , | Leave a comment

Thread Synchronization and OpenMP: Mechanisms Ease Code Integrity

  Spawning multiple threads can pose numerous problems, including ensuring that sensitive sections of code can only be accessed by one thread at a time. This video shows how to use some of the OpenMP mechanisms such as critical, atomic, and barrier to keep things working correctly.

Posted in Tune, Video | Tagged , , | Leave a comment

Data Races: What They Are, How to Fix Them

I have talked a lot about the parallelization of loops using OpenMP. It is an easy way to improve performance in your applications, especially if you can apply the technique to loops that happen often or loops with many iterations. In many cases, OpenMP provides optimized performance with no down-side risks. But there are other […]

Posted in Tune, Uncategorized | Tagged , | Leave a comment

What is the Effect of Simultaneous OpenMP Loops?

OpenMP simplifies code parallelization, but can one overdo their use of this valuable tool? In the blog Slashdot Media Contributing Editor Rick Leinecker creates some gnarly code to see if it creates a performance hit I have spent a lot of time here at Go Parallel talking about OpenMP loops. The OpenMP standard provides simple […]

Posted in Tune | Tagged , | Leave a comment

Breaking Down OpenMP Loops

OpenMP can bring amazing performance boosts to your applications. This presentation breaks down OpenMP loops that have no dependencies. It also shows how easy it is to parallelize with OpenMP by using compiler directives.

Posted in Tune, Video | Tagged , | Leave a comment

Improving Data Compression: a Parallel Algorithm for “Shannon Entropy”

A great deal of my personal research is in the area of data compression. I have been doing this type of research for about 20 years. A closely-related topic is data entropy. Data entropy is similar to the thermodynamic entropy that many people think of. The higher the data entropy, the more chaotic and unpredictable […]

Posted in Tune | Tagged , | 1 Comment

Best Approaches to Multithreading with OpenMP

Multithreading has a lot of facets to cover to be successful. In this video, Slashdot Media Contributing Editor Rick Leinecker examines several targets and methodologies to consider as you get underway.

Posted in Video | Tagged , | Leave a comment

Using OpenMP to Fine Tune Vectorization

Adopting OpenMP can have significant payoffs, for vectorization and more Everyone wants their programs to execute fast and smooth. For instance, Microsoft Word does complex image manipulation easily without noticeable delay. The march of software toward even greater levels of performance helps satisfy our need for speed. This blog talks about a technology known as […]

Posted in Tune | Tagged , | Leave a comment