Abstract
We demonstrate that a live-programming environment can be used to harness and add run-time interactivity to scientific simulation codes. Through a set of examples using a Particle-In-Cell PIC simulation framework we show how the real-time, human-in-the-loop interactivity of live programming can be incorporated into a traditional, offline, development workflow. We discuss how live programming tools and techniques can be productively integrated into the existing HPC landscape to increase productivity and enhance exploration and discovery.
Highlights
We demonstrate that a live-programming environment can be used to harness and add runtime interactivity to scientific simulation codes
We show how tools and techniques from live programming can constitute a dramatic intervention in HPC software development, modification, tuning and deployment
Using the Extempore [15] live-programming environment we demonstrate how procedure-level “hot-swapping” can be added to existing simulation codes in order to provide HPC application developers with the level of interactivity which is the characteristic of software development in other modern application domains
Summary
The Particle-in-Cell (PIC) technique [2] is widely used in plasma physics and plasma engineering. The specific PIC codes we use in this paper are “skeleton” PIC codes written in C and Fortran 3 These codes have been developed for exploring new computational architectures [3] and as a foundation for teaching and reasoning about PIC simulation. They support various parallelisation schemes, including shared memory (OpenMP), distributed memory (MPI) and GPU accelerators (CUDA). 1. deposit the electric charge (or similar) from the particles into a grid 2. The subroutines deposit, solve and push do the main work of int num_particles = 1e6; int grid_size = 512;. /* deposit charge on grid */ /* calculate field */ /* move particles */ /* increment timestep */. We will show how the Extempore live-programming environment can be used to harness and run such a simulation in an interactive manner
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have