Maybe This thread 43 can help you.
BTW, this snippet works for your case:
import torch
def same_storage(x, y):
	x_ptrs = set(e.data_ptr() for e in x.view(-1))
	y_ptrs = set(e.data_ptr() for e in y.view(-1))
	return (x_ptrs <= y_ptrs) or (y_ptrs <= x_ptrs)

same_storage(parent, child1) # False
same_storage(parent, child2) # True
same_storage(parent, child3) # True