thanks @ptrblck , but does it hold true for the backward case? Doesn’t autogrid make independent copies of b and b.T? Please correct me if I’m wrong. But if I’m right, then
case a) stores:  x, x.T, b, c
case b) stores: x, b.T, b, c
Since x.size()>> b.size(), case a) needs more memory for backward?