SWM256 1 GENERAL 1.1 Classification FORTRAN scientific benchmark with single precision floating point arithmetic. 1.2 Description SWM256 - Shallow Water Model with 256x256 grid. The program solves the system of shallow water equations using finite difference approximations on a 256x256 grid. 1.3 Source/Author PAUL N. SWARZTRAUBER, NATIONAL CENTER FOR ATMOSPHERIC RESEARCH, BOULDER, CO, OCTOBER 1984. 1.4 Version/Date SWM256 was derived from the original NCAR version. Changes for SPEC affect the format of the output but the primary calculations are as in the original. Changes for SPEC include: - Internal calculation of MFLOPS eliminated (to permit SPEC mechanical verification of output). - Primary benchmark metric is no longer MFLOPS but rather elapsed time for the program to complete. - Removed multitasking directives (considered a performance enhancement/optimization by SPEC). - Removed the writing out of initial matrix values and replaced the writing out of the final values with a checksum test. This was done to facilitate mechanical verification of results and to ensure that all computed results were subsequently "used". - Changed the number of iterations and output printing policy to enlarge runtime and reduce interim results printout. 1.5 Other Information This original version of this benchmark has been run by NCAR (Dick Sato) on a large variety of workstations and high performance computing systems. 2 PERFORMANCE 2.1 Metrics Elapsed time to complete the execution of benchmark program. 2.2 Elapsed Time The SPEC reference time (to 3 sig. fig.) is 12700 seconds. 2.3 Reports Writes a small output file (unit 6) with checksum results (for comparison with reference). 2.4 Additional Performance Considerations None. 3 SOFTWARE 3.1 Language Fortran. 3.2 Operating System This benchmark has been ported easily to several different operating systems. It has no known OS dependencies. 3.3 Portability Easy to port. 3.4 Vectorizability/Multiprocessor Issues Amenable to vectorization and decomposition on systems that provide such capabilities. 3.5 Miscellaneous Software None. 3.6 Known Bugs None. 3.7 Additional Software Considerations None. 3.8 Benchmark History Changes for SPEC affect the format of the output but the primary calculations are as in the original. Changes for SPEC include: - Internal calculation of MFLOPS eliminated (to permit SPEC mechanical verification of output). - Primary benchmark metric is no longer MFLOPS but rather elapsed time for the program to complete. - Removed multitasking directives (considered a performance enhancement/optimization by SPEC). - Removed the writing out of initial matrix values and replaced the writing out of the final values with a checksum test. This was done to facilitate mechanical verification of results and to ensure that all computed results were subsequently "used". - Changed the number of iterations and output printing policy to enlarge runtime and reduce interim results printout. 4 HARDWARE No special requirements. 4.2 Disks No special requirements. 4.3 Communication None. 4.4 Special Hardware This benchmark contains single precision floating point arithmetic. 4.5 Additional Hardware Considerations none 4.6 OPERATIONAL 4.7 Disk Space Source code and output files are small (.lt. 20kb) 4.8 Installation No special installation required. 4.9 Execution Image is compiled, Linked and Run. There are no Input files and a single (small) output file (unit 6) is produced. 4.10 Correctness Verification See output from sample run. 4.11 Additional Operational Considerations None. 4.12 Sample Run Output produced by SWM256: NUMBER OF POINTS IN THE X DIRECTION 256 NUMBER OF POINTS IN THE Y DIRECTION 256 GRID SPACING IN THE X DIRECTION 25000. GRID SPACING IN THE Y DIRECTION 25000. TIME STEP 20. TIME FILTER PARAMETER 0.001 NUMBER OF ITERATIONS 1200 CYCLE NUMBER 1200 MODEL TIME IN HOURS 6.67 SPEC Version of Shalow Water Model Benchmark Pcheck = 0.3276E+10 Ucheck = 0.2607E+05 Vcheck = 0.2607E+05 CYCLE NUMBER 1200 TOTAL COMPUTER TIME 0.000000E+00 TIME PER CYCLE 0.000000E+00 TIME AND MEGAFLOPS FOR LOOP 100 0.000000E+00 0.000 TIME AND MEGAFLOPS FOR LOOP 200 0.000000E+00 0.000 TIME AND MEGAFLOPS FOR LOOP 300 0.000000E+00 0.000 TOTAL CPU TIME FOR JOB = 0.00000E+00 OVERALL floating point operations = 0.81684E+03 (rate not calculated for SPEC version)