Teaching computational physics with HPC: High performance and high productivity computing

ORAL

Abstract

At Francis Marion University, we have had a major in ``Computational Physics'' for more than a decade, which supplements the traditional physics curriculum with three additional physics courses that are devoted to computation. In this presentation, we will describe our current model for these courses, as well as pros, cons, and constraints of the various options. At the sophomore level, students learn to analyze data and create simulations with Python, which (thanks to the simplicity of Python) allows for high \emph{productivity} computing in this first course. The students then take Computer Science courses in Fortran and/or C++ before enrolling in upper-level computational physics, which is a two-semester sequence. In these advanced courses, the students learn high \emph{performance} computing. They carry out physics simulations while working in a Linux environment, write parallel programs with MPI, write scripts using both Bash and Python, and submit jobs to a cluster.

Authors

  • Larry Engelhardt

    Francis Marion University