gspr:

Why isn’t it just the responsibility of backward to compute dy/dx (at the given point)?


Because in most cases, computing dL/dx given dL/dy is computationally cheaper and what people want in optimizing a scalar objective.