Parallel processing tutorial
An overview of parallel computing is provided, with reference to numerical analysis and, in particular, to computational electromagnetics. The history of parallelism is reviewed, and the general principles are provided. The two main types of parallelism encountered, pipelining and replication, are discussed, and an example of each is described. A parallel algorithm for forming a matrix-vector product is presented and analyzed. This is then used as the core of a parallel conjugate gradient algorithm. The theoretically predicted efficiency and the measured efficiency are compared. A glossary and a brief discussion of the available literature on parallel processing are included.