The portability aspect is taken into account by introducing a platform independent communication interface. For several platforms and for the communication systems PVM, MPI and NX libraries are available. The code is running on a workstation cluster as well as different MPP systems , one of them being the Intel Paragon . Optimization of the code Especially unstructured codes with indexed data access give a poor performance on a microprocessor. Mainly this is due to the high cache miss rate as well as the overhead of the additional address computation cycles.
Timing is performed on one node, to avoid side effects from the communication system.
Timing results in the table represent the data set with 8192 hexahedrons, implicit computation and flux computation by the Sanders-Prendergast scheme. The number of Iterations is 287, the total computation time 3557s. In a first step the compiler optimization possibilities were investigated and the best settings were determined, e.g. optimization level 4, no IEEE and vectorization switched on for all but 2 modules. Successful code changes were performed in the module eparpi. Through a split of the compute intensive loops the cache reuse was enhanced.