Code optimizations for complex microprocessors applied to CFD software

Th Hauser, T. I. Mattox, R. P. Lebeau, H. G. Dietz, P. G. Huang

    Research output: Contribution to journalArticlepeer-review

    5 Scopus citations

    Abstract

    Improving large scale, time-dependent numerical simulation of the Navier-Stokes equations is critical for the future of computational fluid dynamics (CFD) in engineering applications. Unfortunately, these computations require massive, and generally expensive, computing resources. With the continuing advances in commodity computer hardware, an alternative approach to computationally expensive CFD computations is emerging in the form of PC clusters. However, to take advantage of clusters most CFD programs require extensive modifications so that they run efficiently on cache-based microprocessor systems. This paper presents techniques and tools that we have developed and used to optimize Navier-Stokes solvers on a single node of a PC cluster through the example CFD code DNSTool. After describing DNSTool, the paper demonstrates how this code is tuned to improve performance through profiling the computational cost of each of the subroutines, adapting the code for cache-based memory systems, and including SWAR (SIMD within a register) based routines. The effect of these improvements is to halve the computational cost on a single node, which in turn significantly increases the performance of the code on a PC cluster.

    Original languageEnglish
    Pages (from-to)1461-1477
    Number of pages17
    JournalSIAM Journal on Scientific Computing
    Volume25
    Issue number4
    DOIs
    StatePublished - 2003

    Keywords

    • Cache-based microprocessors
    • Fluid dynamics
    • Performance analysis

    Fingerprint

    Dive into the research topics of 'Code optimizations for complex microprocessors applied to CFD software'. Together they form a unique fingerprint.

    Cite this