From Optimizing Compilers for Modern Architectures: A Dependence-Based Approach

1.1 Overview and Goals

The past two decades have been exciting ones for high-performance computing. Desktop personal computers today feature computing power equivalent to the most powerful supercomputers of the late 1970s. Meanwhile, through the use of parallelism and innovations in the memory hierarchy, supercomputers have exceeded a sustained teraflop on real applications and are now setting their sights on 10 to 100 teraflops. High-end supercomputing systems can be seen as laboratories for software research and development because innovations developed on such systems eventually find their way to the desktop computer systems.

The phenomenal improvements in computer speeds have been the result of two effects. First, the underlying technology from which machines are constructed has seen remarkable advances on a pace predicted by Moore's Law. Figure 1.1 plots the peak performance of the fastest supercomputer by year from 1950 to 2000. The regression fit, which follows Moore's Law quite well, indicates that supercomputer performance has increased by two orders of magnitude every decade. However, technology by itself has not been enough. The four outlined regions show that differences in computer architecture from scalar through superscalar and vector to parallel have been necessary to keep performance on track. Clearly, parallelism of one form or another is essential to supercomputing performance.

Figure 1.1: Performance of the fastest supercomputers over 50 years.

But parallelism is not just for supercomputers anymore. Even though today's uniprocessors achieve phenomenal performance levels, they still cannot satisfy the thirst of image-processing applications and multimedia on the desktop. Meeting...

Copyright Academic Press 2002 under license agreement with Books24x7

Products & Services
Computers are programmable electronic devices that accept data, execute prerecorded instructions, perform mathematical and logical operations, and output results.
CPU Coolers
CPU fans and coolers are integrated fans and heat sink assemblies packaged to provide optimum cooling performance, often for specific processors.
Data Acquisition Computer Boards
Data acquisition computer boards are self-contained printed circuit boards that typically plug into the backplane, motherboard, or otherwise interface directly with the computer bus.
Optical Sights
Optical sights are optical lens assemblies used for aiming a gun. Categories include telescopic sights, visible sights, and infrared sights.
Electronic Design Automation (EDA) and Electronic Computer-aided Design Software (ECAD)
Electronic design automation (EDA) and electronic computer-aided design software (ECAD) is used to design and develop electronic systems such as printed circuit boards (PCBs) and integrated circuits (ICs).

Topics of Interest

2.1 Introduction As we learned in Chapter 1, optimization has an important function in the acceptance of a programming language if the optimizer does not do a good job, no one will use the language.

The steady increase in desktop computer power always seems overtaken by larger CAD models that need more complex and lengthy analysis. And with simulation increasingly replacing physical testing, it's...

A new supercomputer reportedly will buck a common trend by incorporating microprocessors from AMD rather than those from Intel. A company called Cray, which happens to know a thing or two about...

The integration of technologies, applications and services on an unprecedented scale is almost certain as telecommunications and computing converge. A key driver will be the migration of computer...

CoWare upgrades SystemC-based SoC modeling tools CoWare Inc. has released a significant revision of its SystemC-based ConvergenSC system-on-chip (SoC) design tools that it claims will enable faster...