From 180e61e5e41166859bfb0702a205f33d07d00837 Mon Sep 17 00:00:00 2001 From: Kaushik B Date: Fri, 23 Jul 2021 11:38:59 +0530 Subject: [PATCH 1/6] Raise exception for ddp_cpu not supported for TPUs --- .../trainer/connectors/accelerator_connector.py | 2 ++ tests/accelerators/test_tpu_backend.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/pytorch_lightning/trainer/connectors/accelerator_connector.py b/pytorch_lightning/trainer/connectors/accelerator_connector.py index 6250857bf5b7a..46d501e999889 100644 --- a/pytorch_lightning/trainer/connectors/accelerator_connector.py +++ b/pytorch_lightning/trainer/connectors/accelerator_connector.py @@ -742,6 +742,8 @@ def set_distributed_mode(self, distributed_backend: Optional[str] = None): # special case with DDP on CPUs if self.distributed_backend == "ddp_cpu": + if _TPU_AVAILABLE: + raise MisconfigurationException("`accelerator='ddp_cpu'` is not supported on TPUs") self._distrib_type = DistributedType.DDP_SPAWN if self.num_gpus > 0: rank_zero_warn( diff --git a/tests/accelerators/test_tpu_backend.py b/tests/accelerators/test_tpu_backend.py index c54d9bd905fb2..2d4fe8393bc81 100644 --- a/tests/accelerators/test_tpu_backend.py +++ b/tests/accelerators/test_tpu_backend.py @@ -264,3 +264,10 @@ def on_train_end(self, trainer, pl_module): for param, param_copy in zip(model.parameters(), model_copy.parameters()): assert not torch.equal(param.cpu().data, param_copy.data) + + +@RunIf(tpu=True) +def test_ddp_cpu_not_supported_on_tpus(): + + with pytest.raises(MisconfigurationException, match="`accelerator='ddp_cpu'` is not supported on TPUs"): + Trainer(accelerator="ddp_cpu") From 20dc9bc044f9bea2eb023a5a536388b107ce4b7a Mon Sep 17 00:00:00 2001 From: Kaushik B Date: Fri, 23 Jul 2021 13:44:23 +0530 Subject: [PATCH 2/6] Update exception --- pytorch_lightning/trainer/connectors/accelerator_connector.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/trainer/connectors/accelerator_connector.py b/pytorch_lightning/trainer/connectors/accelerator_connector.py index 46d501e999889..125a635ff0cbf 100644 --- a/pytorch_lightning/trainer/connectors/accelerator_connector.py +++ b/pytorch_lightning/trainer/connectors/accelerator_connector.py @@ -743,7 +743,7 @@ def set_distributed_mode(self, distributed_backend: Optional[str] = None): # special case with DDP on CPUs if self.distributed_backend == "ddp_cpu": if _TPU_AVAILABLE: - raise MisconfigurationException("`accelerator='ddp_cpu'` is not supported on TPUs") + raise MisconfigurationException("`accelerator='ddp_cpu'` is not supported on TPU machines") self._distrib_type = DistributedType.DDP_SPAWN if self.num_gpus > 0: rank_zero_warn( From ca8066f9bfa7edd1805fc361f22f88800a4d140f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20W=C3=A4lchli?= Date: Fri, 23 Jul 2021 15:08:04 +0200 Subject: [PATCH 3/6] update test --- tests/accelerators/test_tpu_backend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/accelerators/test_tpu_backend.py b/tests/accelerators/test_tpu_backend.py index 2d4fe8393bc81..8a5587c2a6e88 100644 --- a/tests/accelerators/test_tpu_backend.py +++ b/tests/accelerators/test_tpu_backend.py @@ -269,5 +269,5 @@ def on_train_end(self, trainer, pl_module): @RunIf(tpu=True) def test_ddp_cpu_not_supported_on_tpus(): - with pytest.raises(MisconfigurationException, match="`accelerator='ddp_cpu'` is not supported on TPUs"): + with pytest.raises(MisconfigurationException, match="`accelerator='ddp_cpu'` is not supported on TPU machines"): Trainer(accelerator="ddp_cpu") From eef685d6ed6a284285c3ad46dff33b5544753f41 Mon Sep 17 00:00:00 2001 From: Kaushik B <45285388+kaushikb11@users.noreply.github.com> Date: Mon, 26 Jul 2021 13:21:25 +0530 Subject: [PATCH 4/6] Update pytorch_lightning/trainer/connectors/accelerator_connector.py Co-authored-by: thomas chaton --- pytorch_lightning/trainer/connectors/accelerator_connector.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pytorch_lightning/trainer/connectors/accelerator_connector.py b/pytorch_lightning/trainer/connectors/accelerator_connector.py index 125a635ff0cbf..346133d673820 100644 --- a/pytorch_lightning/trainer/connectors/accelerator_connector.py +++ b/pytorch_lightning/trainer/connectors/accelerator_connector.py @@ -743,7 +743,9 @@ def set_distributed_mode(self, distributed_backend: Optional[str] = None): # special case with DDP on CPUs if self.distributed_backend == "ddp_cpu": if _TPU_AVAILABLE: - raise MisconfigurationException("`accelerator='ddp_cpu'` is not supported on TPU machines") + raise MisconfigurationException( + "`accelerator='ddp_cpu'` is not supported on TPU machines. " + "Learn more: https://github.com/PyTorchLightning/pytorch-lightning/issues/7810") self._distrib_type = DistributedType.DDP_SPAWN if self.num_gpus > 0: rank_zero_warn( From 01ab21ffb15fdc673958bad68c382913718329df Mon Sep 17 00:00:00 2001 From: Kaushik B Date: Mon, 26 Jul 2021 13:26:34 +0530 Subject: [PATCH 5/6] Update warning --- .../trainer/connectors/accelerator_connector.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pytorch_lightning/trainer/connectors/accelerator_connector.py b/pytorch_lightning/trainer/connectors/accelerator_connector.py index 346133d673820..2ea875a0c4e9a 100644 --- a/pytorch_lightning/trainer/connectors/accelerator_connector.py +++ b/pytorch_lightning/trainer/connectors/accelerator_connector.py @@ -744,8 +744,9 @@ def set_distributed_mode(self, distributed_backend: Optional[str] = None): if self.distributed_backend == "ddp_cpu": if _TPU_AVAILABLE: raise MisconfigurationException( - "`accelerator='ddp_cpu'` is not supported on TPU machines. " - "Learn more: https://github.com/PyTorchLightning/pytorch-lightning/issues/7810") + "`accelerator='ddp_cpu'` is not supported on TPU machines. " + "Learn more: https://github.com/PyTorchLightning/pytorch-lightning/issues/7810" + ) self._distrib_type = DistributedType.DDP_SPAWN if self.num_gpus > 0: rank_zero_warn( From 6a9a485f505393307c8e29ac5c71c728221064d1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 Jul 2021 10:05:59 +0000 Subject: [PATCH 6/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- docs/source/governance.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/governance.rst b/docs/source/governance.rst index 5c29f7d0da544..4114ccdb8a818 100644 --- a/docs/source/governance.rst +++ b/docs/source/governance.rst @@ -39,7 +39,7 @@ Board Alumni ------ -- Jeff Yang (`ydcjeff `_) +- Jeff Yang (`ydcjeff `_) - Jeff Ling (`jeffling `_) - Teddy Koker (`teddykoker `_) - Nate Raw (`nateraw `_)