not sure, that’s rather a common practice for high performance c++ programming - using specialized allocators tuned for program’s allocation patterns. with cuda’s limited memory it is even more essential, mostly to decrease fragmentation.
but, yeah, this happens to be documented - CUDA semantics — PyTorch master documentation