Portable Data-Parallel Surface Reconstruction on a Uniform Rectilinear Grid
Abstract
With the increasing heterogeneity and on-node parallelism of high-performance computing hardware, a major challenge is to develop portable and efficient algorithms and software. In this work, we present our implementation of a portable code to perform surface reconstruction using NVIDIA's Thrust library. Surface reconstruction is a technique commonly used in volume tracking methods for simulations of multimaterial flow with interfaces. Here, we have designed a 3D mesh data structure that is easily mapped to the 1D vectors used by Thrust and at the same time is simple to use and uses familiar data structure terminology (such as cells, faces, vertices, and edges). With this new data structure in place, we have implemented a piecewise linear interface reconstruction algorithm in 3 dimensions that effectively exploits the symmetry present in a uniform rectilinear computational cell. Finally, we report performance results, which show that a single implementation of these algorithms can be compiled to multiple backends (specifically, multi-core CPUs, NVIDIA GPUs, and Intel Xeon Phi processors), making efficient use of the available parallelism on each. We also compare performance of our implementation to a legacy FORTRAN implementation in Message Passing Interface (MPI) and show performance parity on single and multi-core CPU and achievedmore »
- Authors:
-
- Los Alamos National Lab. (LANL), Los Alamos, NM (United States)
- Publication Date:
- Research Org.:
- Los Alamos National Lab. (LANL), Los Alamos, NM (United States)
- Sponsoring Org.:
- USDOE National Nuclear Security Administration (NNSA)
- OSTI Identifier:
- 1458933
- Report Number(s):
- LA-UR-16-21452
Journal ID: ISSN 0271-2091
- Grant/Contract Number:
- AC52-06NA25396
- Resource Type:
- Accepted Manuscript
- Journal Name:
- International Journal for Numerical Methods in Fluids
- Additional Journal Information:
- Journal Volume: 86; Journal Issue: 2; Journal ID: ISSN 0271-2091
- Publisher:
- Wiley
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING; Volume-of-Fluid method; interface reconstruction; data parallel models for multi-core; mesh data structures
Citation Formats
Francois, Marianne M., Lo, Li-Ta, Sewell, Christopher Meyer, and Velechovsky, Jan. Portable Data-Parallel Surface Reconstruction on a Uniform Rectilinear Grid. United States: N. p., 2018.
Web. doi:10.1002/fld.4410.
Francois, Marianne M., Lo, Li-Ta, Sewell, Christopher Meyer, & Velechovsky, Jan. Portable Data-Parallel Surface Reconstruction on a Uniform Rectilinear Grid. United States. https://doi.org/10.1002/fld.4410
Francois, Marianne M., Lo, Li-Ta, Sewell, Christopher Meyer, and Velechovsky, Jan. Sat .
"Portable Data-Parallel Surface Reconstruction on a Uniform Rectilinear Grid". United States. https://doi.org/10.1002/fld.4410. https://www.osti.gov/servlets/purl/1458933.
@article{osti_1458933,
title = {Portable Data-Parallel Surface Reconstruction on a Uniform Rectilinear Grid},
author = {Francois, Marianne M. and Lo, Li-Ta and Sewell, Christopher Meyer and Velechovsky, Jan},
abstractNote = {With the increasing heterogeneity and on-node parallelism of high-performance computing hardware, a major challenge is to develop portable and efficient algorithms and software. In this work, we present our implementation of a portable code to perform surface reconstruction using NVIDIA's Thrust library. Surface reconstruction is a technique commonly used in volume tracking methods for simulations of multimaterial flow with interfaces. Here, we have designed a 3D mesh data structure that is easily mapped to the 1D vectors used by Thrust and at the same time is simple to use and uses familiar data structure terminology (such as cells, faces, vertices, and edges). With this new data structure in place, we have implemented a piecewise linear interface reconstruction algorithm in 3 dimensions that effectively exploits the symmetry present in a uniform rectilinear computational cell. Finally, we report performance results, which show that a single implementation of these algorithms can be compiled to multiple backends (specifically, multi-core CPUs, NVIDIA GPUs, and Intel Xeon Phi processors), making efficient use of the available parallelism on each. We also compare performance of our implementation to a legacy FORTRAN implementation in Message Passing Interface (MPI) and show performance parity on single and multi-core CPU and achieved good parallel speed-ups on GPU. In conclusion, our research demonstrates the advantage of performance portability of the underlying data-parallel programming model.},
doi = {10.1002/fld.4410},
journal = {International Journal for Numerical Methods in Fluids},
number = 2,
volume = 86,
place = {United States},
year = {2018},
month = {1}
}
Works referenced in this record:
Manycore Performance-Portability: Kokkos Multidimensional Array Library
journal, January 2012
- Edwards, H. Carter; Sunderland, Daniel; Porter, Vicki
- Scientific Programming, Vol. 20, Issue 2
Performance analysis of a 3D unstructured mesh hydrodynamics code on multi-core and many-core architectures: MULTI-CORE AND MANY-CORE PERFORMANCE OF A 3D UNSTRUCTURED MESH HYDROCODE
journal, November 2014
- Waltz, J.; Wohlbier, J. G.; Risinger, L. D.
- International Journal for Numerical Methods in Fluids, Vol. 77, Issue 6
Solving incompressible two-phase flows on multi-GPU clusters
journal, July 2013
- Zaspel, Peter; Griebel, Michael
- Computers & Fluids, Vol. 80
Estimating curvature from volume fractions
journal, February 2005
- Cummins, Sharen J.; Francois, Marianne M.; Kothe, Douglas B.
- Computers & Structures, Vol. 83, Issue 6-7
Application of GPU to computational multiphase fluid dynamics
journal, June 2010
- Nagatake, T.; Kunugi, T.
- IOP Conference Series: Materials Science and Engineering, Vol. 10
An interface reconstruction method based on an analytical formula for 3D arbitrary convex cells
journal, January 2016
- Diot, Steven; François, Marianne M.
- Journal of Computational Physics, Vol. 305
Reconstructing Volume Tracking
journal, April 1998
- Rider, William J.; Kothe, Douglas B.
- Journal of Computational Physics, Vol. 141, Issue 2
Numerical simulation of gas bubbles behaviour using a three-dimensional volume of fluid method
journal, June 2005
- van Sint Annaland, M.; Deen, N. G.; Kuipers, J. A. M.
- Chemical Engineering Science, Vol. 60, Issue 11
VTK-m: Accelerating the Visualization Toolkit for Massively Threaded Architectures
journal, May 2016
- Moreland, Kenneth; Sewell, Christopher; Usher, William
- IEEE Computer Graphics and Applications, Vol. 36, Issue 3
An interface reconstruction method based on analytical formulae for 2D planar and axisymmetric arbitrary convex cells
journal, October 2014
- Diot, S.; François, M. M.; Dendy, E. D.
- Journal of Computational Physics, Vol. 275
Ray tracing within a data parallel framework
conference, April 2015
- Larsen, Matthew; Meredith, Jeremy S.; Navratil, Paul A.
- 2015 IEEE Pacific Visualization Symposium (PacificVis)