Search papers, labs, and topics across Lattice.
This paper introduces a hands-on assignment where undergraduate students use the University of Florida's HiPerGator supercomputer to implement and benchmark matrix multiplication in Python and C using POSIX threads and OpenMP. The assignment aims to bridge the gap between theoretical knowledge and practical experience in parallel and distributed computing (PDC) by exposing students to real-world HPC environments. A three-year evaluation demonstrates that direct access to HPC infrastructure enhances student understanding of parallelism and multithreading concepts.
Give undergrads supercomputer access, and they'll actually grok parallel computing.
Parallel and Distributed Computing (PDC) is a critical yet conceptually challenging area of the undergraduate computer science curriculum. While students often encounter these concepts in theory, few gain exposure to experience in real high-performance computing (HPC) environments. Research shows that when students are engaged in project-based learning they retain knowledge more effectively. They also develop a deeper understanding of concepts taught in the classroom. This paper presents a practical assignment in which students engage directly with the University of Florida's HiPerGator supercomputer to implement and benchmark matrix multiplication using Python and C (via POSIX threads and OpenMP). Students navigate batch scheduling, core allocation, and performance tuning, experiences that are rarely accessible at the undergraduate level. We describe the assignment in detail and provide a three-year evaluation across multiple course offerings, highlighting how structured access to real HPC infrastructure can deepen student understanding of parallelism and multithreading.