VECPAR'06 - Seventh International Meeting on High Performance Computing for Computational Science |
On the Parallelization of a Finite Volume Program with OOPAR
Philippe Devloo (UNICAMP)
Tiago Forti (UNICAMP)
Edimar Cesar Rylo (UNICAMP)
This paper describes the parallelization of a finite volume code using the object oriented programming environment OOPar. The original finite volume code is a complex CFD code which includes a large number of time solvers and iterative solvers. Rather than parallizing each solver separately, a strategy was adopted where only core operations are parallelized on a sub-structured mesh. This approach has the advantage that in a single step all solvers are parallelized, thus minimizing the impact on the existing code structure. OOPar is an object oriented environment which introduces a new paradigm in parallel computing, dividing the execution of the program in distributed tasks which act on distributed objects. OOPar allowed to define the execution of flux operators as a set of tasks which act on distributed data. Having the program structured using tasks and data allowed to gradually debug the parallel code: first all tasks were executed on the current processor, allowing to debug the operation of the tasks without transmitting the data from one processor to another; second the tasks were distributed over the pool of available processors, allowing to verify the consistency of transmission of data. Both serial code and parallel implementation coexist. This allowed to verify the results of the parallel code with the results of the serial code at each step of the debugging process. At this initial step of parallelization of the finite volume code, validation was emphasized. The parallel code developed produces identical results as the serial code. Any deviation is detected instantly.
Parallel and Distributed Computing
Logos Universidade Federal do Rio de Janeiro - Coordenação dos Programas de Pós-graduação de Engenharia Instituto Nacional de Matemática Pura e Aplicada Rio de Janeiro | Brazil | 2006 | July | 10 11 12 13