From e46802516c9d8c0b19d91deb77f7f03e3bce4277 Mon Sep 17 00:00:00 2001 From: adash Date: Mon, 18 Aug 2008 03:54:35 +0000 Subject: [PATCH] Changes to insert new Barrier in Moldyn --- .../Prefetch/Moldyn/dsm/JGFMolDynBench.java | 61 +++++++++---------- .../Benchmarks/Prefetch/Moldyn/dsm/makefile | 19 ++++-- 2 files changed, 43 insertions(+), 37 deletions(-) diff --git a/Robust/src/Benchmarks/Prefetch/Moldyn/dsm/JGFMolDynBench.java b/Robust/src/Benchmarks/Prefetch/Moldyn/dsm/JGFMolDynBench.java index 3fa7505b..edf62615 100644 --- a/Robust/src/Benchmarks/Prefetch/Moldyn/dsm/JGFMolDynBench.java +++ b/Robust/src/Benchmarks/Prefetch/Moldyn/dsm/JGFMolDynBench.java @@ -68,6 +68,13 @@ public class JGFMolDynBench { public static void JGFapplication(JGFMolDynBench mold) { // Create new arrays + BarrierServer mybarr; + int[] mid = new int[4]; + mid[0] = (128<<24)|(195<<16)|(175<<8)|79; + mid[1] = (128<<24)|(195<<16)|(175<<8)|80; + mid[2] = (128<<24)|(195<<16)|(175<<8)|78; + mid[3] = (128<<24)|(195<<16)|(175<<8)|73; + atomic { mold.epot = global new double [mold.nthreads]; mold.vir = global new double [mold.nthreads]; @@ -79,7 +86,9 @@ public class JGFMolDynBench { atomic { partsize = mold.PARTSIZE; numthreads = mold.nthreads; + mybarr = global new BarrierServer(numthreads); } + mybarr.start(mid[0]); double sh_force [][]; double sh_force2 [][][]; @@ -90,29 +99,29 @@ public class JGFMolDynBench { // spawn threads mdRunner[] thobjects; - Barrier br; atomic { thobjects = global new mdRunner[numthreads]; - br= global new Barrier(numthreads); } - - int[] mid = new int[4]; - mid[0] = (128<<24)|(195<<16)|(175<<8)|73; - mid[1] = (128<<24)|(195<<16)|(175<<8)|69; - mid[2] = (128<<24)|(195<<16)|(175<<8)|79; - mid[3] = (128<<24)|(195<<16)|(175<<8)|78; mdRunner tmp; + boolean waitfordone=true; + while(waitfordone) { + atomic{ + if(mybarr.done) + waitfordone=false; + } + } + for(int i=1;i