Up to now multiprocessor systems with shared memory dominate the industrial supercomputing. They offer leading-edge applications for nearly every scientific and engineering discipline. Routine applications are carried out in industries such as aerospace, automotive, electronics, chemistry, energy and petroleum. The PVP systems are successfully used to shorten product design cycles, optimize manufacturing processes and solve basic engineering and research problems.
The success of shared memory systems with respect to their commercial use, is based on the simple programming model. Fully developed compilers with powerful automatic vectorization are available which make it easy to achieve maximum performance on single processors. Using multiprocessors this performance can be essentially improved through multitasking. Multitasking divides a program into discrete tasks that are performed concurrently on multiple processors. Most of the available compilers support both macro-tasking and micro-tasking. The former technique regards procedures as tasks whereas the latter considers loops and blocks of statement as work units. In both cases the programmer has to implement compiler directives in order to control the parallel processing. In most cases enhanced development support tools are available. They include analyzers which determine where and how the program should be vectorized and parallelized to obtain maximum performance. In the last years compilers with powerful autotasking features have been developed by almost all PVP vendors. Autotasking detects various forms of parallelism from ordinary FORTRAN or C programs using advanced automatic parallelization functions. The autotasking features also include a convenient and powerful set of compiler directives that allows a fine-tuning of the codes for even better performance.
With these powerful compilers and support tools on hand, porting application software becomes easy. Therefore, todays most widely used science and enginnering codes are available on shared memory parallel vector processors.