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

Need LTE in loop-bound-canon for backprop

parent 8b03a25a
No related branches found
No related tags found
1 merge request!202Round 1 of rodinia schedule optimization
Pipeline #201892 passed
...@@ -4,7 +4,7 @@ fn squash(x: f32) -> f32 { ...@@ -4,7 +4,7 @@ fn squash(x: f32) -> f32 {
} }
fn layer_forward<n, m: usize>(vals: f32[n + 1], weights: f32[n + 1, m + 1]) -> f32[m + 1] { fn layer_forward<n, m: usize>(vals: f32[n + 1], weights: f32[n + 1, m + 1]) -> f32[m + 1] {
let result : f32[m + 1]; @res let result : f32[m + 1];
result[0] = 1.0; result[0] = 1.0;
for j in 1..=m { for j in 1..=m {
......
gvn(*); macro simpl!(X) {
dce(*); ccp(X);
phi-elim(*); simplify-cfg(X);
dce(*); lift-dc-math(X);
crc(*); gvn(X);
dce(*); phi-elim(X);
slf(*); dce(X);
dce(*); infer-schedules(X);
}
let auto = auto-outline(backprop); simpl!(*);
cpu(auto.backprop); inline(layer_forward);
inline(auto.backprop);
inline(auto.backprop);
delete-uncalled(*); delete-uncalled(*);
sroa[true](*); no-memset(layer_forward@res);
dce(*); lift-dc-math(*);
float-collections(*); loop-bound-canon(*);
reuse-products(*); fixpoint {
dce(*); forkify(*);
fork-guard-elim(*);
fork-coalesce(*);
}
gcm(*); gcm(*);
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