Comparing Performance of Parallelizing Frameworks for Grid-Based Fluid Simulation on the CPU
Pages 1 - 7
Abstract
In this paper we present a comparison study of two widely used parallelizing frameworks on the CPU, namely, OpenMP and Intel Threading Building Blocks (TBB). The particular problem domain we apply to is a grid-based fluid simulation solver. The standard Eulerian grid-based fluid solver discretizes the Navier-Stokes equation on a staggered but regular grid and computes the fluid parameters like velocity and pressure in each grid cell. We use OpenMP and TBB to parallelize this computation, and study the behaviour of our implementation on each framework, while working with different number of threads and CPU cores. We provide arguments in support of implementing a mixed solution strategy using both the parallelizing frameworks together, thus improving performance over when either is used in isolation.
References
[1]
Intel Threading Building Blocks. http://www.threadingbuildingblocks.org. Last accessed on 20/8/2015.
[2]
OpenMP. http://www.openmp.org. Last accessed on 20/8/2015.
[3]
G. Alfonsi, S. A. Ciliberti, M. Mancini, and L. Primavera. Performances of navier-stokes solver on a hybrid cpu/gpu computing system. In Parallel Computing Technologies, pages 404--416. 2011.
[4]
R. Bridson. Fluid Simulation for Computer Graphics. A. K. Peters Series. Taylor & Francis, 2008.
[5]
T. Brochu and R. Bridson. Robust topological operations for dynamic explicit surfaces. SIAM Journal on Scientific Computing, 31(4):2472--2493, 2009.
[6]
N. Chentanez and M. Müller. Real-time eulerian water simulation using a restricted tall cell grid. In ACM Transactions on Graphics (TOG), volume 30, page 82, 2011.
[7]
D. Enright, S. Marschner, and R. Fedkiw. Animation and rendering of complex water surfaces. In ACM Transactions on Graphics (TOG), volume 21, pages 736--744, 2002.
[8]
N. Foster and R. Fedkiw. Practical animation of liquids. In Proceedings of SIGGRAPH, pages 23--30, 2001.
[9]
M. J. Gourlay. Fluid simulation for video games. https://software.intel.com/en-us/articles/fluid-simulation-for-video-games-part-1/. Last accessed on 20/8/2015.
[10]
R. Keiser, B. Adams, D. Gasser, P. Bazzi, P. Dutre, and M. Gross. A unified lagrangian approach to solid-fluid animation. In Point-Based Graphincs, 2005. Eurographics/IEEE VGTC Symposium Proceedings, pages 125--148, 2005.
[11]
M. Lentine, W. Zheng, and R. Fedkiw. A novel algorithm for incompressible flow using only a coarse grid projection. ACM Transactions on Graphics (TOG), 29(4):114, 2010.
[12]
F. Losasso, F. Gibou, and R. Fedkiw. Simulating water and smoke with an octree data structure. ACM Transactions on Graphics (TOG), 23(3):457--462, 2004.
[13]
A. McAdams, E. Sifakis, and J. Teran. A parallel multigrid poisson solver for fluids simulation on large grids. In Proceedings of the 2010 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pages 65--74, 2010.
[14]
M. Müller, D. Charypar, and M. Gross. Particle-based fluid simulation for interactive applications. In Proceedings of the ACM SIGGRAPH/Eurographics SCA, pages 154--159, 2003.
[15]
S. Pawar and P. Chaudhuri. A study on parallelizing grid-based fluid simulations on the cpu. In Proceedings of the 7th ACM India Computing Conference, COMPUTE '14, pages 10:1--10:5, 2014.
[16]
A. Selle, R. Fedkiw, B. Kim, Y. Liu, and J. Rossignac. An unconditionally stable maccormack method. Journal of Scientific Computing, 35(2--3):350--371, 2008.
[17]
J. Stam. Stable fluids. In Proceedings of SIGGRAPH, pages 121--128, 1999.
[18]
C. Terboven, A. Spiegel, D. An Mey, S. Gross, and V. Reichelt. Experiences with the openmp parallelization of drops, a navier-stokes solver written in c++. In OpenMP Shared Memory Parallel Programming, pages 95--106. 2008.
[19]
Y. Zhu and R. Bridson. Animating sand as a fluid. In ACM Transactions on Graphics (TOG), volume 24, pages 965--972, 2005.
Index Terms
- Comparing Performance of Parallelizing Frameworks for Grid-Based Fluid Simulation on the CPU
Recommendations
A study on parallelizing grid-based fluid simulations on the CPU
COMPUTE '14: Proceedings of the 7th ACM India Computing ConferenceWe present a study based on our initial efforts to parallelize a grid-based fluid solver. The standard Eulerian grid-based fluid solver discretizes the Navier Stokes equation on a regular grid and computes the fluid velocity and pressure in each grid ...
Comments
Information & Contributors
Information
Published In
October 2015
142 pages
ISBN:9781450336505
DOI:10.1145/2835043
Copyright © 2015 ACM.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]
In-Cooperation
- ACM India: ACM India
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Published: 29 October 2015
Check for updates
Qualifiers
- Research-article
- Research
- Refereed limited
Conference
Compute '15
Acceptance Rates
Overall Acceptance Rate 114 of 622 submissions, 18%
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 65Total Downloads
- Downloads (Last 12 months)1
- Downloads (Last 6 weeks)0
Reflects downloads up to 16 Jan 2025
Other Metrics
Citations
View Options
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in