Dataloader shuffle_rng logic bug under multi-gpu settings?
- Dominant language
- Cuda
- Stars
- 31k
- Forks
- 3.8k
- PR merge metrics
- No merged PRs in 30d
Description
It seems that each process under a multi-gpu train run uses a different seed for data shuffling (42 + process_rank as seen in dataloader.h line 172). This results in different random permutations of shard_indices as well as intra_shard_indices for processes and potentially leads to overlapping data load.
Is this expected? I would have expected random seeds for data shuffling to be the same for all processes.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at dataloader.h line 172 and trace how process_rank affects shuffle_rng for shard_indices and intra_shard_indices during multi-GPU training. Reproduce the behavior across processes and determine whether the differing permutations can cause overlapping data. Done means the behavior is confirmed as expected or the issue is narrowed to a validated correction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- distributed-systems, machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100