Results Matrix

Skip to end of metadata
Go to start of metadata

Patterns need examples. Readers want those examples to be in their favorite programming language, using their favorite libraries or language features for parallelism.

We are going to make a collection of programs. Each program will illustrate some patterns. Each program will be reimplemented for each language/library. For example, we will have versions for Threading Building Blocks in C+, Java with threads and Java with the task framework, C (or C) with MPI and OpenMP, Charm+ (which is in C++), Scala, Actor Foundry, and some we haven't thought about yet. In the beginning, we'll use programs from Patterns for Parallel Programming, which already has MPI and OpenMP versions of most of the programs, but we'll add more programs as time goes by.

This collection will have many uses. In addition to providing documentation for patterns, it will be a way of evaluating the capability of languages. We might be able to use these for evaluating hardware platforms, as well. We might discover new patterns this way. But first and foremost this will be a way for people to see patterns in their favorite language.

Application TBB Intel Ct Java DPJ Charm++ Actor Language 1 CUDA2
Barnes-Hut N-Body Simulation Barnes-Hut TBB   Barnes-Hut Java        
Delaunay Triangulation              
IDEA     IDEA-Java        

Ref Notes
1 Which implementation? Scala, Erlang, Actor Foundry, Axum?
2 I don't actually have access to a graphics card that can run CUDA so perhaps we should ask the graphics group here to write some of these examples for us.
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.