def get_rank(default: int = 0) -> int:
for key in [
"LOCAL_RANK", # PyTorch Lightning
"RANK", # torchrun / deepspeed / pytorch launcher
"OMPI_COMM_WORLD_RANK", # OpenMPI
"PMI_RANK", # MPICH / Intel MPI
"MV2_COMM_WORLD_RANK", # MVAPICH2
"SLURM_PROCID", # Slurm
]:
Describe the bug
ABCI のジョブ内で aiaccel-train を実行すると、rank に依らずに get_rank が 0(default) を返します
以下のように、get_rank 内で LOCAL_RANK を参照するようにすると、正常に rank を返すようになります
Expected behavior
ABCI のジョブ内でも、get_rank が rank 毎に正しい rank を返してほしいです
Additional context
参考 pytorch lightning の _get_rank
https://github.com/Lightning-AI/pytorch-lightning/blob/c05cadbe5be3bfa8bacbd9d7e912fa2e456413ff/src/lightning/fabric/utilities/rank_zero.py#L35-L44