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

Read more

Summary

Outline of a PIC simulation code

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

Real-time intervention in PIC simulation
Prospects for Discovery in PIC Simulation
Steering
Rapid Prototyping in Software Development
Resource Management
Visualisation and Analysis
Exploration
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call