Max pooling along different axis?

Currently F.maxpool1d expects input of shape (N, C, H) and returns output of shape (N, C, H/p). Is there any way to perform this along the C axis, i.e. the output should be of size (N, C/p, H).

Current workaround I am using is to permute the last two dimensions and have to use contiguous for that. Wanted to know if there is some easier workaround. Else I will file a feature request.