Compiler Optimizations for Industrial Unstructured Mesh CFD Applications on GPUs

  • C. Bertolli
  • A. Betts
  • N. Loriant
  • G. R. Mudalige
  • D. Radford
  • D. A. Ham
  • M. B. Giles
  • P. H. J. Kelly
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7760)

Abstract

Graphical Processing Units (GPUs) have shown acceleration factors over multicores for structured mesh-based Computational Fluid Dynamics (CFD). However, the value remains unclear for dynamic and irregular applications. Our motivating example is HYDRA, an unstructured mesh application used in production at Rolls-Royce for the simulation of turbomachinery components of jet engines. We describe three techniques for GPU optimization of unstructured mesh applications: a technique able to split a highly complex loop into simpler loops, a kernel specific alternative code synthesis, and configuration parameter tuning. Using these optimizations systematically on HYDRA improves the GPU performance relative to the multicore CPU. We show how these optimizations can be automated in a compiler, through user annotations. Performance analysis of a large number of complex loops enables us to study the relationship between optimizations and resource requirements of loops, in terms of registers and shared memory, which directly affect the loop performance.

Keywords

Computational Fluid Dynamics Unstructured Meshes Graphical Processing Units Compilers 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Han, H., Tseng, C.-W.: A Comparison of Locality Transformations for Irregular Codes. In: Dwarkadas, S. (ed.) LCR 2000. LNCS, vol. 1915, pp. 70–84. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  2. 2.
    Burgess, D.A., Giles, M.B.: Renumbering unstructured grids to improve the performance of codes on hierarchical memory machines. Adv. Eng. Softw. 28(3), 189–201 (1997)CrossRefGoogle Scholar
  3. 3.
    Chevalier, C., Pellegrini, F.: PT-Scotch: A tool for efficient parallel graph ordering. Parallel Comput. 34(6-8), 318–331 (2008)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1998)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Strout, M.M., Carter, L., Ferrante, J.: Compile-time composition of run-time data and iteration reorderings. In: Procs. of the PLDI 2003 (June 2003)Google Scholar
  6. 6.
    DeVito, Z., Joubert, N., Palacios, F., Oakley, S., Medina, M., Barrientos, M., Elsen, E., Ham, F., Aiken, A., Duraisamy, K., Darve, E., Alonso, J., Hanrahan, P.: Liszt: a domain specific language for building portable mesh-based PDE solvers. In: Procs. of SC, pp. 9:1–9:12. ACM, New York (2011)Google Scholar
  7. 7.
    Giles, M.B.: OP2 User’s Manual (April 2012), http://people.maths.ox.ac.uk/gilesm/op2/user.pdf
  8. 8.
    Giles, M.B., Mudalige, G.R., Sharif, Z., Markall, G., Kelly, P.H.: Performance analysis and optimization of the OP2 framework on many-core architectures. The Computer Journal 55(2), 168–180 (2012)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • C. Bertolli
    • 1
  • A. Betts
    • 1
  • N. Loriant
    • 1
  • G. R. Mudalige
    • 2
  • D. Radford
    • 5
  • D. A. Ham
    • 1
    • 4
  • M. B. Giles
    • 2
    • 3
  • P. H. J. Kelly
    • 1
  1. 1.Dept. of ComputingImperial College LondonUK
  2. 2.Oxford e-Research CentreUniversity of OxfordUK
  3. 3.Mathematical InstituteUniversity of OxfordUK
  4. 4.Grantham Institute for Climate ChangeImperial College LondonUK
  5. 5.Rolls Royce Plc.UK

Personalised recommendations