Parallel programming with Easy Java Simulations

F Esquembre and W Christian and M Belloni, AMERICAN JOURNAL OF PHYSICS, 86, 54-67 (2018).

DOI: 10.1119/1.5012510

Nearly all of today's processors are multicore, and ideally programming and algorithm development utilizing the entire processor should be introduced early in the computational physics curriculum. Parallel programming is often not introduced because it requires a new programming environment and uses constructs that are unfamiliar to many teachers. We describe how we decrease the barrier to parallel programming by using a JAVA-based programming environment to treat problems in the usual undergraduate curriculum. We use the EASY JAVA SIMULATIONS programming and authoring tool to create the program's graphical user interface together with objects based on those developed by Kaminsky Building Parallel Programs (Course Technology, Boston, 2010) to handle common parallel programming tasks. Shared-memory parallel implementations of physics problems, such as time evolution of the Schrodinger equation, are available as source code and as ready-to- run programs from the AAPT-ComPADRE digital library. (C) 2018 American Association of Physics Teachers.

Return to Publications page