National Workshop on Teaching an Undergraduate Parallel Programming Course with Pattern Programming Monday July 13th, 2015 Southeastern Universities Research Association |
|
Barry
Wilkinson University of North Carolina Charlotte |
Clayton
Ferner University of North Carolina Wilmington |
Tentative Agenda |
|
8:30 am | Arrival, Continental Breakfast |
9:00 am - 9:15 am |
Welcome and opening remarks, outline of workshop. Wireless, laptop software. |
9:15 am - 10:45 am | Session 1: Course development, OpenMP, MPI, and pattern programming tools a) Presenters: Brief overview of existing parallel programming courses, OpenMP, MPI, CUDA. Introduction to pattern programming as a design approach to parallel programming, workpool, pipeline, stencil, divide and conquer, and synchronous all-to-all patterns, advantages, disadvantages, existing work, our approach. Top down and bottom-up approaches. b) Participants: Installing VirtualBox and software stack for workshop. Using OpenMP and MPI, command line and Eclipse-PTP. Suzaku low level macros to hide MPI. |
10:45 am - 11:00 am | Break |
11:00 am - 12:30 pm | Session 2: Pattern Programming with the Seeds Framework and the Suzaku Framework a) Presenters: Development of higher level tools. Seeds pattern programming framework, code for workpool applications - Monte Carlo pi, matrix addition and multiplication. Suzaku workpool and other patterns. b) Participants: Guided hands-on experience. Seeds pattern programming using Eclipse (Java), Monte Carlo pi, matrix addition/multiplication. Suzaku programs, workpool. |
12:30 pm - 1:30 pm |
Lunch |
1:30 pm - 3:00 pm |
Session 3: The Paraguin compiler approach a) Presenters: Paraguin compiler pattern programming framework, matrix addition/multiplication, heat distribution using stencil pattern. b) Participants: Guided hands-on experience. |
3:00 pm - 3:15 pm | Break |
3:15 pm - 4:30 pm | Session 4: Discussion - Integrating patterns into parallel programming classes and lower level CS courses Discussion on using the pattern programming approach to introduce parallel/distributed computing in the lower CS courses. Relationship with IEEE/CS curriculum. Our experiences, course materials. Future collaborations. |
4:30 pm - 5:00 pm |
Wrap up, questionnaire, follow-up support |
Acknowledgements: This material is based upon work supported by the National Science Foundation under the collaborative grant #1141005/1141006, "Collaborative Research: Teaching Multicore and Many-Core Programming at a Higher Level of Abstraction." 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. |
April 10, 2015
|