From 4a5aecc79ed85540b895ab46a214404e58bc6d41 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Fri, 25 Apr 2008 08:58:35 +0000 Subject: [PATCH] changes to the barrier and rearrange atomic statements in the run method --- .../Prefetch/Moldyn/dsm/JGFMolDynBench.java | 581 +++++++++--------- .../Benchmarks/Prefetch/Moldyn/dsm/makefile | 2 +- 2 files changed, 291 insertions(+), 292 deletions(-) diff --git a/Robust/src/Benchmarks/Prefetch/Moldyn/dsm/JGFMolDynBench.java b/Robust/src/Benchmarks/Prefetch/Moldyn/dsm/JGFMolDynBench.java index 5e2b6921..c72ebab5 100644 --- a/Robust/src/Benchmarks/Prefetch/Moldyn/dsm/JGFMolDynBench.java +++ b/Robust/src/Benchmarks/Prefetch/Moldyn/dsm/JGFMolDynBench.java @@ -90,10 +90,10 @@ public class JGFMolDynBench { // spawn threads mdRunner[] thobjects; - TournamentBarrier br; + Barrier br; atomic { thobjects = global new mdRunner[numthreads]; - br= global new TournamentBarrier(numthreads); + br= global new Barrier(numthreads); } int mid = (128<<24)|(195<<16)|(175<<8)|73; @@ -137,7 +137,7 @@ public class JGFMolDynBench { class mdRunner extends Thread { double count; - int id,i,j,k,lg,mdsize,move,mm; + int id,i,j,k,lg,mdsize,mm; double l,rcoff,rcoffs,side,sideh,hsq,hsq2,vel,velt; double a,r,sum,tscale,sc,ekin,ts,sp; double den; @@ -155,17 +155,16 @@ class mdRunner extends Thread { int irep; int istop; int iprint; - int movemx; - TournamentBarrier br; + Barrier br; random randnum; JGFMolDynBench mymd; int nthreads; particle[] one; - public mdRunner(int id, int mm, double [][] sh_force, double [][][] sh_force2,TournamentBarrier br, - int nthreads, JGFMolDynBench mymd) { + public mdRunner(int id, int mm, double [][] sh_force, double [][][] sh_force2,Barrier br, + int nthreads, JGFMolDynBench mymd) { this.id=id; this.mm=mm; this.sh_force=sh_force; @@ -180,302 +179,302 @@ class mdRunner extends Thread { irep = 10; istop = 19; iprint = 10; - movemx = 50; } public void run() { - /* Parameter determination */ - - atomic { - mdsize = mymd.PARTSIZE; - one = global new particle[mdsize]; - l = mymd.LENGTH; - } - - int tmpmdsize; - double tmpden; - atomic { - tmpmdsize = mdsize; - tmpden = den; - } - - atomic { - side = Math.pow((tmpmdsize/tmpden),0.3333333); - rcoff = mm/4.0; - - a = side/mm; - sideh = side*0.5; - hsq = h*h; - hsq2 = hsq*0.5; - npartm = tmpmdsize - 1; - rcoffs = rcoff * rcoff; - tscale = 16.0 / (1.0 * tmpmdsize - 1.0); - vaver = 1.13 * Math.sqrt(tref / 24.0); - vaverh = vaver * h; - - /* Particle Generation */ - - xvelocity = 0.0; - yvelocity = 0.0; - zvelocity = 0.0; - ijk = 0; - } - atomic { - for (lg=0; lg<=1; lg++) { - for (i=0; i vaverh) { count = count + 1.0; } - vel = vel + velt; - } - - vel = vel / h; - - /* temperature scale if required */ - - if((move < istop) && (((move+1) % irep) == 0)) { - sc = Math.sqrt(tref / (tscale*ekin)); - for (i=0;i vaverh) { count = count + 1.0; } + vel = vel + velt; + } + + vel = vel / h; + + /* temperature scale if required */ + + if((move < istop) && (((move+1) % irep) == 0)) { + sc = Math.sqrt(tref / (tscale*ekin)); + for (i=0;i