Parallel Dwarfs: now available on Codeplex RRS feed

  • General discussion

  • Folks,

    A set of sample programs implementing the 13 "Dwarfs" (kernels) has just been released on Codeplex at: Paralleldwarfs.codeplex.com .  Here is the intro page for the project:



    Parallel Dwarfs

    The Parallel Dwarfs project is a collection of 13 kernels (as VS projects in C/C#) parallelized using various technologies such as MPI, OpenMP, TPL, MPI.Net, etc. It also has a driver to run them, collect traces, and visualize the results using Vampir, Jumpshot, Xperf and Excel


    Welcome to the Parallel Dwarfs Projects!

    If you are interested in learning about parallel programming using MPI, OpenMP, PFx, etc., feel free to download and run these kernels on your machine (or cluster!). If you are interested in contributing, please see below.

    These "Dwarfs" (kernels) were written by Students at the St Petersburg University in Russia under Prof. Vladimir Safonov (see People).

    The original idea behind the Dwarfs is from Phil Collela's paper, which was later expanded on by Dave Patterson. See the following for info about the Dwarfs themselves: UCB Dwarfs ; Also see this presentation by Patterson on the philosophy behind the Dwarfs.


    What they are

    The Dwarfs are basically kernels that represent a wide spectrum of computations for various application domains. This is an attempt to parallelize these 13 algorithms using various parallelization technologies available on Windows. The download is a VS2008 solution w the kernels (dwarfs) in C++ and C#, an F# input data generator and a driver. You can use the driver to select one or more dwarfs, input sizes for the runs, tracing and visualization options. The dwarfs can be run on a laptop, multi-core workstation or a cluster.

    Considering the number of kernels, languages, input sizes, etc., you can run approximately 350 combinations of the dwarfs!

    Here are some of the dwarfs and the analysis reports:  Screenshots ;


    Friday, April 24, 2009 2:00 AM