Implementation of unstructured finite element codes on different parallel computers

Publisher Summary In this chapter, different architectures representing different modes of programming parallelism were investigated. On one hand, these were based upon the CRAY Y-MP shared memory vector computer type architecture, either considered as a sequential or vector computer of one single processor or in a multiple processor mode using microtasking or considered with the emulator of the CRAY T3D—using message passing or with the Cray T3D Fortran programming model. On the other hand, the data parallel approach was developed and tested on the single instruction, multiple data (SIMD) type Connection Machine CM-200. In this way, the range from workstations to the massively parallel multiple instructions, multiple data (MIMD) computer is covered by a common source file with different compiling options for the Cray YMP type code, whereas the data parallel code was more specific to the connection machine and requires quite a different kind of optimization. The algorithm is based on a two-step predictor-corrector Lax–Wendroff scheme with either explicit or implicit time stepping. The choice of this algorithm was its simplicity in the inherent data structure because an element by element or node to node or an edge based data structure could be used indifferently. In the implicit version, either Jacobi iteration or a generalized minimal residual method (GMRES) method can be used to solve the matrix inversion subproblem. This allows also a performance study of different types of sparse matrix resolution algorithms on different machines.