The correctness of the computation, within this benchmark framework, cannot and need not be proven. The original program being a widely used Energy Sciences code, its correctness although not mathematically proven, is fully established (thru comparison with real physical experiments) and completely approved by all concerned control authorities. However, the code has been certified only for a limited set of hardwares: the 60-bits CDC machines, the IBM S/370 series and the Cray 1S, eg. the accuracy of the computation, a critical factor, is only established for these machines. A contrario and subsequently, this accuracy has been instrumental in discriminating, temporarily or definitely, the use of some compilers, or some compiler's versions or optimization levels ...
The transformation of the original code into the actual benchmark is proceeded when it was established that only a single value, yet very sensitive and significant, needs to be kept that is enough to certify about the exactness and the accuracy of the computation: the number of iterations (aka. time steps) corresponding to a given amount of simulation time.
|simulation time||35 seconds||50 seconds||100 seconds||999 seconds||10000 seconds|
|# of iterations||954||5485||20391|
It was then decided that the number of iterations should not deviate from the accepted values by more than 2%. Since then it is observed that the number of iterations distribution peaked at these values well within 2%. This becomes the correctness criteria of the benchmark.