Dr. Dobb's Blogs http://www.drdobbs.com//author/7104 Dr. Dobb's Copyright 2012, United Business Media. en-us Game of Life &mdash; Distributed Lists http://www.drdobbs.com/parallel/game-of-life-distributed-lists/240156759 I want to take one more look at the parallelized list-based version of the Game of Life simulation. Sun, 16 Jun 2013 20:25:00 -0400 Game of Life &mdash; Using Threads and Lists, Part 3 http://www.drdobbs.com/parallel/game-of-life-using-threads-and-lists/240155543 If I'm programming my list-based version of Game of Life in the real world, how can I parallelize it when I am using a third-party provided data structure? Fri, 24 May 2013 07:28:00 -0400 Game of Life &mdash; Using Threads and Lists, Part 1 http://www.drdobbs.com/parallel/game-of-life-using-threads-and-lists-pa/240152214 I'm still looking at the <i>Game of Life</i> simulation. Wed, 03 Apr 2013 05:56:00 -0400 Game of Life &mdash; Using Lists to Focus Processing http://www.drdobbs.com/parallel/game-of-life-using-lists-to-focus-proce/240151202 Let's discuss the basic parts to code the <i>Game of Life</i> using list data structure to hold the sets of grid points that may become alive or may die in the next generation. Tue, 19 Mar 2013 16:28:00 -0400 Game of Life &mdash; Avoiding Deserted Areas http://www.drdobbs.com/parallel/game-of-life-avoiding-deserted-areas/240150199 The default version of the <i>Game of Life</i> that I've discussed recently feels a lot like the search for an elephant in Africa. Wed, 06 Mar 2013 11:21:00 -0500 How to Distribute the Game of Life http://www.drdobbs.com/parallel/how-to-distribute-the-game-of-life/240145395 Do you have a very large grid that you want to use in a simulation and the grid doesn't fit into the memory of a single node? If so, learning how to develop a distributed memory version of the <i>Game of Life</i> may be a practical solution. Sat, 29 Dec 2012 09:11:00 -0500 Game of Life Distributed: Preamble http://www.drdobbs.com/parallel/game-of-life-distributed-preamble/240144597 I want to do a rudimentary review of distributed memory parallelism and message passing libraries. (I've only written about shared memory parallelism to this point and I want to make sure we're all using the same vocabulary.) Mon, 17 Dec 2012 16:58:00 -0500 Conway's Game of Life In Parallel http://www.drdobbs.com/parallel/conways-game-of-life-in-parallel/240143844 The iconic game is perfectly suited to parallel execution. This series of posts looks at several approaches &mdash; from OpenMP to message passing &mdash; that improve the game's performance. Wed, 05 Dec 2012 05:44:00 -0500 Energy Efficient Programming http://www.drdobbs.com/parallel/energy-efficient-programming/240134971 Efficient use of energy is a big deal in mobile and cloud computing. Wed, 14 Nov 2012 09:18:00 -0500 Parallel Shellsort http://www.drdobbs.com/parallel/parallel-shellsort/240008640 I'll start with a review of Insertion Sort and then take a look at the Shellsort variation and how I would make it parallel. Mon, 08 Oct 2012 07:25:00 -0400 You've Got Parallel Code in My Chocolate http://www.drdobbs.com/parallel/youve-got-parallel-code-in-my-chocolate/240007344 My take on a parallel Depth-First Search (DFS) algorithm visits all nodes in a graph and the order of visitation is likely to change from one run to the next. Fri, 14 Sep 2012 06:32:00 -0400 You've Got Serial Code in my Peanut Butter http://www.drdobbs.com/parallel/youve-got-serial-code-in-my-peanut-butte/240007001 "When you have a hammer, everything looks like a nail." Fri, 07 Sep 2012 15:45:00 -0400 Finding My Summer Vacation's Shortest Path http://www.drdobbs.com/parallel/finding-my-summer-vacations-shortest-pat/240005912 Think of a map as an instance of a graph, the cities are the nodes and the roads between cities are the edges. Tue, 21 Aug 2012 06:40:00 -0400 "Task Parallelism Does Not Exist" http://www.drdobbs.com/parallel/task-parallelism-does-not-exist/240004626 Even though you might initially come up with a task parallel algorithm, you should take some time to see if a reworking of the algorithm or the data representation can better facilitate a more data-parallel version. Mon, 30 Jul 2012 20:53:00 -0400 Is the Future Fine-Grained Or Coarse-Grained Parallelism? http://www.drdobbs.com/parallel/is-the-future-fine-grained-or-coarse-gra/240004067 Coarse-grained parallelism might well be on the cusp of wide popularity, but multithreading is sure to become integral to most programming. Thu, 19 Jul 2012 13:37:00 -0400 Implementing Partition with Prefix Scan http://www.drdobbs.com/parallel/implementing-partition-with-prefix-scan/240003508 In this post, I present one implementation of the Quicksort algorithm using OpenMP for the first level of task parallelism and Intel Threading Building Blocks (TBB) to give me manycore parallel operations. Tue, 10 Jul 2012 21:39:00 -0400 Quicksort Partition via Prefix Scan http://www.drdobbs.com/parallel/quicksort-partition-via-prefix-scan/240003109 I'm going to describe how to put into effect the partition functionality of the Quicksort algorithm using the Prefix Scan operation. Mon, 02 Jul 2012 16:52:00 -0400 The Mystery and Magic of Prefix Scan http://www.drdobbs.com/parallel/the-mystery-and-magic-of-prefix-scan/240001744 Prefix Scan might be considered an elemental parallel computation. This operation computes all partial sums of a vector of values resulting in a vector, the same size as the original vector, where each element is the sum of the preceding elements in the original vector up to the corresponding position. Thu, 07 Jun 2012 14:58:00 -0400 The Long and Short of Parallelism http://www.drdobbs.com/parallel/the-long-and-short-of-parallelism/240000868 Ten years ago, multi-core processors were just on the horizon. Today they are mainstream and have become the impetus for a revolution in computer programming that can make best use of the two, four, six, or eight cores. Wed, 23 May 2012 06:16:00 -0400 The Tell-Tale Compiler http://www.drdobbs.com/parallel/the-tell-tale-compiler/240000206 In this post, I want to remind you to consider issues that your parallel code can encounter from the compiler. Thu, 10 May 2012 19:49:00 -0400 The Pit and the Parallelism: Memory Models http://www.drdobbs.com/parallel/the-pit-and-the-parallelism-memory-model/232901196 When I analyze parallel algorithms and how independent threads interact with each other across shared resources, I use the assumption of <i>sequential consistency</i>. Mon, 30 Apr 2012 13:16:00 -0400 Insert Your Own Clever Bubblesort Pun http://www.drdobbs.com/parallel/insert-your-own-clever-bubblesort-pun/232800036 Here we go with my data decomposition parallel code for Bubblesort. Fri, 30 Mar 2012 07:56:00 -0400 BubbleSort Won't Leave a Bathtub Ring http://www.drdobbs.com/parallel/bubblesort-wont-leave-a-bathtub-ring/232602528 I thought this was going to be my third and final post about parallelizing Bubblesort. However, my last idea on the subject went a bit long in the explanation. Therefore, some setup here and code in the next post. Tue, 13 Mar 2012 10:43:00 -0400 How Not to Pop Your Bubblesort with Threads http://www.drdobbs.com/parallel/how-not-to-pop-your-bubblesort-with-thre/232601497 This post will just be a straight examination of the parallel code based on the ideas put forth in my previous post, with only one allusion to submarines and Scottish gentlemen. Fri, 24 Feb 2012 04:43:00 -0500 Bubble, BubbleSort, and Trouble http://www.drdobbs.com/parallel/bubble-bubblesort-and-trouble/232600358 Bubblesort was the first sorting algorithm that I ever learned (and I programmed it in COBOL). It is easy to code and simple to understand. Mon, 06 Feb 2012 19:29:00 -0500