SIGCSE 2019 Workshop 102:

Exploring Parallel Computing with OpenMP on the Raspberry Pi

Wednesday 2/27/19, 7:00-10:00pm
Hyatt Greenway B (2nd floor)

Instructors: Suzanne Matthews (West Point), Joel Adams (Calvin College), Dick Brown (St. Olaf College), and Libby Shoop (Macalester College)

Are you interested in learning multi-core programming? It's easy as Pi! Join CSinParallel in this fun repeat of our very successful 2017 SIGCSE workshop, in which you will explore how to spread the workload of computationally-intensive workloads over the different cores of a Raspberry Pi, a quad-core single board computer that retails for $35.00. Attendees will learn the basics of OpenMP, an industry standard for shared memory programming.

Abstract: Parallel computing is one of the new knowledge units in the ACM/IEEE CS 2013 curriculum recommendations. This workshop will present the Raspberry Pi as an inexpensive hardware platform for providing each student with her own parallel processor. The tactile benefits of each student having her own machine and being able to take full advantage of its multicore capabilities are significant. In this hands-on workshop, we show how parallelism can be used to spread the workload of compute-intensive applications across the multiple cores of a Raspberry Pi, and explore its use as an inexpensive hardware platform for teaching parallel computing. CS educators who are interested in learning about parallel computing, OpenMP, and how to teach these concepts on a Raspberry Pi are encouraged to attend. Participants will enjoy a hands-on hardware/software experience, exploring how parallel computations operate and work in practice. In Part I of the workshop, participants will set up and explore a Raspberry Pi multi-core computer in small teams. In Part II, each team will use the parallel capabilities of the Raspberry Pi to explore parallel computation through the use of OpenMP "patternlets" published on CSinParallel.org. In Part III, participants will investigate applications of the Raspberry Pi to parallel computations such as image processing and population dynamics, using OpenMP. All materials from this workshop will be freely available from CSinParallel.org.

Part 1: Hands-on exploration

  1. Introduction to Raspberry Pi - 7:00 [Suzanne] (10 min)
  2. Laptop connection to Raspberry Pi - 7:10 [Dick] (20 min)
  3. Raspberry Pi Basics/Patternlets, with OpenMP - 7:30 [Joel] (50 min)
  4. Break -8:20pm (15 min)

Part 2: In-depth examples

Integration Exemplar (15 min)

8:35 [Libby]

Drug Design Exemplar (25 min)

8:50 [Dick]

Part 3: Teaching experiences

Assessment results - Prior Workshops

(8 min) [Suzanne]

PicoCusters

(8 min) [Libby] - picocluster experience Picocluster.pptx (PowerPoint 2007 (.pptx) 30.7MB Feb27 19)

TSGL, the Thread-Safe Graphics Library

(8 min) [Joel] - TSGL

Discussion

9:40pm (10 min) [Joel]

Feedback

9:50pm (10 min) [Joel]


Additional links: