diff --git a/juno_samples/cava/src/cava.jn b/juno_samples/cava/src/cava.jn index 839e80e201b1eb3cf5c477a9df4cdf04fe0401c7..e6961faf01bc90114186e3ea72b6b9671e2758d4 100644 --- a/juno_samples/cava/src/cava.jn +++ b/juno_samples/cava/src/cava.jn @@ -153,7 +153,7 @@ fn gamut<row : usize, col : usize, num_ctrl_pts : usize>( l2_dist[cp] = sqrt!::<f32>(v); } - for chan = 0 to CHAN { + @channel_loop for chan = 0 to CHAN { let chan_val : f32 = 0.0; for cp = 0 to num_ctrl_pts { chan_val += l2_dist[cp] * weights[cp, chan]; diff --git a/juno_samples/cava/src/cpu.sch b/juno_samples/cava/src/cpu.sch index e9e3e683433d37a565544208b8f796c361891bff..3021f6a0fc367e2656293460c3392efeccad909a 100644 --- a/juno_samples/cava/src/cpu.sch +++ b/juno_samples/cava/src/cpu.sch @@ -99,6 +99,9 @@ fixpoint { fork-coalesce(fuse4); } simpl!(fuse4); +fork-unroll(fuse4@channel_loop); +simpl!(fuse4); +//fork-fusion(fuse4@channel_loop); fork-split(fuse4); unforkify(fuse4);