Going back to the initial question - would it be difficult to add another function that measures the allocated memory but is resettable too?
Here is the tracemalloc.get_traced_memory() sample again:
import tracemalloc
tracemalloc.start()
do_someting_that_consumes_ram_and releases_some()
# show how much RAM the above code allocated and the peak usage
current, peak =  tracemalloc.get_traced_memory()
print(f"{current:0.2f}, {peak:0.2f}")
tracemalloc.stop()

So with your patch we now have peak covered, by resetting torch.cuda.reset_max_memory_allocated() before a code to be profiled is run. But the only way to measure the consumed memory by the same code currently is to force clear_cache before and after the code is run. Note, consumed measures how much allocated minus freed a given piece of code generated, disregarding the caching mechanism.
Except, of course, it must leave torch.cuda.memory_allocated() alone, since we don’t want to break that functionality. so it’ll require 2 functions, one that measures and one that that resets it.