Abstract
Project ExaStencils pursues a radically new approach to stencil-code engineering. Present-day stencil codes are implemented in general-purpose programming languages, such as Fortran, C, or Java, or derivates thereof, and harnesses for parallelism, such as OpenMP, OpenCL or MPI. ExaStencils favors a much more domain-specific approach with languages at several layers of abstraction, the most abstract being the mathematical formulation, the most concrete the optimized target code. At every layer, the corresponding language expresses not only computational directives but also domain knowledge of the problem and platform to be leveraged for optimization. This approach will enable a highly automated code generation at all layers and has been demonstrated successfully before in the U.S. projects FFTW and SPIRAL for certain linear transforms.
Chapter PDF
References
Almasi, G. (PGAS) Partitioned global address space languages. In: Padua, et al. (eds.) [32], pp. 1539–1545
Ashby, S., Beckman, P., Chen, J., Colella, P., Collins, B., Crawford, D., Dongarra, J., Kothe, D., Lusk, R., Messina, P., Mezzacappa, T., Moin, P., Norman, M., Rosner, R., Sarkar, V., Siegel, A., Streitz, F., White, A., Wright, M.: The opportunities and challenges of exascale computing – Summary report of the advanced scientific computing advisory committee (ASCAC) subcommittee. Tech. rep., Office of Science, U.S. Department of Energy Fall (2010)
Bergen, B., Gradl, T., Hülsemann, F., Rüde, U.: A massively parallel multigrid method for finite elements. Computing in Science and Engineering 8(6), 56–62 (2006)
Bolten, M.: Multigrid Methods for Structured Grids and their Application in Particle Simulation. Ph.D. thesis, Bergische Universität Wuppertal (2008)
Bolten, M.: Evaluation of a multigrid solver for 3-level Toeplitz and circulant matrices on Blue Gene/Q. In: Binder, K., Münster, G., Kremer, M. (eds.) Proc. NIC Symp. NIC Series, vol. 47, pp. 345–352. John von Neumann Institute for Computing (2014)
Bolten, M., Kahl, K.: Using block smoothers in multigrid methods. Proc. Appl. Math. Mech. 12(1), 645–646 (2012)
Calder, M., Kolberg, M., Magill, E., Reiff-Marganiec, S.: Feature Interaction: A Critical Review and Considered Forecast. Computer Networks 41(1), 115–141 (2003)
Carlson, W., Merkey, P.: UPC. In: Padua, et al. (eds.) [32], pp. 2118–2124
Chamberlain, B.L.: Chapel. In: Padua, et al. (eds.) [32], pp. 249–256
Charles, P., Grothoff, C., Saraswat, V.A., Donawa, C., Kielstra, A., Ebcioglu, K., von Praun, C., Sarkar, V.: X10: An object-oriented approach to non-uniform cluster computing. In: Proc. 20th Ann. ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp. 519–538 (2005)
Christen, M., Schenk, O., Burkhart, H.: PATUS: A code generation and autotuning framework for parallel iterative stencil computations on modern microarchitectures. In: Proc. IEEE Int. Parallel & Distributed Processing Symp (IPDPS), pp. 676–687. IEEE (2011)
Datta, K.: Auto-tuning Stencil Codes for Cache-Based Multicore Platforms. Ph.D. thesis, EECS Department, University of California, Berkeley (2009)
DeVito, Z., Joubert, N., Palaciosy, F., Oakleyz, S., Medinaz, M., Barrientos, M., Elsenz, E., Hamz, F., Aiken, A., Duraisamy, K., Darvez, E., Alonso, J., Hanrahan, P.: Liszt: A domain specific language for building portable mesh-based PDE solvers. In: Proc. Conf. High Performance Computing Networking, Storage and Analysis (SC 2011), paper 9, 2p. ACM (2011)
Falgout, R.D., Jones, J.E., Yang, U.M.: The design and implementation of hypre, a library of parallel high performance preconditioners. In: Bruaset, A.M., Tveito, A. (eds.) Numerical Solution of Partial Differential Equations on Parallel Computers, ch. 8. LNCSE, vol. 51, pp. 267–294. Springer, Heidelberg (2006)
Falgout, R.D., Meier Yang, U.: hypre: A library of high performance preconditioners. In: Sloot, P.M.A., Tan, C.J.K., Dongarra, J., Hoekstra, A.G. (eds.) ICCS-ComputSci 2002, Part III. LNCS, vol. 2331, pp. 632–641. Springer, Heidelberg (2002)
Feautrier, P., Lengauer, C.: Polyhedron model. In: Padua, et al. (eds.) [32], pp. 1581–1592
Frigo, M., Johnson, S.G.: The design and implementation of FFTW3. Proc. IEEE 93(2), 216–231 (2005)
Gmeiner, B., Köstler, H., Stürmer, M., Rüde, U.: Parallel multigrid on hierarchical hybrid grids: A performance study on current high performance computing clusters. Concurrency and Computation: Practice and Experience 26(1), 217–240 (2014)
Grebhahn, A., Siegmund, N., Apel, S., Kuckuk, S., Schmitt, C., Köstler, H.: Optimizing performance of stencil code with SPL Conqueror. In: Größlinger, Köstler (eds.) [20], pp. 7–14
Größlinger, A., Köstler, H. (eds.): Proc. Int. Workshop on High-Performance Stencil Computations (HiStencils) (January 2014), www.epubli.de
Hülsemann, F., Kowarschik, M., Mohr, M., Rüde, U.: Parallel geometric multigrid. In: Bruaset, A.M., Tveito, A. (eds.) Numerical Solution of Partial Differential Equations on Parallel Computers. LNCSE, vol. 51, pp. 165–208. Springer, Heidelberg (2006)
Hutter, F., Hoos, H.H., Leyton-Brown, K., Stützle, T.: J. Artificial Intelligence Research 36, 267–306 (2009)
Köstler, H., Schmitt, C., Kuckuk, S., Hannig, F., Teich, J., Rüde, U.: A Scala Prototype to Generate Multigrid Solver Implementations for Different Problems and Target Multi-Core Platforms. Computing Research Repository (CoRR), arXiv:1406.5369, 18 (June 2014),
Kowarschik, M., Rüde, U., Weiss, C., Karl, W.: Cache-aware multigrid methods for solving Poisson’s equation in two dimensions. Computing 64(4), 381–399 (2000)
Kronawitter, S., Lengauer, C.: Optimization of two Jacobi smoother kernels by domain-specific program transformation. In: Größlinger, Köstler (eds.) [20], pp. 75–80
Kuckuk, S., Gmeiner, B., Köstler, H., Rüde, U.: A generic prototype to benchmark algorithms and data structures for hierarchical hybrid grids. In: Proc. Int. Conf. on Parallel Computing (ParCo), pp. 813–822. IOS Press (2013)
Lengauer, C., Batory, D., Blum, A., Odersky, M. (eds.): Domain-Specific Program Generation. LNCS, vol. 3016. Springer, Heidelberg (2004)
MacLachlan, S.P., Oosterlee, C.W.: Local Fourier analysis for multigrid with overlapping smoothers applied to systems of PDEs. Num. Lin. Alg. Appl. 18, 751–774 (2011)
Manferdelli, J.L., Govindaraju, N.K., Crall, C.: Challenges and opportunities in many-core computing. Proc. IEEE 96(5), 808–815 (2008)
Numrich, R.W.: Coarray Fortran. In: Padua, et al. (eds.) [32], pp. 304–310
Odersky, M., Spoon, L., Venners, B.: Programming in Scala. Artima Press (2010)
Padua, D.A., et al. (eds.): Encyclopedia of Parallel Computing. Springer (2011)
Parnas, D.L.: On the design and development of program families. IEEE Trans. on Software Engineering (TSE) SE 2(1), 1–9 (1976)
Püschel, M., Franchetti, F., Voronenko, Y.: Spiral. In: Padua, et al. (eds.) [32], pp. 1920–1933
Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006)
Schmitt, C., Kuckuk, S., Köstler, H., Hannig, F., Teich, J.: An evaluation of domain-specific language technologies for code generation. In: Proc. Int. Conf. on Computational Science and its Applications (ICCSA), pp. 18–26. IEEE Computer Society Press (June-July 2014)
Siegmund, N., Kolesnikov, S., Kästner, C., Apel, S., Batory, D., Rosenmüller, M., Saake, G.: Predicting Performance via Automated Feature-Interaction Detection. In: Proc. Int. Conf. on Software Engineering (ICSE), pp. 167–177. IEEE (2012)
Steele Jr., G.L., Allen, E.E., Chase, D., Flood, C.H., Luchangco, V., Maessen, J.W., Ryu, S.: Fortress. In: Padua, et al. (eds.) [32], pp. 718–735.
Tang, Y., Chowdhury, R.A., Kuszmaul, B.C., Luk, C.K., Leiserson, C.E.: The Pochoir stencil compiler. In: Proc. 23rd ACM Symp. on Parallelism in Algorithms and Architectures (SPAA), pp. 117–128. ACM Press (2011)
van Deursen, A., Klint, P., Visser, J.: Domain-specific languages. In: Kent, A., Williams, J.G. (eds.) Encyclopedia of Microcomputers, pp. 53–68. Marcel Dekker (2002)
Wienands, R., Joppich, W.: Practical Fourier Analysis for Multigrid Methods, Numerical Insights, vol. 4. Chapman and Hall (2004)
Wirth, N.: Program development by stepwise refinement. Comm. ACM 14(4), 221–227 (1971)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Lengauer, C. et al. (2014). ExaStencils: Advanced Stencil-Code Engineering. In: Lopes, L., et al. Euro-Par 2014: Parallel Processing Workshops. Euro-Par 2014. Lecture Notes in Computer Science, vol 8806. Springer, Cham. https://doi.org/10.1007/978-3-319-14313-2_47
Download citation
DOI: https://doi.org/10.1007/978-3-319-14313-2_47
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-14312-5
Online ISBN: 978-3-319-14313-2
eBook Packages: Computer ScienceComputer Science (R0)