A classification of algorithms which are well suited for implementations on the DAP as a basis for further research on parallel programming
Considering the programs which have been written for the DAP (Distributed Array Processor) by members of our research group or other institutes we are in contact with, one sees quickly that there are a few classes of algorithms which cover nearly all the work done on the DAP.
Operations from Linear Algebra (matrix multiplication, matrix inversion, solution of large systems of linear equations)
Bit-algorithms for the fast computation of function values
Arithmetic on numbers with variable lengths of representation
Simulations or similar computations on two-dimensional structures taking advantage of the north-east-south-west neighbourhood facilities of the DAP
"Large scale"-pipelining (in contrast to: "small scale"-pipelining, i.e. pipeline architectures)
In addition to the original DAP facilities some very tricky programming techniques have been developed. With the examples of "linear routing" and "recursive doubling" we shall point out how these techniques can be made available to all users by supplying them with "algorithm patterns" at a somewhat higher language level than provided by DAP-FORTRAN.
Key Words and PhrasesParallel programming SIMD-principle algorithm patterns preprocessors recursive doubling routing binary decomposition large scale pipelining
Unable to display preview. Download preview PDF.
- DAP: FORTRAN Language, ICL Techn. Publ. 6918, 3rd Ed., 1981Google Scholar
- Erhard W.: Feldrechner DAP: Invertierung großer Matrizen, Arbeitsberichte des Instituts für Math. Maschinen und Datenverarbeitung, Erlangen, Bd. 19, Nr. 1, 1986Google Scholar
- Hockney R.W., Jesshope C.R.: Parallel Computers: Architecture, Programming and Algorithms, Bristol, 1981Google Scholar
- Kogge P.M., Stone H.S.: A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations, IEEE Trans. Comp., Vol. C-22, No. 8, 1973, pp. 786–793Google Scholar
- Kuck D.J.: The Structure of Computers and Computations, John Wiley & Sons, New York, 1978Google Scholar
- Reinartz K.D.: Bitalgorithmen zur schnellen Berechnung transzendenter Funktionen auf Parallelrechnern, in: Proceedings of "Parallel Computing 83", Elsevier, North-Holland, 1984, pp. 217–224Google Scholar
- UNIX Programmer's Manual, Vol. 2: Supplementary Documents, 7th Ed. (1979) in: ICL PERQ Manual, No. RP10126, 1983Google Scholar