Automatic Parallelization Option

Better Support for Multi-Processor Development

The Automatic Parallelization Option (APO) enhances the MIPSpro™ compilers to perform automatic parallelization of C, C++, Fortran 77, and Fortran 90 code. APO performs parallelization in the intermediate representation and the back end of the compiler and offers sizable performance improvements.

Beginning with the 7.2 release of the MIPSpro compilers, automatic parallelization (analysis and restructuring of loops) for -n32 and -64 binaries on -mips3 and -mips4 platforms can be incorporated into the other optimizations performed by the MIPSpro back end. This offers developers improved ease of use, efficiency, compilation speed, and run-time performance.

The Automatic Parallelizer helps take advantage of the parallelism in programs to provide better performance on multiprocessor systems. It is a compiler extension controlled with flags in the command lines that invoke the MIPSpro auto-parallel compilers. The AP can be used on single processor or multiprocessor systems. Although they suffer a slight run-time performance penalty on single-processor systems, parallelized programs can be created and debugged on any SGI® system with the AP and 7.2, 7.3, and 7.4 compilers.

Starting with the 7.2 release, the MIPSpro auto-parallel compilers integrated automatic parallelization, provided by the AP, with the other compiler optimizations, such as interprocedural analysis (IPA) and loop nest optimization (LNO). Whereas previous releases relied on source-to-source preprocessors, the new version internalizes automatic parallelization into the optimizer of the MIPSpro compilers. The AP works on an intermediate representation generated during the compiling process.

Manual, source-level insertion of parallel directives is still supported in the MIPSpro compilers. The MIPSpro Automatic Parallelization Option replaces the old Power Fortran 90, Power C, and Power Fortran 77 Analyzer Products for generating -n32 and -64 binaries.