From: adam Date: Tue, 4 Nov 2008 07:41:03 +0000 (+0100) Subject: add partial support for writeback to mergesort demo X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=e1b5d817b2f55a43b885104afe7ebf72cf34bb7e;p=fleet.git add partial support for writeback to mergesort demo --- diff --git a/src/edu/berkeley/fleet/ir/Process.java b/src/edu/berkeley/fleet/ir/Process.java index eb31fc2..c864931 100644 --- a/src/edu/berkeley/fleet/ir/Process.java +++ b/src/edu/berkeley/fleet/ir/Process.java @@ -480,13 +480,16 @@ public class Process { vals[i] = Math.abs(random.nextInt()); } + Ship mem1 = fleet.getShip("Memory", 1); + Ship mem2 = fleet.getShip("Memory", 2); + FleetProcess fp; int stride = 1; fp = null; while(stride < vals.length) { if (fp==null) fp = fleet.run(new Instruction[0]); System.out.println("stride " + stride); - vals = mergeSort(fp, fleet, vals, stride); + vals = mergeSort(fp, fleet, vals, stride, mem1, mem2); stride = stride * 2; //fp.terminate(); fp = null; System.out.println(); @@ -568,13 +571,14 @@ public class Process { } // FIXME: numbers seem to get duplicated when stride=2 - public static long[] mergeSort(FleetProcess fp, Fleet fleet, long[] vals, int stride_length) throws Exception { + public static long[] mergeSort(FleetProcess fp, Fleet fleet, + long[] vals, int stride_length, + Ship memoryShip1, Ship memoryShip2) throws Exception { BitVector[] mem = new BitVector[vals.length]; for(int i=0; i