Abstract
Graphics Processing Units (GPUs) are widely spread nowadays due to their parallel processing capabilities. Leveraging these hardware features is particularly important for computationally expensive tasks and workloads. Prominent use cases are optimization problems and simulations that can be parallelized and tuned for these architectures. In the general domain of simulations (numerical and discrete), the overall logic is split into several components that are executed one after another. These components need step-size information which determines the number of steps (e.g. the elapsed time) they have to perform. Small step sizes are often required to ensure a valid simulation result with respect to precision and constraint correctness. Unfortunately, they are often the main bottleneck of the simulation. In this paper, we introduce a new and generic way of realizing high-performance simulations with multiple components using adaptive time steps on GPUs. Our method relies on a code-analysis phase that resolves data dependencies between different components. This knowledge is used to generate specially-tuned execution kernels that encapsulate the underlying component logic. An evaluation on our simulation benchmarks shows that we are able to considerably improve runtime performance compared to prior work.
This work was supported by the SINTEG-project DESIGNETZ funded by the German Federal Ministry of Economic Affairs and Energy (BMWi) under the grant 03SIN222.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A single simulation iteration is commonly referred to as a simulation step.
- 2.
References
Adams, B., Pauly, M., Keiser, R., Guibas, L.J.: Adaptively sampled particle fluids. ACM Trans. Graph. (2007)
Carey, V., Estep, D., Johansson, A., Larson, M., Tavener, S.: Blockwise adaptivity for time dependent problems based on coarse scale adjoint solutions. SIAM J. Sci. Comput. 32, 2121–2145 (2010)
Gander, M., Halpern, L.: Techniques for locally adaptive time stepping developed over the last two decades. In: Bank, R., Holst, M., Widlund, O., Xu, J. (eds.) Domain Decomposition Methods in Science and Engineering XX. Lecture Notes in Computational Science and Engineering, vol. 91, pp. 377–385. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35275-1_44
Garcia, V.M., Liberos, A., Climent, A.M., Vidal, A., Millet, J., González, A.: An adaptive step size GPU ODE solver for simulating the electric cardiac activity. In: 2011 Computing in Cardiology (2011)
Groß, J., Köster, M., Krüger, A.: Fast and efficient nearest neighbor search for particle simulations. In: Eurographics Proceedings (2019)
Hong, W., House, D.H., Keyser, J.: An adaptive sampling approach to incompressible particle-based fluid. In: Theory and Practice of Computer Graphics (2009)
Horvath, C.J., Solenthaler, B.: Mass preserving multi-scale SPH. Pixar Technical Memo 13–04, Pixar Animation Studios (2013)
Ihmsen, M., Akinci, N., Gissler, M., Teschner, M.: Boundary handling and adaptive time-stepping for PCISPH (2010)
Kay, D., Gresho, P., Griffiths, D., Silvester, D.: Adaptive time-stepping for incompressible flow part II: Navier-Stokes equations. SIAM J. Sci. Comput. 32, 111–128 (2010)
Kelager, M.: Lagrangian fluid dynamics using smoothed particle hydrodynamics (2006)
Köster, M., Groß, J., Krüger, A.: Massively parallel rule-based interpreter execution on GPUs using thread Compaction. Int. J. Parallel Program. 48, 675–691 (2020). https://doi.org/10.1007/s10766-020-00670-2
Köster, M., Groß, J., Krüger, A.: FANG: fast and efficient successor-state generation for heuristic optimization on GPUs. In: Wen, S., Zomaya, A., Yang, L.T. (eds.) ICA3PP 2019. LNCS, vol. 11944, pp. 223–241. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-38991-8_15
Köster, M., Groß, J., Krüger, A.: Parallel tracking and reconstruction of states in heuristic optimization systems on GPUs. In: Parallel and Distributed Computing, Applications and Technologies (PDCAT-2019) (2019)
Köster, M., Krüger, A.: Adaptive position-based fluids: improving performance of fluid simulations for real-time applications. Int. J. Comput. Graph. Anim. (2016)
Köster, M., Leißa, R., Hack, S., Membarth, R., Slusallek, P.: Code refinement of stencil codes. Parallel Process. Lett. (PPL) 24, 1441003 (2014)
Köster, M., Schmitz, M., Gehring, S.: Gravity games - a framework for interactive space physics on media facades. In: Proceedings of the International Symposium on Pervasive Displays (2015)
Köster, M., Krüger, A.: Screen space particle selection. In: Eurographics Proceedings (2018)
Macklin, M., Müller, M.: Position based fluids. ACM Trans. Graph. 32, 1–12 (2013)
Macklin, M., Müller, M., Chentanez, N., Kim, T.Y.: Unified particle physics for real-time applications. ACM Trans. Graph. 33, 1–12 (2014)
Mayr, M., Wall, W., Gee, M.: Adaptive time stepping for fluid-structure interaction solvers. Finite Elem. Anal. Design 141, 55–69 (2018)
Monaghan, J.J.: Smoothed particle hydrodynamics. In: Annual Review of Astronomy and Astrophysics (1992)
Müller, M., Charypar, D., Gross, M.: Particle-based fluid simulation for interactive applications. In: Symposium on Computer Animation (2003)
Müller, M., Heidelberger, B., Hennix, M., Ratcliff, J.: Position based dynamics. J. Vis. Commun. Image Represent. 18, 109–118 (2007)
Müller, M., Solenthaler, B., Keiser, R., Gross, M.H.: Particle-based fluid-fluid interaction. In: Symposium on Computer Animation (2005)
NVIDIA: Faster Parallel Reductions on Kepler (2014)
NVIDIA: CUDA C Programming Guide v10 (2019)
Pounders, J., Boffie, J.: Analysis of an adaptive time step scheme for the transient diffusion equation (2015)
Solenthaler, B., Gross, M.: Two-scale particle simulation. In: ACM Siggraph (2011)
Solenthaler, B., Pajarola, R.: Predictive-corrective incompressible SPH. In: ACM Siggraph (2009)
Zhang, Y., Solenthaler, B., Pajarola, R.: Adaptive sampling and rendering of fluids on the GPU. In: Eurographics Proceedings (2008)
Acknowledgments
The authors would like to thank T. Schmeyer, A. Bosch and J. Bayer for their feedback on the paper, even in the scope of very challenging and stressful times.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Köster, M., Groß, J., Krüger, A. (2020). High-Performance Simulations on GPUs Using Adaptive Time Steps. In: Qiu, M. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2020. Lecture Notes in Computer Science(), vol 12452. Springer, Cham. https://doi.org/10.1007/978-3-030-60245-1_26
Download citation
DOI: https://doi.org/10.1007/978-3-030-60245-1_26
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-60244-4
Online ISBN: 978-3-030-60245-1
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)