Publisher Summary This chapter presents an overview of the CAPTools project in relation to the parallelization of structured mesh computational fluid dynamics (CFD) codes. The philosophy of CAPTools is based upon the notion that the efficient automatic parallelization of complex software such as CFD is not possible. Hence, the chapter describes a toolkit that is essentially interactive and embeds user supplied knowledge into the detailed dependence analysis of CAPTools. The restructuring of the CFD codes plus the addition of masks that redefines loop limits is then performed essentially automatically to yield parallel source code. The chapter demonstrates the application of the toolkit to the parallelization of heat conduction and CFD codes, giving good efficiencies on i860 based distributed memory-multiple instruction, multiple data (DM-MIMD) systems. CAPTools provides a source-to-source conversion of Fortran code to allow execution on a parallel architecture. The parallel code is generic and can be ported to a range of parallel hardware, e.g., document management system (DMS), workstation clusters, and SMS. The parallel code is generated in a fraction of the time that would normally be taken to perform a manual parallelization. Initial results show that speed up factors of 8 from 12 can be obtained for small grid sizes that are used in a CFD code.
[1]
S. Patankar.
Numerical Heat Transfer and Fluid Flow
,
2018,
Lecture Notes in Mechanical Engineering.
[2]
M. Cross,et al.
Mapping enthalpy-based solidification algorithms onto vector and parallel architectures
,
1989
.
[3]
Ken Kennedy,et al.
Automatic translation of FORTRAN programs to vector form
,
1987,
TOPL.
[4]
M. Cross,et al.
Mapping structured grid three-dimensional CFD codes onto parallel architectures
,
1991
.
[5]
Harriet Griffin,et al.
Elementary theory of numbers
,
1955
.
[6]
Utpal Banerjee,et al.
Loop Transformations for Restructuring Compilers: The Foundations
,
1993,
Springer US.