From 3565d96d31fa97f32892548167b359843fafb6dc Mon Sep 17 00:00:00 2001 From: Russel Arbore <russel.jma@gmail.com> Date: Fri, 28 Feb 2025 14:28:50 -0600 Subject: [PATCH] Tweak edge multi-core --- juno_samples/edge_detection/src/cpu.sch | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/juno_samples/edge_detection/src/cpu.sch b/juno_samples/edge_detection/src/cpu.sch index 4bd3254b..ec9e423d 100644 --- a/juno_samples/edge_detection/src/cpu.sch +++ b/juno_samples/edge_detection/src/cpu.sch @@ -86,7 +86,7 @@ fixpoint { simpl!(max_gradient); fork-dim-merge(max_gradient); simpl!(max_gradient); -fork-tile[8, 0, false, false](max_gradient); +fork-tile[16, 0, false, false](max_gradient); let split = fork-split(max_gradient); clean-monoid-reduces(max_gradient); let out = outline(split._4_max_gradient.fj1); @@ -104,11 +104,18 @@ fixpoint { } predication(reject_zero_crossings); simpl!(reject_zero_crossings); +fork-tile[4, 1, false, false](reject_zero_crossings); +fork-tile[4, 0, false, false](reject_zero_crossings); +fork-interchange[1, 2](reject_zero_crossings); +let split = fork-split(reject_zero_crossings); +let reject_zero_crossings_body = outline(split._5_reject_zero_crossings.fj2); +fork-coalesce(reject_zero_crossings, reject_zero_crossings_body); +simpl!(reject_zero_crossings, reject_zero_crossings_body); async-call(edge_detection@le, edge_detection@zc); -fork-split(gaussian_smoothing_body, laplacian_estimate_body, zero_crossings_body, gradient, reject_zero_crossings); -unforkify(gaussian_smoothing_body, laplacian_estimate_body, zero_crossings_body, gradient, reject_zero_crossings); +fork-split(gaussian_smoothing_body, laplacian_estimate_body, zero_crossings_body, gradient, reject_zero_crossings_body); +unforkify(gaussian_smoothing_body, laplacian_estimate_body, zero_crossings_body, gradient, reject_zero_crossings_body); simpl!(*); -- GitLab