You need to sign in or sign up before continuing.
Make forwardDims() optional and handle data dependency
Should address and close #16 (closed), #48 (closed), #92 (closed) and #95 (closed):
- 
#16 (closed): re-focus the goal of 
compile()function, less centered aroundforwardDims(). - 
#48 (closed): remove the 
associateInput()execution path offorwardDims(), therefore decoupling the two mechanisms, leaving much clearer error checking. - 
#92 (closed): 
forwardDims()does not fail anymore if some operator cannot compute output dims (e.g.GenericOperator), but simply return false. - 
#95 (closed): enable scheduling of output dims data dependent graphs using tokens, by making 
forwardDims()optional in this case. 
Changes:
- Renamed 
computeOutputDims()toforwardDims(), for consistency withGraphView::forwardDims(). - Added 
allowDataDependencytoforwardDims(), for handling of output dims data dependent operators. - Removed 
associateInput()fromforwardDims(): only keep assertions, as input association should be properly handled outside this function.- Adapted 
Identityoperator to work properly withoutforwardDims(). 
 - Adapted 
 - Added 
forwardDims()call inOperatorTensor::forward()if output dims are not forwarded. - 
forwardDims()is now fully optional, removed the call when not necessary. - Added default implementation for several operators, see &2.
 
Edited  by Olivier BICHLER