multi workers stress tests
(num_workers=50, device=None, pw=False)
| 22 | |
| 23 | |
| 24 | def run_loading_test(num_workers=50, device=None, pw=False): |
| 25 | """multi workers stress tests""" |
| 26 | set_determinism(seed=0) |
| 27 | if device is None: |
| 28 | device = "cuda:0" if torch.cuda.is_available() else "cpu" |
| 29 | train_ds = list(range(10000)) |
| 30 | train_loader = DataLoader(train_ds, batch_size=300, shuffle=True, num_workers=num_workers, persistent_workers=pw) |
| 31 | answer = [] |
| 32 | for _ in range(2): |
| 33 | np.testing.assert_equal(torch.cuda.memory_allocated(), 0) |
| 34 | for batch_data in train_loader: |
| 35 | x = batch_data.to(device) |
| 36 | mem = torch.cuda.memory_allocated() |
| 37 | np.testing.assert_equal(mem > 0 and mem < 5000, True) |
| 38 | answer.append(x[-1].item()) |
| 39 | del x |
| 40 | return answer |
| 41 | |
| 42 | |
| 43 | @skip_if_quick |
no test coverage detected
searching dependent graphs…