The majority of PyTorch layers use tensors with the batch dimension in dim0.
The typical multi-class classification output would have a shape of [batch_size, nb_classes], and you would calculate the probability for each class in each sample:
batch_size = 2
nb_classes = 3
x = torch.randn(batch_size, nb_classes)
prob = F.softmax(x, dim=1)
print(prob)
> tensor([[0.6935, 0.1843, 0.1223],
          [0.8212, 0.0705, 0.1083]])

Here you can see that for sample0, class0 has a probability of 69.35%, class1 18.43%, and class2 12.23%.
If you are using F.softmax or F.log_softmax with dim=0, you would calculate the (log) probability in the batch dimension.
prob = F.softmax(x, dim=0)
print(prob)
> tensor([[0.2748, 0.5397, 0.3364],
          [0.7252, 0.4603, 0.6636]])

Now you are looking at: for class0, sample0 has a probability of 27.48%, while sample1 has 72.52%.
RNNs are an exception and are using the temporal dimension in dim0, so it might depend on your use case, if you want to apply the (log)softmax in this dimension.