Abstract

We present an efficient Finite Volume solver for the shallow water equations using an actor extension of the X10 programming language, ActorX10, as programming model. Each actor is assigned to a Cartesian patch of the computational grid. Using the actor's finite state machine to control patch updates, we realize lazy activation of patches, only when a propagating wave enters the respective patch. Overlapping of communication and computation in the fully non-central actor-based control, as well as careful optimization (esp. vectorization) of kernels leads to high performance and parallel efficiency in shared and distributed memory. Benefits of lazy activation are demonstrated via reduced CPU hours for a benchmark scenario.

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