From 91eeb3b7a5642ac23ae367040dc96b93e8540e1f Mon Sep 17 00:00:00 2001 From: Russel Arbore <rarbore2@illinois.edu> Date: Wed, 5 Mar 2025 17:39:11 -0600 Subject: [PATCH] parallelize sum reduction in srad --- juno_samples/rodinia/srad/src/cpu.sch | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/juno_samples/rodinia/srad/src/cpu.sch b/juno_samples/rodinia/srad/src/cpu.sch index 8fa22aaa..5487355d 100644 --- a/juno_samples/rodinia/srad/src/cpu.sch +++ b/juno_samples/rodinia/srad/src/cpu.sch @@ -28,14 +28,28 @@ fixpoint { fork-guard-elim(*); fork-coalesce(*); } +fork-dim-merge(loop1); simpl!(*); -fork-interchange[0, 1](loop1); reduce-slf(*); simpl!(*); slf(*); simpl!(*); if !feature("seq") { + fork-tile[32, 0, false, false](loop1); + simpl!(loop1); + let split = fork-split(loop1); + simpl!(loop1); + clean-monoid-reduces(loop1); + let loop1_body = outline(split.srad_0.fj1); + simpl!(loop1, loop1_body); + unforkify(loop1_body); + let fission = fork-fission[split.srad_0.fj0](loop1); + simpl!(loop1, loop1_body); + unforkify(fission.srad_0.fj_bottom); + simpl!(loop1, loop1_body); + loop1 = loop1_body; + fork-tile[32, 0, false, false](loop2); let split = fork-split(loop2); let loop2_body = outline(split.srad_1.fj1); -- GitLab