Mathematical software development for super computers (abstract only)

R. Sweet
DOI: https://doi.org/10.1145/320435.320561
1985-10-01
Abstract:Significant advances have been made in the methodology for developing mathematical software. In fact, recognition of the need for such a methodology has only existed since the last decade. This recognition has been motivated primarily by the enormous cost of developing such products. Adherence to the recognized principles for the development of such software has facilitated the development of several large mathematical libraries for a wide variety of popular serial (von Neumann) computers. One of the basic principles of this methodology is the portability of software. For instance, the need to expunge or, at the very least, isolate machine dependencies and to write in standard Fortran have been recognized as minimal requirements to transport software between machines. The development of commercially successful vector supercomputers has placed a severe strain on the 'portability' tenet. Such powerful computers have been developed to attempt to meet the requirements for more and more sophisticated mathematical modeling of complicated physical processes. The development of computer models requires the basic building blocks of mathematical software. Developers of software now find themselves faced with the dilemma: should they continue to honor the tenet of portability at the expense of execution speed or should they provide the most efficient algorithms for each machine? The choice is not easy. To illustrate the magnitude of the dilemma we will present some examples of important physical processes that require large computational efforts and that have been the primary impetus for the development of supercomputers. We will describe the primary features of vector supercomputers and indicate how they have been able to achieve such large improvements in computational throughput with rather modest improvements in the speed of circuitry. The distinctions between the two competing architectures of the CRAY-1 and the CYBER 205 will be explained. We will give an elementary description of one of the most useful computational algorithms--the Fast Fourier Transform--and show how seemingly insignificant changes in the data structures used to implement the algorithm can have major effects 0* the computational speed. Finally, we will discuss the problems associated with the development of implementations of the Fast Fourier Transform that are efficient on all vector computers. 1985 ACM'O-89791-170-9/85/1000-04X $00.75
What problem does this paper attempt to address?