I think using torch.manual_seed is necessary to ensure that the results are the same, but not necessarily sufficient. For example, you might need to also run in deterministic mode (see this page for more details: Reproducibility — PyTorch 1.9.1 documentation 1).
Additionally, mixing other random number generators (e.g., numpy) might be an issue if they do not use the manual seed set with torch.manual_seed.