WAVE5 1 GENERAL 1.1 Classification Large FORTRAN scientific benchmark with single precision floating point arithmetic. 1.2 Description A two-dimensional, relativistic, electromagnetic particle-in-cell simulation code used to study various plasma phenomena. WAVE solves Maxwell's equations and particle equations of motion on a cartesian mesh with a variety of field and particle boundary conditions. The benchmark problem involves 500,000 particles on 50,000 grid points for 5 time steps; about 4 Mwords (32-bit) of memory are required. 1.3 Source/Author Los Alamos National Labs. 1.4 Version/Date WAVE Based on Cray Version 2.1. Revised Jan 1986. WAVE5 is a modified version of WAVE. Changes for SPEC include - Benchmark was scaled down from 20 to 5 timesteps - Initialized some uninitialized (assumed to be zero) values - Disabled some code paths not used in the benchmark - Fixed some inconsistent common blocks - Normalized the code to prevent floating point exceptions in routine VSLV1P - Internal calculation of Elapsed time eliminated (to permit SPEC mechanical verification) 1.5 Other Information This benchmark has been run by Los Alamos National Laboratory on a large number of machines including CRAY-2, CRAY-XMP, CRAY-YMP. 2 PERFORMANCE 2.1 Metrics This benchmark measures elapsed time between two internally defined points within the benchmark. 2.2 Elapsed time The SPEC reference time (to 3 sig. fig.) is 3700 seconds. 2.3 Reports Writes output to file named WAVE.OUT. 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 Unknown. 3.5 Miscellaneous Software None. 3.6 Known Bugs None. 3.7 Additional Software Considerations None. 3.8 Benchmark History WAVE5 is a modified version of WAVE. Changes for SPEC include - Benchmark was scaled down from 20 to 5 timesteps - Initialized some uninitialized (assumed to be zero) values - Disabled some code paths not used in the benchmark - Fixed some inconsistent common blocks - Normalized the code to prevent floating point exceptions in routine VSLV1P - Internal calculation of Elapsed time eliminated (to permit SPEC mechanical verification) 4 HARDWARE 4.1 Memory Requires about 16 Megabytes. 4.2 Disks Writes output to a small file called WAVE.OUT. 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 fits in a file of 240 Kbytes. Output file is 2000 bytes (about 1 page of text). 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 (WAVE.OUT). 4.10 Correctness Verification See output from sample run. 4.11 Additional Operational Considerations This is a large program. Increased virtual memory (beyond the default) may be required. Also, the program depends upon static variable allocation. This is the default in most fortran environments. 4.12 Sample Run Output produced by WAVE5: SAMPLE WEIBEL INSTABILITY 0 NX=1250 NY= 40 XMAX= 0.6250E+02 YMAX= 0.2000E+01 DT= 0.3000E-01 TOTAL OF 500000 PARTICLES KSP = 1 QSPEC(KSP) = -0.10004E+00 NP1= 500000 QMULT= -0.1 WMULT= 1.0 VMPX= 0.100 VMPY= 0.200 XDRIFT= 0.000 YDRIFT= 0.000 NET CHARGE IN SYSTEM = -0.18160E+02 INIT CALL TO TRANS RELATIVISTIC ELECTROMAGNETIC PARTICLE PUSH INIT CALL TO FIELD CHARGE IMBALANCE = -0.17673E+02 INIT CALL TO DIAGNOS INITIALIZATION COMPLETED! NUM TIMESTEPS TO BE RUN = 5 CHARGE IMBALANCE = -0.17674E+02 CHARGE IMBALANCE = -0.17674E+02 CHARGE IMBALANCE = -0.17673E+02 CHARGE IMBALANCE = -0.17674E+02 CHARGE IMBALANCE = -0.17674E+02 TIME STEP 5 COMPLETED NSTOP STOP 5 CYCLES COMPLETED OVERALL ELAPSED TIME IS 0.0000 INITIALIZING ELAPSED TIME IS 0.0000