Live Programming in Scientific Simulation

Authors

  • Ben Swift Australian National University, Canberra
  • Andrew Sorensen Australian National University, Canberra
  • Henry Gardner Australian National University, Canberra
  • Peter Davis Australian National University, Canberra
  • Viktor K. Decyk University of California, Los Angeles

DOI:

https://doi.org/10.14529/jsfi150401

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.

References

Jeff Bezanson, Stefan Karpinski, Viral B Shah, and Alan Edelman. Julia: A fast dynamic language for technical computing. arXiv preprint arXiv:1209.5145, 2012.

C. K. Birdsall and A. B. Langdon. Plasma Physics via Computer Simulation. CRC Press, October 2004.

V. Decyk. Skeleton particle-in-cell codes on emerging computer architectures. Computing in Science Engineering, PP(99):1–1, 2015.

Viktor K. Decyk and Tajendra V. Singh. Particle-in-cell algorithms for emerging computer architectures. Computer Physics Communications, 185(3):708–719, March 2014.

P.E. Dewdney, P.J. Hall, R.T. Schilizzi, and T.J.L.W. Lazio. The square kilometre array. Proceedings of the IEEE, 97(8):1482–1496, Aug 2009.

Y. Gil, E. Deelman, M. Ellisman, T. Fahringer, G. Fox, D. Gannon, C. Goble, M. Livny, L. Moreau, and J. Myers. Examining the challenges of scientific workflows. Computer, 40(12):24–32, December 2007.

James Goodwill and Wesley Matlock. The swift programming language. In Beginning Swift Games Development for iOS, pages 219–244. Springer, 2015.

John Hules and Jon Bashor. Report of the 3rd DOE Workshop on HPC Best Practices: Software Lifecycles. US Department of Energy, 2009.

C Lattner and V Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization, 2004. CGO 2004., pages 75–86. IEEE, January 2004.

Paulett C Liewer and Viktor K Decyk. A general concurrent algorithm for plasma particle- in-cell simulation codes. Journal of Computational Physics, 85(2):302–322, December 1989.

Marta Mattoso, Jonas Dias, Kary A. C. S. Ocana, Eduardo Ogasawara, Flavio Costa, Felipe Horta, Vitor Silva, and Daniel de Oliveira. Dynamic steering of HPC scientific workflows: A survey. Future Generation Computer Systems, 2014.

Floreal Morandat, Brandon Hill, Leo Osvald, and Jan Vitek. Evaluating the design of the R language. ECOOP 2012–Object-Oriented Programming, pages 104–131, 2012.

Jurriaan D Mulder, Jarke J van Wijk, and Robert van Liere. A survey of computational steering environments. Future Generation Computer Systems, 15(1):119–129, February 1999.

Travis E. Oliphant. A Guide to NumPy, volume 1. Trelgol Publishing USA, 2006.

The Rust Programming Language. http://www.rust-lang.org

Andrew Sorensen. Extempore. http://extempore.moso.com.au/

The Computer Languages Benchmark Game. http://benchmarksgame.alioth.debian.org/

Downloads

Published

2016-04-11

How to Cite

Swift, B., Sorensen, A., Gardner, H., Davis, P., & Decyk, V. K. (2016). Live Programming in Scientific Simulation. Supercomputing Frontiers and Innovations, 2(4), 4–15. https://doi.org/10.14529/jsfi150401

Most read articles by the same author(s)