Abstract
We propose a storage efficient, fast and parallelizable out-of-core framework for streaming computations of high resolution level sets. The fundamental techniques are skewing and tiling transformations of streamed level set computations which allow for the combination of interface propagation, re-normalization and narrow-band rebuild into a single pass over the data stored on disk. When combined with a new data layout on disk, this improves the overall performance when compared to previous streaming level set frameworks that require multiple passes over the data for each time-step. As a result, streaming level set computations are now CPU bound and consequently the overall performance is unaffected by disk latency and bandwidth limitations. We demonstrate this with several benchmark tests that show sustained out-of-core throughputs close to that of in-core level set simulations.
Similar content being viewed by others
References
Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)
Adalsteinsson, D., Sethian, J.A.: A fast level set method for propagating interfaces. J. Comput. Phys. 118(2), 269–277 (1995)
Bertalmío, M., Cheng, L.-T., Osher, S., Sapiro, G.: Variational problems and partial differential equations on implicit surfaces. J. Comput. Phys. 174(2), 759–780 (2001)
Bibireata, A., Krishnan, S., Baumgartner, G., Cociorva, D., Lam, C., Sadayappan, P., Ramanujam, J., Bernholdt, D.E., Choppella, V.: Memory-constrained data locality optimization for tensor contractions. In: Rauchwerger, L. (ed.) Proceedings of the 16th International Workshop on Languages and Compilers for Parallel Computing (LCPC’03). Lecture Notes in Computer Science, vol. 2958, pp. 93–108. Springer, Berlin (2004)
Bridson, R.: Computational aspects of dynamic surfaces. Ph.D. thesis, Stanford University (2003)
Chopp, D.L.: Computing minimal surfaces via level set curvature flow. J. Comput. Phys. 106, 77–91 (1993)
Dupont, T.F., Liu, Y.: Back and forth error compensation and correction methods for removing errors induced by uneven gradients of the level set function. J. Comput. Phys. 190(1), 311–324 (2003)
Droske, M., Rumpf, M.: A level set formulation for willmore flow. Interfaces Free Bound. 6(3), 361–378 (2004)
Dervieux, A., Thomasset, F.: A finite element method for the simulation of Raleigh-Taylor instability. Lect. Notes Math. 771, 145–158 (1979)
Dervieux, A., Thomasset, F.: Multifluid incompressible flows by a finite element method. In: Reynolds, W., MacCormack, R. (eds.) Seventh International Conference on Numerical Methods in Fluid Dynamics. Lecture Notes in Physics, vol. 141, pp. 158–163 (1980)
Enright, D., Fedkiw, R., Ferziger, J., Mitchell, I.: A hybrid particle level set method for improved interface capturing. J. Comput. Phys. 183(1), 83–116 (2002)
Foster, N., Fedkiw, R.: Practical animation of liquids. In: Proceedings of ACM SIGGRAPH 2001. Computer Graphics Proceedings, Annual Conference Series, pp. 23–30. ACM, New York (2001)
Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: 40th Annual Symposium on Foundations of Computer Science, New York, October 17–19, pp. 285–297 (1999)
Gibou, F., Fedkiw, R., Caflisch, R., Osher, S.: A level set approach for the numerical simulation of dendritic growth. J. Sci. Comput. 19(1–3), 183–199 (2003)
Harten, A., Engquist, B., Osher, S., Chakravarthy, S.R.: Uniformly high order accurate essentially non-oscillatory schemes, iii. J. Comput. Phys. 131(1), 3–47 (1997)
Hieber, S.E., Koumoutsakos, P.: A Lagrangian particle level set method. J. Comput. Phys. 210(1), 342–367 (2005)
Houston, B., Nielsen, M., Batty, C., Nilsson, O., Museth, K.: Hierarchical RLE level set: a compact and versatile deformable surface representation. ACM Trans. Graph. 25(1), 1–24 (2006)
Pen, U.-L., Trac, H.: Out-of-core hydrodynamic simulations for cosmological applications. New Astron. (2006)
Jiang, G.-S., Peng, D.: Weighted ENO schemes for Hamilton–Jacobi equations. SIAM J. Sci. Comput. 21(6), 2126–2143 (1999)
Jiang, G.-S., Peng, D.: Weighted ENO schemes for Hamilton-Jacobi equations. SIAM J. Sci. Comput. 21(6), 2126–2143 (1999)
Jiang, G.-S., Shu, C.-W.: Efficient implementation of weighted ENO schemes. J. Comput. Phys. 126(1), 202–228 (1996)
Jeong, W.-K., Whitaker, R.T.: A fast iterative method for eikonal equations. SIAM J. Sci. Comput. 30(5), 2512–2534 (2008)
Kandemir, M., Choudhary, A., Ramanujam, J.: An i/o-conscious tiling strategy for disk-resident data sets. J. Supercomput. 21(3), 257–284 (2002)
Kandemir, M., Choudhary, A., Ramanujam, J., Kandaswamy, M.A.: A unified framework for optimizing locality, parallelism, and communication in out-of-core computations. IEEE Trans. Parallel Distrib. Syst. 11(7), 648–668 (2000)
Kamil, S., Datta, K., Williams, S., Oliker, L., Shalf, J., Yelick, K.: Implicit and explicit optimizations for stencil computations. In: MSPC’06: Proceedings of the (2006) Workshop on Memory System Performance and Correctness, pp. 51–60. ACM, New York (2004)
Kowarschik, M.: An overview of cache optimization techniques and cache-aware numerical algorithms. In: Algorithms for Memory Hierarchies. LNCS, vol. 2625, pp. 213–232. Springer, Berlin (2003)
Lorensen, W.E., Cline, H.E.: Marching cubes: a high resolution 3d surface construction algorithm. In: SIGGRAPH’87: Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques, pp. 163–169. ACM, New York (1987)
LeVeque, R.: High-resolution conservative algorithms for advection in incompressible flow. SIAM J. Numer. Anal. 33, 627–665 (1996)
Leventhal, A.: Flash storage memory. Commun. ACM 51(7), 47–51 (2008)
Losasso, F., Fedkiw, R., Osher, S.: Spatially adaptive techniques for level set methods and incompressible flow. Comput. Fluids 35 (2005)
Lefohn, A.E., Kniss, J.M., Hansen, C.D., Whitaker, R.T.: Interactive deformation and visualization of level set surfaces using graphics hardware. In: VIS’03: Proceedings of the 14th IEEE Visualization (VIS’03), p. 11. IEEE Comput. Soc., Los Alamitos (2003)
Liu, X.D., Osher, S.J., Chan, T.: Weighted essentially nonoscillatory schemes. J. Comput. Phys. 115, 200–212 (1994)
Liu, X.-D., Osher, S., Chan, T.: Weighted essentially non-oscillatory schemes. J. Comput. Phys. 115(1), 200–212 (1994)
Li, Z., Song, Y.: Automatic tiling of iterative stencil loops. ACM Trans. Program. Lang. Syst. 26(6), 975–1028 (2004)
Museth, K., Breen, D., Whitaker, R., Barr, A.: Level set surface editing operators. ACM Trans. Graph. (Proc. SIGGRAPH) 21(3), 330–338 (2002)
Mckinley, K.S., Carr, S.: Improving data locality with loop transformations. ACM Trans. Program. Lang. Syst. 18, 424–453 (1996)
Museth, K., Clive, M.: Cracktastic: fast 3d fragmentation in “the mummy: Tomb of the dragon emperor”. In: SIGGRAPH’08: ACM SIGGRAPH, pp. 1–1. ACM, New York (2008)
Milne, R.B.: An adaptive level-set method. Ph.D. thesis, University of California, Berkeley (1995)
Min, C.: Local level set method in high dimension and codimension. J. Comput. Phys. 200, 368–382 (2004)
Museth, K.: An efficient level set toolkit for visual effects. In: SIGGRAPH’09: SIGGRAPH (2009) Talks, pp. 1–1. ACM, New York (2009)
Nielsen, M.B.: Efficient and high resolution level set simulations. Ph.D. thesis, Aarhus University (2006)
Nielsen, M.B., Museth, K.: Dynamic tubular grid: an efficient data structure and algorithms for high resolution level sets. J. Sci. Comput. 26(3), 261–299 (2006)
Nemitz, O., Nielsen, M.B., Rumpf, M., Whitaker, R.: Finite element methods on very large, dynamic tubular grid encoded implicit surfaces. SIAM J. Sci. Comput. 31(3), 2258–2281 (2009)
Nielsen, M.B., Nilsson, O., Söderström, A., Museth, K.: Out-of-core and compressed level set methods. ACM Trans. Graph. 26(4), 26 (2007)
Osher, S., Cheng, L.-T., Kang, M., Shim, H., Tsai, Y.-H.: Geometric optics in a phase-space-based level set and Eulerian framework. J. Comput. Phys. 179(2), 622–648 (2002)
Osher, S., Sethian, J.A.: Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulations. J. Comput. Phys. 79, 12–49 (1988)
Peng, D., Merriman, B., Osher, S., Zhao, H., Kang, M.: A PDE-based fast local level set method. J. Comput. Phys. 155(2), 410–438 (1999)
Reinders, J.: Intel Threading Building Blocks, 1st edn. O’Reilly, Sebastopol (2007)
Sussman, M., Almgren, A.S., Bell, J.B., Colella, P., Howell, L.H., Welcome, M.L.: An adaptive level set approach for incompressible two-phase flows. J. Comput. Phys. 148(1), 81–124 (1999)
Sethian, J.A.: A fast marching level set method for monotonically advancing fronts. Proc. Natl. Acad. Sci. USA 93(4), 1591–1595 (1996)
Song, Y., Li, Z.: New tiling techniques to improve cache temporal locality. In: SIGPLAN Conference on Programming Language Design and Implementation, pp. 215–228 (1999)
Shu, C.W., Osher, S.: Efficient implementation of essentially non-oscillatory shock capturing schemes. J. Comput. Phys. 77, 439–471 (1988)
Sussman, M., Smereka, P., Osher, S.: A level set approach for computing solutions to incompressible two-phase flow. J. Comput. Phys. 114(1), 146–159 (1994)
Stanford scanning repository. http://graphics.stanford.edu/data/3Dscanrep/
Strain, J.: Tree methods for moving interfaces. J. Comput. Phys. 151(2), 616–648 (1999)
Salmon, J.K., Warren, M.S.: Parallel, out-of-core methods for n-body simulation. In: PPSC (1997)
Toledo, S.: A survey of out-of-core algorithms in numerical linear algebra, pp. 161–179 (1999)
Tsitsiklis, J.N.: Efficient algorithms for globally optimal trajectories. In: Proceedings of the 33rd Conference on Decision and Control, Lake Buena Vista, LF, pp. 1368–1373 (1994)
Tsitsiklis, J.N.: Efficient algorithms for globally optimal trajectories. IEEE Trans. Autom. Control 40, 1528–1538 (1995)
Vitter, J.S.: External memory algorithms and data structures: dealing with massive data. ACM Comput. Surv. 33(2), 209–271 (2001)
Whitaker, R.T.: A level-set approach to 3d reconstruction from range data. Int. J. Comput. Vis. 29(3), 203–231 (1998)
Wolf, M.E., Lam, M.S.: A data locality optimizing algorithm. In: PLDI’91: Proceedings of the ACM SIGPLAN (1991) Conference on Programming Language Design and Implementation pp. 30–44. ACM, New York (1991)
Wonnacott, D.: Achieving scalable locality with time skewing. Int. J. Parallel Program. 30(3), 181–221 (2002)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Christensen, B.B., Nielsen, M.B. & Museth, K. Out-of-Core Computations of High-Resolution Level Sets by Means of Code Transformation. J Sci Comput 50, 368–404 (2012). https://doi.org/10.1007/s10915-011-9488-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10915-011-9488-0