4.4 Article

Semi-automatic porting of a large-scale Fortran CFD code to GPUs

Journal

Publisher

WILEY
DOI: 10.1002/fld.2560

Keywords

graphics hardware; GPUs; Fortran; computational fluid dynamics

Ask authors/readers for more resources

The development of automatic techniques to port a substantial portion of FEFLO, a general-purpose legacy CFD code operating on unstructured grids, to run on GPUs is described. FEFLO is a typical adaptive, edge-based finite element code for the solution of compressible and incompressible flows, which is primarily written in Fortran 77 and has previously been ported to vector, shared memory parallel and distributed memory parallel machines. Owing to the large size of FEFLO and the likelihood of human error in porting, as well as the desire for continued development within a single codebase, a specialized Python script, based on FParser (Int. J. Comput. Sci. Eng. 2009; 4:296305), was written to perform automated translation from the OpenMP-parallelized edge and point loops to GPU kernels implemented in CUDA, along with GPU memory management. The results of verification benchmarks and performance indicate that performances achieved by such a translator can rival those of codes rewritten by specialists. The approach should be of general interest, as how best to run on GPUs is being presently considered for many so-called legacy codes. Copyright (C) 2011 John Wiley & Sons, Ltd.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.4
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available