We will execute the above model now on three classes of computers:
(a) ordinary serial computers such as the SPARC2 or Silicon Graphics Iri;
(b) vector pipeline computers such as the Cray YMP, with one processor or multitasked for several processors.
(c) massively parallel computers such as the CM-200 or CM-5 of Thinking Machines Corporation.
The respective codes can be found in the directory of this Chapter. We note that for this simple explicit code the only impediments to either vectorization or ``parallelization'' are contained in the friction terms. There is recursion when sweeping a grid incrementing the I index, for then T(I-1) will have a new value when the computation commences at point I for T(I), but neither in a vector pipeline, nor in a message-passing parallel computer, can this value be accessed when needed. The solution is to introduce an auxiliary storage vector, say TR, into which the values are loaded at the beginning of the timestep, so that the right hand sides of the expression for are computed using TR, and hence use the correct values.
(See exercises 7 and 7.)