One way is to allocate tensor with target dimension and then assign using slice operator
Following is an example,
t1_shape = t1.shape[0]
t2_shape = t2.shape[0]
second_dim_shape = t1.shape[1]
t = torch.zeros((t1_shape + t2_shape, second_dim))
t[:t1_shape,:] = t1
t[t1_shape:,:] = t2

I know that this is a very simple case and will get complicate for nd tensor.
I am not aware of efficient internal api for the same