Skip to content
Snippets Groups Projects
Commit 634e17e9 authored by Aaron Councilman's avatar Aaron Councilman
Browse files

More parallelism for backprop

parent be6c3a90
No related branches found
No related tags found
2 merge requests!215Large benches,!214More optimizations
Pipeline #202029 passed
...@@ -42,12 +42,25 @@ let (outer, inner) = fork-reshape[[1], [0]](forward_input@outer_loop \ forward_i ...@@ -42,12 +42,25 @@ let (outer, inner) = fork-reshape[[1], [0]](forward_input@outer_loop \ forward_i
let forward_input = outline(inner); let forward_input = outline(inner);
inline(backprop@forward_input); inline(backprop@forward_input);
// The first call to adjust_weights has total loop dimensions of 1 * 17, so not
// worth parallelizing (given that the body is trivial)
// The second call to adjust_weights has a total dimension of 16 * (input + 1)
// which is worth parallelizing, we'll do it by 16
inline(backprop@adjust_hidden, backprop@adjust_input);
let adjust_hidden = outline(backprop@adjust_hidden);
let adjust_input = outline(backprop@adjust_input);
fork-tile[16, 0, false, true](adjust_input);
let (outer, inner) = fork-reshape[[1], [0, 2]](adjust_input);
let adjust_input = outline(inner);
inline(backprop@adjust_input);
delete-uncalled(*); delete-uncalled(*);
const-inline(*); const-inline(*);
simpl!(*); simpl!(*);
fork-split(*); fork-split(*);
unforkify(output_error, hidden_error, adjust_weights, forward_hidden, forward_input); unforkify(output_error, hidden_error, adjust_hidden, adjust_input, forward_hidden, forward_input);
simpl!(*); simpl!(*);
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