ABSTRACT

Three-dimensional problems present strong challenges to storage of data and numerical solution of very large systems, which require enhanced computers and algorithms. This chapter describes serial, vector, multiprocessing, and multicore computer architectures. It introduces parallel MATLAB using the commands parfor and spmd for shared memory parallel computing. The chapter illustrates the use of basic message passing interface (MPI) for the distributed parallel computations. Applications to matrix-vector products and to heat and mass transfer in two directions are presented. The chapter also illustrates the parallel programming methods with examples from summation, matrix products, Newton’s method, and explicit diffusion models. In order to clarify the communication and execution times, data-flow diagrams are used. The chapter provides an examples of MPI-Fortran codes for matrix–vector and matrix–matrix products. Repeated sparse matrix products that evolve from explicit methods for heat and mass transfer are implemented in MPI.