多 GPU 與分散式工作流程
EvoX 對分散式工作流程提供了實驗性支援,允許您在多個 GPU 甚至多台機器上執行任何一般的演化演算法。這可以顯著加速最佳化過程,特別是對於耗時的問題。
如何使用
要使用分散式工作流程,您需要進行一些設定:
- 請確保您已手動固定隨機數生成器的種子 (seed)。
torch.manual_seed(seed)
# Optional: set the seed for numpy
np.random.seed(seed)
# Optional: use deterministic algorithms
torch.use_deterministic_algorithms(True)
重要: 請務必在進行任何 torch 或 numpy 操作之前設定所有隨機數生成器的種子。這能確保隨機數生成器在執行任何操作前處於已知狀態。
- 使用
torch.distributed或torchrun指令來啟動您的腳本。例如:
torchrun
--standalone
--nnodes=1
--nproc-per-node=$NUM_GPUS
your_program.py (--arg1 ... train script args...)
提示:
torchrun是啟動分散式 torch 程式的推薦方式。如需更多資訊,請參閱 PyTorch 文件。