June 2, 2018: Class materials and one class video included at end, on an introduction to patterns and Suzaku.

Suzaku Image

Suzaku Pattern Parallel Programming Framework

June 2, 2018
B. Wilkinson
abw@uncc.edu

Suzaku is a pattern parallel programming framework developed at UNC-Charlotte that enables programmers to create pattern-based MPI programs without actually writing MPI message passing code implicit in the patterns. The purpose of this framework is to simplify message passing programming and create better structured and scalable programs based upon established parallel design patterns. Our work focuses on teaching parallel programming using a pattern progaramming approach. Suzaku can be used to teach parallel programming before (or after) learning MPI. The structure of Suzaku programs is intentionally modeled on the thread-based OpenMP often taught in parallel programming courses, but using message-passing processes rather than threads. A Virtualbox virtual machine is provided with all the software and sample programs pre-installed so that you can try the Suzaku framework out very easily and use in a classroom setting:

ParallelProg-32.ova (Note 2.4 GB+) Documentation on using our virtual machines: Parallel Programming Software

This work is supported by the National Science Foundation. For more information see: Pattern Programming Project. We welcome anyone who would like to develop the concepts further or use the materials in their classes. For educational use only. Please acknowledge any materials used and contact Barry Wilkinson (abw@uncc.edu) if you need additional information. Thank you.

Suzaku Pattern Programming Framework Specification

Suzaku Source Files

Sample Programs

1. Using low-level message passing patterns

2. Workpool version 1

3. Workpool version 2

4. Workpool version 3

5. Pipeline patterns

6. Generalized patterns

Sequential programs

makefile

X11Macros.h

* Programs not posted because they are set as student programming assignments. Avaliable to instructors.

Class materials
    Fall 2014 Class Video (Drs. C Ferner and B Wilkinson)
  • Lecture 10 - Introduction to patterns and Suzaku. Note: There are significant improvements in the Suzaku specification and implementation after 2014, see the Spring 2016 powerpoint slides and Assignment 5. The Suzaku specification gives the most up-to-date details.
Acknowledgments: This work continues previous pattern programming work by Jeremy Villalobos, a PhD student at UNC-Charlotte 2007-2011, who developed a Java-based pattern programming framework called Seeds (aka Parallel Grid Application Framework).
NSF logo This material is based upon work supported by the National Science Foundation under the collaborative grant #1141005/1141006. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.