Skip to content
Snippets Groups Projects
Commit 78a7c974 authored by Russel Arbore's avatar Russel Arbore
Browse files

optimize edge

parent d5f4aace
No related branches found
No related tags found
1 merge request!210A whole bunch of optimization
Pipeline #201980 passed
...@@ -138,7 +138,7 @@ fn gradient<n, m, sb: usize>( ...@@ -138,7 +138,7 @@ fn gradient<n, m, sb: usize>(
let gx = 0; let gx = 0;
let gy = 0; let gy = 0;
for i = 0 to sb { @filter_loop for i = 0 to sb {
for j = 0 to sb { for j = 0 to sb {
let val = input[if row + i < sbr then 0 let val = input[if row + i < sbr then 0
else if row + i - sbr > n - 1 then n - 1 else if row + i - sbr > n - 1 then n - 1
......
...@@ -80,6 +80,15 @@ predication(gradient); ...@@ -80,6 +80,15 @@ predication(gradient);
simpl!(gradient); simpl!(gradient);
predication(gradient); predication(gradient);
simpl!(gradient); simpl!(gradient);
fork-dim-merge(gradient@filter_loop);
unforkify(gradient@filter_loop);
simpl!(gradient);
fork-dim-merge(gradient);
fork-tile[32, 0, false, true](gradient);
simpl!(gradient);
fork-split(gradient);
simpl!(gradient);
fixpoint { fixpoint {
forkify(max_gradient); forkify(max_gradient);
...@@ -115,6 +124,12 @@ fixpoint { ...@@ -115,6 +124,12 @@ fixpoint {
predication(reject_zero_crossings); predication(reject_zero_crossings);
simpl!(reject_zero_crossings); simpl!(reject_zero_crossings);
fork-dim-merge(reject_zero_crossings);
fork-tile[32, 0, false, true](reject_zero_crossings);
simpl!(reject_zero_crossings);
fork-split(reject_zero_crossings);
simpl!(reject_zero_crossings);
async-call(edge_detection@le, edge_detection@zc); async-call(edge_detection@le, edge_detection@zc);
simpl!(*); simpl!(*);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment