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.