Skip to main content
Log in

Out-of-Core Computations of High-Resolution Level Sets by Means of Code Transformation

  • Published:
Journal of Scientific Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)

    Article  MathSciNet  Google Scholar 

  2. Adalsteinsson, D., Sethian, J.A.: A fast level set method for propagating interfaces. J. Comput. Phys. 118(2), 269–277 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  3. 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)

    Article  MATH  MathSciNet  Google Scholar 

  4. 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)

    Chapter  Google Scholar 

  5. Bridson, R.: Computational aspects of dynamic surfaces. Ph.D. thesis, Stanford University (2003)

  6. Chopp, D.L.: Computing minimal surfaces via level set curvature flow. J. Comput. Phys. 106, 77–91 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  7. 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)

    Article  MATH  MathSciNet  Google Scholar 

  8. Droske, M., Rumpf, M.: A level set formulation for willmore flow. Interfaces Free Bound. 6(3), 361–378 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  9. Dervieux, A., Thomasset, F.: A finite element method for the simulation of Raleigh-Taylor instability. Lect. Notes Math. 771, 145–158 (1979)

    Article  MathSciNet  Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. 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)

    Article  MATH  MathSciNet  Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Article  MATH  MathSciNet  Google Scholar 

  15. 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)

    Article  MATH  Google Scholar 

  16. Hieber, S.E., Koumoutsakos, P.: A Lagrangian particle level set method. J. Comput. Phys. 210(1), 342–367 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  17. 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)

    Article  Google Scholar 

  18. Pen, U.-L., Trac, H.: Out-of-core hydrodynamic simulations for cosmological applications. New Astron. (2006)

  19. Jiang, G.-S., Peng, D.: Weighted ENO schemes for Hamilton–Jacobi equations. SIAM J. Sci. Comput. 21(6), 2126–2143 (1999)

    Article  MathSciNet  Google Scholar 

  20. Jiang, G.-S., Peng, D.: Weighted ENO schemes for Hamilton-Jacobi equations. SIAM J. Sci. Comput. 21(6), 2126–2143 (1999)

    Article  MathSciNet  Google Scholar 

  21. Jiang, G.-S., Shu, C.-W.: Efficient implementation of weighted ENO schemes. J. Comput. Phys. 126(1), 202–228 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  22. Jeong, W.-K., Whitaker, R.T.: A fast iterative method for eikonal equations. SIAM J. Sci. Comput. 30(5), 2512–2534 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  23. Kandemir, M., Choudhary, A., Ramanujam, J.: An i/o-conscious tiling strategy for disk-resident data sets. J. Supercomput. 21(3), 257–284 (2002)

    Article  MATH  Google Scholar 

  24. 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)

    Article  Google Scholar 

  25. 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)

    Google Scholar 

  26. 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)

    Chapter  Google Scholar 

  27. 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)

    Chapter  Google Scholar 

  28. LeVeque, R.: High-resolution conservative algorithms for advection in incompressible flow. SIAM J. Numer. Anal. 33, 627–665 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  29. Leventhal, A.: Flash storage memory. Commun. ACM 51(7), 47–51 (2008)

    Article  Google Scholar 

  30. Losasso, F., Fedkiw, R., Osher, S.: Spatially adaptive techniques for level set methods and incompressible flow. Comput. Fluids 35 (2005)

  31. 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)

    Google Scholar 

  32. Liu, X.D., Osher, S.J., Chan, T.: Weighted essentially nonoscillatory schemes. J. Comput. Phys. 115, 200–212 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  33. Liu, X.-D., Osher, S., Chan, T.: Weighted essentially non-oscillatory schemes. J. Comput. Phys. 115(1), 200–212 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  34. Li, Z., Song, Y.: Automatic tiling of iterative stencil loops. ACM Trans. Program. Lang. Syst. 26(6), 975–1028 (2004)

    Article  Google Scholar 

  35. Museth, K., Breen, D., Whitaker, R., Barr, A.: Level set surface editing operators. ACM Trans. Graph. (Proc. SIGGRAPH) 21(3), 330–338 (2002)

    Article  Google Scholar 

  36. Mckinley, K.S., Carr, S.: Improving data locality with loop transformations. ACM Trans. Program. Lang. Syst. 18, 424–453 (1996)

    Article  Google Scholar 

  37. 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)

    Google Scholar 

  38. Milne, R.B.: An adaptive level-set method. Ph.D. thesis, University of California, Berkeley (1995)

  39. Min, C.: Local level set method in high dimension and codimension. J. Comput. Phys. 200, 368–382 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  40. Museth, K.: An efficient level set toolkit for visual effects. In: SIGGRAPH’09: SIGGRAPH (2009) Talks, pp. 1–1. ACM, New York (2009)

    Chapter  Google Scholar 

  41. Nielsen, M.B.: Efficient and high resolution level set simulations. Ph.D. thesis, Aarhus University (2006)

  42. 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)

    Article  MATH  MathSciNet  Google Scholar 

  43. 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)

    Article  MATH  MathSciNet  Google Scholar 

  44. 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)

    Article  Google Scholar 

  45. 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)

    Article  MATH  MathSciNet  Google Scholar 

  46. Osher, S., Sethian, J.A.: Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulations. J. Comput. Phys. 79, 12–49 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  47. 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)

    Article  MATH  MathSciNet  Google Scholar 

  48. Reinders, J.: Intel Threading Building Blocks, 1st edn. O’Reilly, Sebastopol (2007)

    Google Scholar 

  49. 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)

    Article  MATH  MathSciNet  Google Scholar 

  50. Sethian, J.A.: A fast marching level set method for monotonically advancing fronts. Proc. Natl. Acad. Sci. USA 93(4), 1591–1595 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  51. 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)

    Google Scholar 

  52. Shu, C.W., Osher, S.: Efficient implementation of essentially non-oscillatory shock capturing schemes. J. Comput. Phys. 77, 439–471 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  53. 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)

    Article  MATH  Google Scholar 

  54. Stanford scanning repository. http://graphics.stanford.edu/data/3Dscanrep/

  55. Strain, J.: Tree methods for moving interfaces. J. Comput. Phys. 151(2), 616–648 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  56. Salmon, J.K., Warren, M.S.: Parallel, out-of-core methods for n-body simulation. In: PPSC (1997)

    Google Scholar 

  57. Toledo, S.: A survey of out-of-core algorithms in numerical linear algebra, pp. 161–179 (1999)

  58. 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)

  59. Tsitsiklis, J.N.: Efficient algorithms for globally optimal trajectories. IEEE Trans. Autom. Control 40, 1528–1538 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  60. Vitter, J.S.: External memory algorithms and data structures: dealing with massive data. ACM Comput. Surv. 33(2), 209–271 (2001)

    Article  Google Scholar 

  61. Whitaker, R.T.: A level-set approach to 3d reconstruction from range data. Int. J. Comput. Vis. 29(3), 203–231 (1998)

    Article  Google Scholar 

  62. 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)

    Chapter  Google Scholar 

  63. Wonnacott, D.: Achieving scalable locality with time skewing. Int. J. Parallel Program. 30(3), 181–221 (2002)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Brian B. Christensen.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10915-011-9488-0

Keywords

Navigation