From ed97120db84bb4b3834741ff572e0597618a3af6 Mon Sep 17 00:00:00 2001 From: rarbore2 <rarbore2@illinois.edu> Date: Wed, 5 Mar 2025 17:45:15 -0600 Subject: [PATCH] More opts --- juno_samples/rodinia/cfd/src/cpu_euler.sch | 5 +++++ juno_samples/rodinia/cfd/src/cpu_pre_euler.sch | 5 +++++ juno_samples/rodinia/srad/src/cpu.sch | 16 +++++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/juno_samples/rodinia/cfd/src/cpu_euler.sch b/juno_samples/rodinia/cfd/src/cpu_euler.sch index 13125961..d9d3eb8c 100644 --- a/juno_samples/rodinia/cfd/src/cpu_euler.sch +++ b/juno_samples/rodinia/cfd/src/cpu_euler.sch @@ -57,5 +57,10 @@ if !feature("seq") { copy_vars = copy_vars_body; } +const-inline[false](*); +simpl!(*); +fork-split(compute_step_factor, compute_flux, time_step, copy_vars); unforkify(compute_step_factor, compute_flux, time_step, copy_vars); +simpl!(*); + gcm(*); diff --git a/juno_samples/rodinia/cfd/src/cpu_pre_euler.sch b/juno_samples/rodinia/cfd/src/cpu_pre_euler.sch index 858be5ba..3acee55b 100644 --- a/juno_samples/rodinia/cfd/src/cpu_pre_euler.sch +++ b/juno_samples/rodinia/cfd/src/cpu_pre_euler.sch @@ -64,5 +64,10 @@ if !feature("seq") { copy_vars = copy_vars_body; } +const-inline[false](*); +simpl!(*); +fork-split(compute_step_factor, compute_flux_contributions, compute_flux, time_step, copy_vars); unforkify(compute_step_factor, compute_flux_contributions, compute_flux, time_step, copy_vars); +simpl!(*); + gcm(*); 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