3 /**************************************************************************
5 * Java Grande Forum Benchmark Suite - Thread Version 1.0 *
9 * Java Grande Benchmarking Project *
13 * Edinburgh Parallel Computing Centre *
15 * email: epcc-javagrande@epcc.ed.ac.uk *
18 * This version copyright (c) The University of Edinburgh, 2001. *
19 * All rights reserved. *
21 **************************************************************************/
23 task t1(StartupObject s{initialstate}) {
24 //System.printString("task t1\n");
26 int datasize = 10000; //should be times of 2
27 int nruns = 62 * 62; //16 * 16;
28 int group = 62; // 16;
30 AppDemo ad = newflag AppDemo(datasize, nruns, group){merge};
34 for(int i = 0; i < group; i++) {
35 AppDemoRunner adr = newflag AppDemoRunner(i,
41 taskexit(s{!initialstate});
44 task t2(AppDemoRunner adr{run}) {
45 //System.printString("task t2\n");
47 // Now do the computation.
50 taskexit(adr{!run, turnin});
53 task t3(AppDemo ad{merge}, AppDemoRunner adr{turnin}) {
54 //System.printString("task t3\n");
55 boolean isFinish = ad.processResults(adr.results);
58 taskexit(ad{!merge, validate}, adr{!turnin});
60 taskexit(adr{!turnin});
63 task t4(AppDemo ad{validate}) {
64 //System.printString("task t4\n");
65 float refval = (float)(-0.0333976656762814);
66 float dev = Math.abs(ad.JGFavgExpectedReturnRateMC - refval);
68 //System.printString("Validation failed");
69 //System.printString(" expectedReturnRate= " + (int)(ad.JGFavgExpectedReturnRateMC*10000) + " " + (int)(dev*10000) + "\n");
71 taskexit(ad{!validate});