-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Assuming my understanding is correct:
The delete-instructions reduce the memory footprint of cached results. They are pre-computed on network-construction (in compile()
). They are inserted between operation nodes in the (Network.steps
) attribute, independent of the DAG. The criteria to insert such a delete-instruction is if a need is not used by any other operation further down the DAG. The cache is not reused across compute()
invocations, so any memory-reductions are for as long as a single computation runs.
On compute-time, the network is pruned based on:
- given input,
- requested output.
With #18 merged, unsatisfied operations working, it is quite probable that more delete-instructions can fit into the steps
list after pruning. And it would make sense to re-ru it before each rerun.