1 /**************************************************************************
3 * Java Grande Forum Benchmark Suite - Thread Version 1.0 *
7 * Java Grande Benchmarking Project *
11 * Edinburgh Parallel Computing Centre *
13 * email: epcc-javagrande@epcc.ed.ac.uk *
16 * This version copyright (c) The University of Edinburgh, 2001. *
17 * All rights reserved. *
19 **************************************************************************/
20 public class JGFMolDynBenchSizeA {
22 public static void main(String argv[]){
24 if(argv.length != 0 ) {
25 nthreads = Integer.parseInt(argv[0]);
27 System.printString("The no of threads has not been specified, defaulting to 1\n");
28 System.printString(" " + "\n");
32 JGFInstrumentor instr = new JGFInstrumentor();
33 JGFInstrumentor.printHeader(3,0,nthreads);
36 mold = new JGFMolDynBench(nthreads);
38 JGFInstrumentor.addTimer("Section3:MolDyn:Total", "Solutions",size, instr.timers);
39 JGFInstrumentor.addTimer("Section3:MolDyn:Run", "Interactions",size, instr.timers);
41 mold.JGFsetsize(size);
43 JGFInstrumentor.startTimer("Section3:MolDyn:Total", instr.timers);
47 JGFMolDynBench.JGFapplication(mold);
49 double[] refval = new double[2];
50 refval[0] = 1731.4306625334357;
51 refval[1] = 7397.392307839352;
53 //System.printString("Here #1\n");
55 //System.printString("Here #2\n");
56 double dev = Math.fabs(dval - refval[size]);
57 //long ldev = (long)dev * 1000000;
58 //System.printString("ldev= "+ldev);
59 //long ltmp = (long)1.0e-10 * 1000000;
60 //System.printString("ltmp= "+ltmp);
63 System.printString("Validation failed\n");
64 System.printString("Kinetic Energy = " + (long)dval + " " + (long)dev + " " + size + "\n");
66 System.printString("End of JGFvalidate\n");
68 JGFInstrumentor.stopTimer("Section3:MolDyn:Total", instr.timers);
70 System.printString("Here #3\n");
71 interactions = mold.interactions;
72 System.printString("Here #4\n");
74 JGFInstrumentor.addOpsToTimer("Section3:MolDyn:Run", (double) interactions, instr.timers);
75 JGFInstrumentor.addOpsToTimer("Section3:MolDyn:Total", 1, instr.timers);
77 JGFInstrumentor.printTimer("Section3:MolDyn:Run", instr.timers);
78 JGFInstrumentor.printTimer("Section3:MolDyn:Total", instr.timers);