From 74d6d375bd699dd186478ab601d9b33826711ab0 Mon Sep 17 00:00:00 2001
From: Aaron Councilman <aaronjc4@illinois.edu>
Date: Wed, 5 Mar 2025 11:23:53 -0600
Subject: [PATCH 1/2] Fix backprop and matmul cpu schedules

---
 juno_samples/matmul/src/matmul.sch        |  8 ++++++--
 juno_samples/rodinia/backprop/src/cpu.sch | 10 ++++++----
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/juno_samples/matmul/src/matmul.sch b/juno_samples/matmul/src/matmul.sch
index 6867576e..e6fe7bc8 100644
--- a/juno_samples/matmul/src/matmul.sch
+++ b/juno_samples/matmul/src/matmul.sch
@@ -25,6 +25,10 @@ macro forkify!(X) {
   }
 }
 
+macro fork-chunk![n](X) {
+  fork-tile[n, 0, false, false](X);
+}
+
 macro fork-tile![n](X) {
   fork-tile[n, 0, false, true](X);
 }
@@ -66,8 +70,8 @@ if feature("cuda") {
 
   // Parallelize by computing output array as 16 chunks
   let par = matmul@outer \ matmul@inner;
-  fork-tile![4](par);
-  let (outer, inner, _) = fork-reshape[[1, 3], [0], [2]](par);
+  fork-chunk![4](par);
+  let (outer, inner, _) = fork-reshape[[0, 2], [1], [3]](par);
   parallelize!(outer \ inner);
 
   let body = outline(inner);
diff --git a/juno_samples/rodinia/backprop/src/cpu.sch b/juno_samples/rodinia/backprop/src/cpu.sch
index 4796f427..00eeb8cf 100644
--- a/juno_samples/rodinia/backprop/src/cpu.sch
+++ b/juno_samples/rodinia/backprop/src/cpu.sch
@@ -38,8 +38,8 @@ let forward_input = outline(backprop@forward_input);
 let forward_hidden = outline(backprop@forward_hidden);
 
 if !feature("seq") {
-  fork-tile[16, 0, false, true](forward_input@outer_loop \ forward_input@inner_loop);
-  let (outer, inner) = fork-reshape[[1], [0]](forward_input@outer_loop \ forward_input@inner_loop);
+  fork-tile[16, 0, false, false](forward_input@outer_loop \ forward_input@inner_loop);
+  let (outer, inner) = fork-reshape[[0], [1]](forward_input@outer_loop \ forward_input@inner_loop);
   forward_input = outline(inner);
   inline(backprop@forward_input);
 }
@@ -53,12 +53,14 @@ let adjust_hidden = outline(backprop@adjust_hidden);
 let adjust_input = outline(backprop@adjust_input);
 
 if !feature("seq") {
-  fork-tile[16, 0, false, true](adjust_input);
-  let (outer, inner) = fork-reshape[[1], [0, 2]](adjust_input);
+  fork-tile[16, 0, false, false](adjust_input);
+  let (outer, inner) = fork-reshape[[0], [1, 2]](adjust_input);
   adjust_input = outline(inner);
   inline(backprop@adjust_input);
 }
 
+xdot[true](*);
+
 delete-uncalled(*);
 const-inline(*);
 
-- 
GitLab


From 63040c6fe651ceb2b99db72127d360d2bd94fb8f Mon Sep 17 00:00:00 2001
From: Aaron Councilman <aaronjc4@illinois.edu>
Date: Wed, 5 Mar 2025 11:29:05 -0600
Subject: [PATCH 2/2] xdot

---
 juno_samples/rodinia/backprop/src/cpu.sch | 2 --
 1 file changed, 2 deletions(-)

diff --git a/juno_samples/rodinia/backprop/src/cpu.sch b/juno_samples/rodinia/backprop/src/cpu.sch
index 00eeb8cf..cbdd90fd 100644
--- a/juno_samples/rodinia/backprop/src/cpu.sch
+++ b/juno_samples/rodinia/backprop/src/cpu.sch
@@ -59,8 +59,6 @@ if !feature("seq") {
   inline(backprop@adjust_input);
 }
 
-xdot[true](*);
-
 delete-uncalled(*);
 const-inline(*);
 
-- 
GitLab