Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2636228.2636237acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Parallel computation of multifield topology: experience of Haskell in a computational science application

Published: 03 September 2014 Publication History

Abstract

Codes for computational science and downstream analysis (visualization and/or statistical modelling) have historically been dominated by imperative thinking, but this situation is evolving, both through adoption of higher-level tools such as Matlab, and through some adoption of functional ideas in the next generation of toolkits being driven by the vision of extreme-scale computing. However, this is still a long way from seeing a functional language like Haskell used in a live application. This paper makes three contributions to functional programming in computational science. First, we describe how use of Haskell was interleaved in the development of the first practical approach to multifield topology, and its application to the analysis of data from nuclear simulations that has led to new insight into fission. Second, we report subsequent developments of the functional code (i) improving sequential performance to approach that of an imperative implementation, and (ii) the introduction of parallelism through four skeletons exhibiting good scaling and different time/space trade-offs. Finally we consider the broader question of how, where, and why functional programming may - or may not - find further use in computational science.

References

[1]
M. Bender, P.-H. Heenen, and P.-G. Reinhard. Self-consistent meanfield models for nuclear structure. Reviews of Modern Physics, 75: 121, 2003.
[2]
N. Bohr and J. Wheeler. The mechanism of nuclear fission. Physical Review, 56:121, 1939.
[3]
P.-T. Bremer, G. Weber, V. Pascucci, M. S. Day, and J. Bell. Analyzing and Tracking Burning Structures in Lean Premixed Hydrogen Flames. Trans. on Visualization and Computer Graphics, 16(2):248--260, 2009.
[4]
H. Carr and D. Duke. Joint contour nets. Trans. on Visualization and Computer Graphics, 2014. In press: preprint online at doi.ieeecomputersociety.org/10.1109/TVCG.2013.269.
[5]
H. Carr, T. Möller, and J. Snoeyink. Simplicial subdivisions and sampling artifacts. In Proc. of the Conference on Visualization '01, pages 99--106. IEEE Computer Society, 2001.
[6]
H. Carr, J. Snoeyink, and U. Axen. Computing Contour Trees in All Dimensions. Computational Geometry: Theory and Applications, 24:75--94, 2003.
[7]
M. Chakravarty, G. Keller, S. Lee, T. McDonell, and V. Grover. Accelerating haskell array codes with multicore gpus. In Proc. of Declarative Aspects of Multicore Programming, pages 3--14. ACM, 2011.
[8]
Charm++. The Charm++ Platform, Last accessed 2013. http://charm.cs.uiuc.edu.
[9]
H. Childs, K.-L. Ma, H. Yu, B. Whitlock, J. Meredith, J. Favre, S. Klasky, N. Podhorszki, K. Schwan, M. Wolf, M. Parashar, and F. Zhang. In situ processing. in: High Performance Visualization, 2012.
[10]
M. Chimani, C. Gutwenger, M. Jünger, G. Klau, K. Klein, and P. Munzel. The open graph drawing framework (OGDF). in: Handbook of Graph Drawing and Visualization, 2013.
[11]
C. Chiw, G. Kindlmann, J. Reppy, L. Samuels, and N. Seltzer. Diderot: A parallel DSL for image analysis and visualization. In Proc. of Programming Language Design and Implementation (PLDI), pages 111--120. ACM, 2012.
[12]
M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, 1989.
[13]
D. Duke and H. Carr. Computational topology via functional programming: A baseline analysis. Topological Methods in Data Analysis and Visualization III, pages 73--87, 2014.
[14]
D. Duke, M.Wallace, R. Borgo, and C. Runciman. Fine-grained visualization pipelines and lazy functional languages. Trans. on Visualization and Computer Graphics, 12(5):973--980, 2006.
[15]
D. Duke, R. Borgo, C. Runciman, and M. Wallace. Huge data but small programs: Visualization design via multiple embedded DSLs. In Proc. Practical Applications of Declarative Languages, volume 5418, pages 31--45. Springer Verlag, 2009.
[16]
D. Duke, H. Carr, A. Knoll, N. Schunck, H. Nam, and A. Staszczak. Visualizing nuclear scission through a multifield extension of topological analysis. Trans. on Visualization and Computer Graphics, 18(12): 2033--2040, 2012.
[17]
H. Edelsbrunner, J. Harer, and A. Zomorodian. Hierarchical Morse Complexes for Piecewise Linear 2-Manifolds. In Proceedings, 17th ACM Symposium on Computational Geometry, pages 70--79. ACM, 2001.
[18]
M. Hilaga, Y. Shinagawa, T. Kohmura, and T. L. Kunii. Topology Matching for Fully Automatic Similarity Estimation of 3D Shapes. ACM Transactions on Graphics, pages 203--212, 2001.
[19]
L. Kale and A. Bhatele. Parallel Science and Engineering Applications: The Charm++ Approach. CRC Press, 2013.
[20]
J. Levesque and G. Wagenbreth. High Performance Computing: Programming and Applications. CRC Press, 2010.
[21]
B. Lippmeier,M. Chakravarty, G. Keller, and S. Peyton Jones. Guiding parallel array fusion with indexed types. In Proc. Haskell Symposium, pages 25--36. ACM, 2012.
[22]
S. Marlow. Parallel and Concurrent Programming in Haskell. O'Reilly Media, Inc., 2013.
[23]
S. Marlow, R. Newton, and S. Peyton Jones. Amonad for deterministic parallelism. In Proc. of Haskell Symposium, pages 71--82. ACM, 2011.
[24]
J. Meredith, S. Ahern, D. Pugmire, and R. Sisneros. EAVL: The extreme-scale analysis and visualization library. In Symp. on Parallel Graphics and Visualization. Eurographics, 2012.
[25]
K. Moreland, U. Ayachit, B. Geveci, and K.-L. Ma. Dax toolkit: A proposed framework for data analysis and visualization at extreme scale. In Symp. on Large Data Analysis and Visualization, pages 97--104. IEEE Computer Society, 2011.
[26]
B. Oliveira and W. Cook. Functional programming with structured graphs. In Proc. of the 17th ACM SIGPLAN International Conference on Functional Programming, pages 77--88. ACM, 2012.
[27]
S. Ortiz jr. Computing trends lead to new programming languages. Computing Now, 2012.
[28]
B. O'Sullivan, J. Goerzen, and D. Stewart. Real World Haskell. O'Reilly Media, Inc., 2008.
[29]
T. Rauber and G. Rünger. Parallel Programming: for Multicore and Cluster Systems. Springer, 2013.
[30]
G. Reeb. Sur les points singuliers d'une forme de Pfaff compl'etement intégrable ou d'une fonction numérique. Comptes Rendus de l'Acad'emie des Sciences de Paris, 222:847--849, 1946.
[31]
W. Schroeder, K. Martin, and B. Lorensen. The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics. Kitware, 2006.
[32]
N. Schunck, D. Duke, and H. Carr. Description of induced nuclear fission with skyrme energy functionals: II. Finite temperature effects. Submitted to Physics Review C, 2014.
[33]
N. Schunck, D. Duke, H. Carr, and A. Knoll. Description of induced nuclear fission with skyrme energy functionals: I. Static potential energy surfaces and fission fragment properties. Submitted to Physics Review C, 2014.
[34]
D. Stewart. The judy package: Fast, scalable, mutable dynamic arrays, maps, and hashes, Last accessed May 2014. hackage.haskell.org/package/judy.
[35]
T. Sweeney. The end of the gpu roadmap? Keynote address, High Performance Graphics, 2009. http://graphics.cs.williams.edu/archive/SweeneyHPG2009/TimHPG2009.pdf. Last accessed May 2014.
[36]
R. E. Tarjan. Efficiency of a good but not linear set union algorithm. Journal of the ACM, 22:215--225, 1975.
[37]
G.Weber, S. Dillard, H. Carr, V. Pascucci, and B. Hamann. Topology-Controlled Volume Rendering. Trans. on Visualization and Computer Graphics, 13(2):330--341, 2007.

Cited By

View all
  • (2019)Topological Visualisation Techniques for Volume Multifield DataComputer Graphics and Imaging10.5772/intechopen.82185Online publication date: 23-Oct-2019
  • (2015)Skeletons for distributed topological computationProceedings of the 4th ACM SIGPLAN Workshop on Functional High-Performance Computing10.1145/2808091.2808095(35-44)Online publication date: 30-Aug-2015

Index Terms

  1. Parallel computation of multifield topology: experience of Haskell in a computational science application

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      FHPC '14: Proceedings of the 3rd ACM SIGPLAN workshop on Functional high-performance computing
      September 2014
      116 pages
      ISBN:9781450330404
      DOI:10.1145/2636228
      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]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 03 September 2014

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. computational topology
      2. haskell
      3. joint contour net
      4. performance

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      ICFP'14
      Sponsor:

      Acceptance Rates

      FHPC '14 Paper Acceptance Rate 10 of 11 submissions, 91%;
      Overall Acceptance Rate 18 of 25 submissions, 72%

      Upcoming Conference

      ICFP '25
      ACM SIGPLAN International Conference on Functional Programming
      October 12 - 18, 2025
      Singapore , Singapore

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)2
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 17 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2019)Topological Visualisation Techniques for Volume Multifield DataComputer Graphics and Imaging10.5772/intechopen.82185Online publication date: 23-Oct-2019
      • (2015)Skeletons for distributed topological computationProceedings of the 4th ACM SIGPLAN Workshop on Functional High-Performance Computing10.1145/2808091.2808095(35-44)Online publication date: 30-Aug-2015

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media