I just found that the kernel size of max Pool seems to be completely arbitrary, i.e. if my input tensor is
t = torch.ones(1, 30, 40)

then I can still apply a max Pooling like
mp = torch.nn.MaxPool2d(40, 20)
mp(t) = tensor([[[1.]]])

why is that? the default stride is equal to the kernel size, so i expected at least 2 output values since the kernel would move two times along the width