4 The fickle multitude, which veers wit every wind! -J.C.F. Schiller, 1800 Characteristics of Numerical Applications 4.1 Classification of Large-Scale Numerical Problems 4.2 Design Constraints for High-Performance Machines 4.3 Architectures for the Continuum Model 4.4 Algorithms for the Continuum Model 4.5 The Perfect Shuffle 4.6 Architectures for the Continuum Model-Which Direction? Large-scale numerical applications typically are highly structured computa- 1 tions. Some very large programs require 1012 to 1015floating-point operations to I achieve solutions at the desired level of accuracy. Since there are approximately ! 3.15 . 1013 microseconds per year, and a conventional high-performance machine : can complete roughly 100 floating-point operations per microsecond, it is clear 1 that these problems can occupy conventional machines for several years. / To solve the largest problems an architecture almost certainly must have a 1 large amount of parallelism, and it must exploit the particular characteristics of j the problem. This tends to force the large numerical machines to become more : special purpose and more oriented to specific applications than the architectures described thus far. When a computer program can occupy every available cycle of an architecture for months or years at a time, changes that bring down computation time dramatically are quite beneficial, even if they bias the archi- tectural structure toward particular purposes.
Characteristics of Numerical Applications Chapter 4 The computer architect has to understand the special needs of large-scale problems to produce designs that can meet the extremely taxing requirements of such problems. Even then, the architect has to be aware of the needs of a broad class of problem areas because, when a choice of approaches is possible, the architect should know which approaches can satisfy the needs of several areas. If one architecture can serve several different areas, then the design effort, software development, and other development costs can be shared by a larger community of users, thereby greatly reducing the cost of the machine per user. The architect has to weigh carefully those design decisions that enlarge the community of users if they might compromise maximum performance for some subset of users. For example, if a machine attains its highest performance when processing vectors, how useful will the machine be to a community that requires scalar processing exclusively? In this case the architect has to decide the level of performance for scalar mode, and this decision may greatly affect both the users who operate exclusively in scaIar mode and those who operate almost exclusively in vector mode. There is some risk that both communities may be burdened with design capability that cannot be utilized fully.
Upload your study docs or become a
Course Hero member to access this document
Upload your study docs or become a
Course Hero member to access this document
End of preview. Want to read all 18 pages?
Upload your study docs or become a
Course Hero member to access this document
Term
Fall
Professor
N/A
Tags
continuum model, Numerical Applications