Most Recent Tune Posts RSS



Must-Read Guide to Parallel Programming and Optimization

  Writing a print book about any parallel computing topic is daunting for several reasons. As the author of 23 technical books, I can attest to the fact that technology can become out of date before the book is published. This is the most difficult task in writing a print …

Read Full Post Posted in Tune | Tagged , | Leave a comment

Speed Up Floyd-Warshall Algorithm with Parallelization

  The Floyd-Warshall algorithm is standard fare in computer science. It is a way to find shortest paths in a weighted graph with both positive and negative weights. Finding shortest paths is a crucial task for many software applications. For instance, a mapping program must find a shortest path, otherwise …

Read Full Post Posted in Tune | Tagged , , | Leave a comment

Writing Reactive Code in C# with Lambda Functions

  One of the biggest changes in recent times has been the use of Lambda expressions in programming. Though it sounds exotic, it’s just a way of running an anonymous function. Even C++ has recently adopted them in C++11 and Java in Java 8. They’ve been in C# since C# …

Read Full Post Posted in Tune | Tagged , , , , | Leave a comment

How Task Parallel Library in C# Makes iOS App Dev Easier

  Back around five years ago, there was a sea change in the way people developed multithreading programs on .NET. Prior to this, you created and explicitly started threads and had all the joy of detecting subtle bugs like race conditions. C++ developers had the options of using OpenMP, Intel …

Read Full Post Posted in Tune | Tagged , , | Leave a comment

High-Performance Data Encryption with Parallel Studio

  I have consulted with a number of clients who were concerned about the security of their intellectual property (IP). This has been especially true when the IP had to be transported over a company network or the Internet. The resolution that I arrived at was a system of data …

Read Full Post Posted in Tune | Tagged , , | Leave a comment

Explicit Multithreading: The Pros and Cons

  First, before detailing the pros and the cons, we need to establish some baseline understandings with regard to Explicit Multithreading (XMT). To start with, let’s look at sequential code execution, best described by the von Neumann model. In this model, single instructions pointed to by the instruction counter are …

Read Full Post Posted in Tune | Tagged , , | Leave a comment

Modernize Your C++ Code

  Many software developers are faced with having to update their original code at one time or another. On two occasions in my life I’ve had to revisit code I wrote a few years earlier. The first was in 1996 for code I developed during 1989-1990. The second time was …

Read Full Post Posted in Tune | Tagged , | Leave a comment

Dodge Dangers of Explicit Multithreading

  With all processors now having multiple cores even on mobile devices, an application that seeks high-performance computing needs to use multiple processes or threads. One way to do this is use OpenMP or Intel TBB but these confine you to their specific programming model. The temptation is to program …

Read Full Post Posted in Tune | Tagged , , | Leave a comment

Offload Your Code to Your GPU: How to Get Started

  At the time of this writing, most desktop computers have video cards with multiple processor cores that support advanced graphics. But most of the time they are idle, just waiting for a graphically intense program to run. In the past, it has taken a bit of effort to take …

Read Full Post Posted in Tune | Tagged , , | Leave a comment

5 Tips for Speeding Up Your Code Using TBB

  Intel Threading Building Blocks is a library to help your application use parallelization without you having learn all the subtleties of threading and to avoid the pitfalls. If you use TBB to speed up your software, below are a few tips to help you on your way. You don’t …

Read Full Post Posted in Tune | Tagged , , | Leave a comment