June 2, 2018: Class materials and one class video included at end, on an introduction to patterns and Suzaku.
Suzaku Pattern Parallel Programming FrameworkJune 2, 2018 |
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
* Programs not posted because they are set as student programming assignments. Avaliable to instructors. |
Class materials
|
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). | |
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. |