Yes we want to profile runtime of single ops, when it makes sense.
(and for everything in the computation graph, actually).
I assume that gradients for mul are already created in autograd and its just a matter of accumulating it (==copy? or something similar) in a leaf or not.
Maybe for div() (or some other other in-place ops) its more notable.