From dfcb25fff16ef08a52c77ad01ff60e2c980cc93d Mon Sep 17 00:00:00 2001 From: Russel Arbore <russel.jma@gmail.com> Date: Wed, 5 Mar 2025 22:37:33 -0600 Subject: [PATCH] cava gpu dont_fuse_gamut --- juno_samples/cava/src/gpu.sch | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/juno_samples/cava/src/gpu.sch b/juno_samples/cava/src/gpu.sch index 0ef466c0..0981804f 100644 --- a/juno_samples/cava/src/gpu.sch +++ b/juno_samples/cava/src/gpu.sch @@ -109,18 +109,25 @@ fixpoint { fork-coalesce(fuse4); } simpl!(fuse4); -fork-unroll(fuse4@channel_loop); -simpl!(fuse4); -fixpoint { - fork-fusion(fuse4@channel_loop); + +if !feature("dont_fuse_gamut") { + fork-unroll(fuse4@channel_loop); + simpl!(fuse4); + fixpoint { + fork-fusion(fuse4@channel_loop); + } + simpl!(fuse4); } -simpl!(fuse4); array-slf(fuse4); simpl!(fuse4); -fork-tile[2, 0, false, true](fuse4@channel_loop); -let out = fork-split(fuse4@channel_loop); -fork-unroll(out.cava_3.fj1); -unforkify(fuse4@channel_loop); +unforkify(fuse4@channel_loop | fuse4@cp_loop); + +fork-tile[4, 1, false, true](fuse4); +fork-tile[8, 0, false, true](fuse4); +fork-interchange[1, 2](fuse4); +let split = fork-split(fuse4); +fork-coalesce(split.cava_3.fj0 \ split.cava_3.fj2); +fork-coalesce(split.cava_3.fj2); no-memset(fuse5@res1); no-memset(fuse5@res2); @@ -133,13 +140,6 @@ simpl!(fuse5); array-slf(fuse5); simpl!(fuse5); -fork-tile[4, 1, false, true](fuse4); -fork-tile[8, 0, false, true](fuse4); -fork-interchange[1, 2](fuse4); -let split = fork-split(fuse4); -fork-coalesce(split.cava_3.fj0 \ split.cava_3.fj2); -fork-coalesce(split.cava_3.fj2); - delete-uncalled(*); simpl!(*); -- GitLab