1. A data scientist uses `TorchDistributor` to run distributed PyTorch training on a Databricks cluster that has 4 worker nodes, each with 2 GPUs. They want to use all available GPUs for training. How should they configure `TorchDistributor`?
- A. TorchDistributor(num_processes=4, local_mode=False, use_gpu=True)
- B. TorchDistributor(num_processes=8, local_mode=False, use_gpu=True)✓ Correct
- C. TorchDistributor(num_processes=8, local_mode=True, use_gpu=True)
- D. TorchDistributor(num_processes=2, local_mode=False, use_gpu=True)
Explanation
To use all available GPUs across the cluster, num_processes should equal the total number of GPUs: 4 workers × 2 GPUs = 8 processes. local_mode=False is required to distribute training across multiple nodes (local_mode=True would restrict training to the driver node only, using at most 2 GPUs). use_gpu=True ensures GPU resources are allocated. Option A uses num_processes=4, which would only use one GPU per worker — underutilizing the hardware. Option C uses num_processes=8 but local_mode=True, which confines execution to the driver node and cannot access 8 GPUs. Option D uses num_processes=2, which only uses 2 GPUs total regardless of available hardware.