Most changes came from the addition of four small subroutines. If a user removes these calls, then the code reverts to its original form and executes at typical C90 performance. The end result is that one code executes with excellent efficiency on both Cray vector systems and massively parallel microprocessor-based systems. An initial distribution of zones is made across a user-defined number of CPU groups so that the work is approximately equal. The number of CPUs in each group is adjusted to further load-balance the work.
Load balancing is fully automatic and dynamic in time.
During the solution process, each group of CPUs advances the time level for its assigned zones until the solution converges to the degree needed. To fully stress-test both the MLP methodology and the Origin2000 system, a very large test case was selected. This is thought to be the largest problem ever solved at the NAS Facility. Typical executions of this dataset are performed on a dedicated 16-CPU C90, taking many hundreds of CPU hours. The table summarizes the relative performance on these two systems.