An example of this happening: the add kernel receives a (1,2) tensor and a (2,2) tensor. These are broadcastable, but catgrad convention is that broadcasting must be explicit.
Proposed fix:
- Add an associated Error type to
Backend
- Return
Result from each backend kernel
- Modify interpreter to handle kernel error cases (propagate up to interpreter error type)
An example of this happening: the
addkernel receives a (1,2) tensor and a (2,2) tensor. These are broadcastable, but catgrad convention is that broadcasting must be explicit.Proposed fix:
BackendResultfrom each backend kernel