From ec7acb5ae567b996f8056a74f5e70da840be3be6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20W=C3=A4lchli?= Date: Mon, 21 Nov 2022 12:19:47 +0100 Subject: [PATCH] Speed up subprocess launch (#15738) --- .../strategies/launchers/subprocess_script.py | 7 ------- .../strategies/launchers/subprocess_script.py | 7 ------- .../strategies/launchers/test_subprocess_script.py | 3 +-- 3 files changed, 1 insertion(+), 16 deletions(-) diff --git a/src/lightning_lite/strategies/launchers/subprocess_script.py b/src/lightning_lite/strategies/launchers/subprocess_script.py index 07af414e23..6a521f3638 100644 --- a/src/lightning_lite/strategies/launchers/subprocess_script.py +++ b/src/lightning_lite/strategies/launchers/subprocess_script.py @@ -14,10 +14,8 @@ import os import subprocess import sys -from time import sleep from typing import Any, Callable, Sequence -import numpy as np from lightning_utilities.core.imports import RequirementCache from lightning_lite.plugins.environments.cluster_environment import ClusterEnvironment @@ -126,11 +124,6 @@ class _SubprocessScriptLauncher(_Launcher): command = _basic_subprocess_cmd() subprocess.Popen(command, env=env_copy) - # starting all processes at once can cause issues - # with dataloaders delay between 1-10 seconds - delay = np.random.uniform(1, 5, 1)[0] - sleep(delay) - def _check_can_spawn_children(self) -> None: if self.cluster_environment.local_rank() != 0: raise RuntimeError( diff --git a/src/pytorch_lightning/strategies/launchers/subprocess_script.py b/src/pytorch_lightning/strategies/launchers/subprocess_script.py index b5f4d39973..354fcc9227 100644 --- a/src/pytorch_lightning/strategies/launchers/subprocess_script.py +++ b/src/pytorch_lightning/strategies/launchers/subprocess_script.py @@ -13,10 +13,8 @@ # limitations under the License. import os import subprocess -from time import sleep from typing import Any, Callable, Optional -import numpy as np from lightning_utilities.core.imports import RequirementCache import pytorch_lightning as pl @@ -123,11 +121,6 @@ class _SubprocessScriptLauncher(_Launcher): subprocess.Popen(command, env=env_copy) - # starting all processes at once can cause issues - # with dataloaders delay between 1-10 seconds - delay = np.random.uniform(1, 5, 1)[0] - sleep(delay) - def _check_can_spawn_children(self) -> None: if self.cluster_environment.local_rank() != 0: raise RuntimeError( diff --git a/tests/tests_lite/strategies/launchers/test_subprocess_script.py b/tests/tests_lite/strategies/launchers/test_subprocess_script.py index 1b2e4360e2..69fb8ea468 100644 --- a/tests/tests_lite/strategies/launchers/test_subprocess_script.py +++ b/tests/tests_lite/strategies/launchers/test_subprocess_script.py @@ -47,9 +47,8 @@ def test_subprocess_script_launcher_external_processes(popen_mock): popen_mock.assert_not_called() -@mock.patch("lightning_lite.strategies.launchers.subprocess_script.sleep") @mock.patch("lightning_lite.strategies.launchers.subprocess_script.subprocess.Popen") -def test_subprocess_script_launcher_launch_processes(popen_mock, _): +def test_subprocess_script_launcher_launch_processes(popen_mock): cluster_env = Mock() cluster_env.creates_processes_externally = False cluster_env.local_rank.return_value = 0