Volume 25, Issue 6 pp. 843-861
Special Issue Paper

Multiple threads and parallel challenges for large simulations to accelerate a general Navier–Stokes CFD code on massively parallel systems

Yvan Fournier

Yvan Fournier

Electricité De France R&D, Paris, France

Search for more papers by this author
Jerome Bonelle

Jerome Bonelle

Electricité De France R&D, Paris, France

Search for more papers by this author
Pascal Vezolle

Pascal Vezolle

IBM Systems and Technology Group, Paris, France

Search for more papers by this author
Jerry Heyman

Jerry Heyman

IBM Systems and Technology Group, Raleigh, NC

Search for more papers by this author
Bruce D'Amora

Corresponding Author

Bruce D'Amora

IBM T.J. Watson Research Center, Yorktown Heights, NY, USA

Correspondence to: Bruce D'Amora, IBM T.J. Watson Research Center, 1101 Kitchwan Road, 15-257 Yorktown Heights, NY 10598.

E-mail: [email protected]

Search for more papers by this author
Karen Magerlein

Karen Magerlein

IBM T.J. Watson Research Center, Yorktown Heights, NY, USA

Search for more papers by this author
John Magerlein

John Magerlein

IBM T.J. Watson Research Center, Yorktown Heights, NY, USA

Search for more papers by this author
Gordon Braudaway

Gordon Braudaway

IBM T.J. Watson Research Center, Yorktown Heights, NY, USA

Search for more papers by this author
Charles Moulinec

Charles Moulinec

STFC Daresbury Laboratory, WA4 4AD Daresbury, UK

Search for more papers by this author
Andrew Sunderland

Andrew Sunderland

STFC Daresbury Laboratory, WA4 4AD Daresbury, UK

Search for more papers by this author
First published: 20 June 2012
Citations: 1

SUMMARY

Computational fluid dynamics is an increasingly important application domain for computational scientists. In this paper, we propose and analyze optimizations necessary to run CFD simulations consisting of multibillion-cell mesh models on large processor systems. Our investigation leverages the general industrial Navier–Stokes CFD application, Code_Saturne, developed by Electricité de France for incompressible and nearly compressible flows. In this paper, we outline the main bottlenecks and challenges for massively parallel systems and emerging processor features such as many-core, transactional memory, and thread level speculation. We also present an approach based on an octree search algorithm to facilitate the joining of mesh parts and to build complex larger unstructured meshes of several billion grid cells. We describe two parallel strategies of an algebraic multigrid solver and we detail how to introduce new levels of parallelism based on compiler directives with OpenMP, transactional memory and thread level speculation, for finite volume cell-centered formulation and face-based loops. A renumbering scheme for mesh faces is proposed to enhance thread-level parallelism. Copyright © 2012 John Wiley & Sons, Ltd.

The full text of this article hosted at iucr.org is unavailable due to technical difficulties.