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

skip to main content
research-article

Assessing Saiph, a task-based DSL for high-performance computational fluid dynamics

Published: 01 October 2023 Publication History

Abstract

Scientific applications face the challenge of efficiently exploiting increasingly complex parallel and distributed systems. Developing hand-tuned codes is a time-consuming, tedious and hardly reusable task. Reaching high performance appears detrimental to productivity and portability and unreasonable to expect from scientists. Domain-Specific Languages (DSLs) are collaborative environments aiming to overcome such difficulties by decoupling the problem description from the algorithmic implementation. However, developing a competitive tool in High-Performance Computing (HPC) is challenging: DSLs for HPC environments have two additional critical requirements, performance and scalability. Moreover, documented and successful cases are few, making it difficult to popularise DSLs as problem-solving environments for scientific HPC code development. In this context, Saiph is a task-based DSL easing the simulation of physical phenomena from Computational Fluid Dynamics (CFD), developed to meet HPC productivity and performance requirements. This work reports the tuning and evaluation of Saiph using the Taylor–Green Vortex (TGV) problem as a case study. We assess Saiph’s productivity, numerical methods, and high-performance strategies to illustrate its use and demonstrate its competitiveness, viability and benefits for CFD software developments in HPC environments. Hence, we contribute to the popularisation of HPC DSLs as suitable problem-solving environments able to unify modern computational and scientific knowledge.

Highlights

Saiph is a high-productivity tool for solving CFD problems on HPC systems.
Saiph’s high-order numerical methods deliver accurate and stable results.
Saiph automatically combines low-level optimisations and parallelisation strategies.
Saiph delivers competitive high performance and scalability.
The automated task-based parallelisation in Saiph efficiently exploits HPC machines.

References

[1]
Sala K., Rico A., Beltran V., Towards data-flow parallelization for adaptive mesh refinement applications, in: 2020 IEEE International Conference on Cluster Computing, CLUSTER, IEEE, 2020.
[2]
Sala K., Teruel X., Perez J.M., Peña A.J., Beltran V., Labarta J., Integrating blocking and non-blocking MPI primitives with task-based programming models, Parallel Comput. (2019).
[3]
Sala K., Bellón J., Farré P., Teruel X., Perez J.M., Peña A.J., Holmes D., Beltran V., Labarta J., Improving the interoperability between MPI and task-based programming models, in: Proceedings of the 25th European MPI Users’ Group Meeting, Association for Computing Machinery, 2018.
[4]
Carpaye J.M.C., Roman J., Brenner P., Design and analysis of a task-based parallelization over a runtime system of an explicit finite-volume CFD code with adaptive time stepping, J. Comput. Sci. 28 (2018).
[5]
Nesi L.L., Schnorr L.M., Navaux P.O.A., Design, implementation and performance analysis of a CFD task-based application for heterogeneous CPU/GPU resources, in: International Conference on Vector and Parallel Processing, Springer, 2018.
[6]
Jeannot E., Fournier Y., Lorendeau B., Experimenting task-based runtimes on a legacy Computational Fluid Dynamics code with unstructured meshes, Comput. & Fluids 173 (2018).
[7]
Leandro Nesi L., da Silva Serpa M., Mello Schnorr L., Navaux P.O.A., Task-based parallel strategies for computational fluid dynamic application in heterogeneous CPU/GPU resources, Concurr. Comput.: Pract. Exper. 32 (20) (2020).
[8]
Macià S., Martínez-Ferrer P.J., Ayguade E., Beltran V., Automated generation of high-performance computational fluid dynamics codes, J. Comput. Sci. (2022).
[9]
Macià S., Mateo S., Martínez-Ferrer P.J., Beltran V., Mira D., Ayguadé E., Saiph: Towards a DSL for high-performance computational fluid dynamics, in: Proceedings of the Real World Domain Specific Languages Workshop, RWDSL@CGO 2018, Vienna, Austria, February 24-24, 2018, ACM, 2018.
[10]
Macià S., Martínez-Ferrer P.J., Mateo S., Beltran V., Ayguadé E., Assembling a high-productivity DSL for computational fluid dynamics, in: Proceedings of the Platform for Advanced Scientific Computing Conference, Association for Computing Machinery, 2019.
[11]
DeBonis J., Solutions of the Taylor-Green vortex problem using high-resolution explicit finite difference methods, in: 51st AIAA Aerospace Sciences Meeting Including the New Horizons Forum and Aerospace Exposition, 2013.
[12]
Moors A., Rompf T., Haller P., Odersky M., Scala-virtualized, in: Proceedings of the ACM SIGPLAN 2012 Workshop on Partial Evaluation and Program Manipulation, 2012.
[13]
BSC-CNS, OmpSs-2, OmpSs project home page https://pm.bsc.es/ompss.
[14]
BSC A., LLVM-based compiler for OmpSs-2, 2021, https://github.com/bsc-pm/llvm.
[15]
BSC A., Nanos6 runtime, 2021, https://github.com/bsc-pm/nanos6.
[16]
Marjanović V., Labarta J., Ayguadé E., Valero M., Overlapping communication and computation by using a hybrid MPI/SMPSs approach, in: Proceedings of the 24th ACM International Conference on Supercomputing, Association for Computing Machinery, 2010.
[17]
Ferziger J.H., Perić M., Street R.L., Computational Methods for Fluid Dynamics, Vol. 3, Springer, 2002.
[18]
Thomas J.W., Numerical Partial Differential Equations: Finite Difference Methods, Vol. 22, Springer Science & Business Media, 2013.
[19]
Chung T., Computational Fluid Dynamics, Cambridge University Press, 2010.
[20]
Afzal A., Ansari Z., Faizabadi A.R., Ramis M., Parallelization strategies for computational fluid dynamics software: state of the art review, Arch. Comput. Methods Eng. 24 (2) (2017).
[21]
MPI O., MPI_Dims_create man page, 2020, Available at https://www.open-mpi.org/doc/v3.1/man3/MPI_Dims_create.3.php.
[22]
Nguyen A., Satish N., Chhugani J., Kim C., Dubey P., 3.5-D blocking optimization for stencil computations on modern CPUs and GPUs, in: SC ’10: Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, 2010.
[23]
Renganarayana L., Harthikote-Matha M., Dewri R., Rajopadhye S., Towards optimal multi-level tiling for stencil computations, in: 2007 IEEE International Parallel and Distributed Processing Symposium, IEEE, 2007.
[24]
Brachet M.E., Meiron D.I., Orszag S.A., Nickel B., Morf R.H., Frisch U., Small-scale structure of the Taylor–Green vortex, J. Fluid Mech. 130 (1983).
[25]
Sharma N., Sengupta D.I., Non-linear instability analysis of the two-dimensional Navier-Stokes equation: The Taylor-Green vortex problem, Phys. Fluids 30 (2018).
[26]
Shirokov I.A., Elizarova T.G., Simulation of laminar–turbulent transition in compressible Taylor–Green flow basing on quasi-gas dynamic equations, J. Turbul. 15 (10) (2014).
[27]
Wang Z.J., Fidkowski K., Abgrall R., Bassi F., Caraeni D., Cary A., Deconinck H., Hartmann R., Hillewaert K., Huynh H.T., et al., High-order CFD methods: current status and perspective, Internat. J. Numer. Methods Fluids 72 (8) (2013).
[28]
Ferrer P.J.M., Buttay R., Lehnasch G., Mura A., A detailed verification procedure for compressible reactive multicomponent Navier–Stokes solvers, Comput. & Fluids 89 (2014).
[29]
Jacobs C.T., Jammy S.P., Sandham N.D., OpenSBLI: A framework for the automated derivation and parallel execution of finite difference solvers on a range of computer architectures, J. Comput. Sci. 18 (2017) 12–23.
[30]
Jammy S.P., Jacobs C.T., Sandham N.D., Enstrophy and Kinetic Energy Data from 3D Taylor-Green Vortex Simulations, University of Southampton ePrints repository, 2016.
[31]
BSC S.P., MareNostrum, 2021, Available at https://www.bsc.es/marenostrum.
[32]
Reguly I.Z., Mudalige G.R., Productivity, performance, and portability for computational fluid dynamics applications, Comput. & Fluids 199 (2020).
[33]
DeVito Z., Joubert N., Palacios F., Oakley S., Medina M., Barrientos M., Elsen E., Ham F., Aiken A., Duraisamy K., et al., Liszt: a domain specific language for building portable mesh-based PDE solvers, in: Proceedings of International Conference for High Performance Computing, Networking, Storage and Analysis, 2011.
[34]
Reguly I.Z., Mudalige G.R., Giles M.B., Loop tiling in large-scale stencil codes at run-time with OPS, IEEE Trans. Parallel Distrib. Syst. 29 (4) (2018).
[35]
R Mudalige G., Giles M., Reguly I., Bertolli C., Kelly P., OP2: An active library framework for solving unstructured mesh-based applications on multi-core and many-core architectures, in: 2012 Innovative Parallel Computing (InPar), 2012.
[36]
Rathgeber F., Markall G.R., Mitchell L., Loriant N., Ham D.A., Bertolli C., Kelly P.H., PyOP2: A high-level framework for performance-portable simulations on unstructured meshes, in: 2012 SC Companion: High Performance Computing, Networking Storage and Analysis, IEEE, 2012.
[37]
Yount C., Tobin J., Breuer A., Duran A., YASK-Yet another stencil kernel: A framework for HPC stencil code-generation and tuning, in: 2016 Sixth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, WOLFHPC, IEEE, 2016.
[38]
Schmitt C., Kuckuk S., Hannig F., Köstler H., Teich J., ExaSlang: A domain-specific language for highly scalable multigrid solvers, in: 2014 Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, IEEE, 2014.
[39]
Lengauer C., Apel S., Bolten M., Chiba S., Rüde U., Teich J., Größlinger A., Hannig F., Köstler H., Claus L., et al., ExaStencils: Advanced multigrid solver generation, in: Software for Exascale Computing-SPPEXA 2016-2019, Springer, Cham, 2020.
[40]
Luporini F., Louboutin M., Lange M., Kukreja N., Witte P., Hückelheim J., Yount C., Kelly P.H.J., Herrmann F.J., Gorman G.J., Architecture and performance of devito, a system for automated stencil computation, ACM Trans. Math. Software 46 (1) (2020).
[41]
Louboutin M., Lange M., Luporini F., Kukreja N., Witte P.A., Herrmann F.J., Velesko P., Gorman G.J., Devito (v3.1.0): an embedded domain-specific language for finite differences and geophysical exploration, Geosci. Model Dev. 12 (3) (2019).
[42]
M. Alnaes, J. Blechta, J. Hake, A. Johansson, B. Kehlet, A. Logg, C. Richardson, J. Ring, M. Rognes, G. Wells, The FEniCS project version 1.5, 3 (2015).
[43]
Rathgeber F., Ham D.A., Mitchell L., Lange M., Luporini F., McRae A.T., Bercea G.-T., Markall G.R., Kelly P.H., Firedrake: automating the finite element method by composing abstractions, ACM Trans. Math. Softw. 43 (3) (2016).
[44]
Luporini F., Varbanescu A.L., Rathgeber F., Bercea G.-T., Ramanujam J., Ham D.A., Kelly P.H., Cross-loop optimization of arithmetic intensity for finite element local assembly, ACM Trans. Archit. Code Optim. (TACO) 11 (4) (2015).
[45]
Luporini F., Ham D.A., Kelly P.H., An algorithm for the optimization of finite element integration loops, ACM Trans. Math. Softw. 44 (1) (2017).
[46]
Mudalige G.R., Reguly I., Jammy S.P., Jacobs C.T., Giles M.B., Sandham N.D., Large-scale performance of a DSL-based multi-block structured-mesh application for Direct Numerical Simulation, J. Parallel Distrib. Comput. 131 (2019).
[47]
Team S.D., Symbolic Python, 2021, Available at https://www.sympy.org.

Index Terms

  1. Assessing Saiph, a task-based DSL for high-performance computational fluid dynamics
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Future Generation Computer Systems
    Future Generation Computer Systems  Volume 147, Issue C
    Oct 2023
    371 pages

    Publisher

    Elsevier Science Publishers B. V.

    Netherlands

    Publication History

    Published: 01 October 2023

    Author Tags

    1. DSL
    2. HPC
    3. Task-based parallelism
    4. CFD
    5. Navier–Stokes equations
    6. TGV

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 0
      Total Downloads
    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 24 Nov 2024

    Other Metrics

    Citations

    View Options

    View options

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media