Usama-Zafar:

AssertionError: Default process group is not initialized


above suggests the init_process_group method is not called on the process that tries to use the distributed package. I think the follow line needs to be moved to the run method, and it is the entry point for the spawned process:
# Initialize Process Group
dist.init_process_group(backend="mpi", group_name="main")