Regional Workshop on Teaching an Undergraduate Parallel Programming Course with Pattern Programming

July 25, 2014

University of North Carolina Charlotte

Student Union, Room 261

Tentative Schedule

Barry Wilkinson
University of North Carolina Charlotte
Clayton Ferner
University of North Carolina Wilmington

Agenda

Materials

9:30 am - 9:45 am

Welcome and opening remarks, outline of workshop.

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. (15 minutes)

 

Introduction


9:45 am - 11:00 am

Session 1: Course development, MPI, and Suzaku (75 minutes)

a) Presentation

(i) Outline of course development using pattern programming at UNC-Charlotte/UNC-Wilmington, assignments, experiences, software environment. (20 minutes)

(ii) Brief review of MPI in context of patterns (20 minutes)

(iii) Suzaku (10 minutes)

b) Brief hands-on

(i) Installing VirtualBox and standard software stack for workshop from flash drives (10 minutes)

(ii) Using MPI and Suzaku (15 minutes)

 

 

Course development

Review of MPI

Suzaku

InstallingWorkshop software (from flash drives)

MPI Hands-on
Suzaku Hands-on

11:00 am - 11:15 am Break (15 minutes)  
11:15 am - 12:30 pm

Session 2: Introduction to the Paraguin compiler approach (75 minutes)

a) Presenters: Paraguin compiler pattern programming framework, code ... (Approx. 35 minutes)

b) Participants: Guided hands-on experience. ... (Approx. 40 minutes)

Session 2 Presentation

Session 2 Hands-on notes

 

12:30 pm - 1:30 pm
Lunch

1:30 pm - 3:00 pm

Session 3: Pattern Programming with the Seeds Framework (90 minutes)

a) Presenters: Seeds pattern programming framework, code for workpool applications - Monte Carlo pi, matrix addition and multiplication. (Approx. 40 minutes)

b) Participants: Guided hands-on experience. Compile and execute Seeds pattern programming Monte Carlo pi, matrix addition/multiplication running on laptop. Compare with sequential code. (Approx. 45 minutes)

 

Session 3 (a) presentation

Session 3 (b) Hands-on notes

 

Software FAQs


3:00 pm - 3:15 pm Break (15 minutes)  
3:15 pm - 4:15 pm

Session 4: Discussion - Integrating patterns into parallel programming classes and lower level CS courses (60 minutes)

Discussion on the pattern programming approach. Relationship with IEEE/CS curriculum....

Future collaborations ....

Session 4 Notes

 

4:15 pm - 4:30 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.
July 19, 2014