From 51df4aa2a40200a3f0db1a4764dd5aca2f7b9609 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Wed, 24 Feb 2021 08:19:34 +0100 Subject: [PATCH 01/11] enable parallel tests --- .circleci/unittest/linux/scripts/environment.yml | 1 + .circleci/unittest/linux/scripts/run_test.sh | 2 +- .circleci/unittest/windows/scripts/environment.yml | 1 + .circleci/unittest/windows/scripts/run_test.sh | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.circleci/unittest/linux/scripts/environment.yml b/.circleci/unittest/linux/scripts/environment.yml index dcad1abfa31..e8628b480e6 100644 --- a/.circleci/unittest/linux/scripts/environment.yml +++ b/.circleci/unittest/linux/scripts/environment.yml @@ -6,6 +6,7 @@ channels: dependencies: - pytest - pytest-cov + - pytest-xdist - codecov - pip - libpng diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index 419b9eb562c..203992ac619 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -7,4 +7,4 @@ conda activate ./env export PYTORCH_TEST_WITH_SLOW='1' python -m torch.utils.collect_env -pytest --cov=torchvision --junitxml=test-results/junit.xml -v --durations 20 test --ignore=test/test_datasets_download.py +pytest -n=auto --cov=torchvision --junitxml=test-results/junit.xml -v --durations 20 test --ignore=test/test_datasets_download.py diff --git a/.circleci/unittest/windows/scripts/environment.yml b/.circleci/unittest/windows/scripts/environment.yml index b4f32cb3cad..d9ddafaa60c 100644 --- a/.circleci/unittest/windows/scripts/environment.yml +++ b/.circleci/unittest/windows/scripts/environment.yml @@ -5,6 +5,7 @@ channels: - conda-forge dependencies: - pytest + - pytest-xdist - pytest-cov - codecov - pip diff --git a/.circleci/unittest/windows/scripts/run_test.sh b/.circleci/unittest/windows/scripts/run_test.sh index 96d9cbd6b2d..3f801cfee42 100644 --- a/.circleci/unittest/windows/scripts/run_test.sh +++ b/.circleci/unittest/windows/scripts/run_test.sh @@ -7,4 +7,4 @@ conda activate ./env export PYTORCH_TEST_WITH_SLOW='1' python -m torch.utils.collect_env -pytest --cov=torchvision --junitxml=test-results/junit.xml -v --durations 20 test --ignore=test/test_datasets_download.py +pytest -n=auto --cov=torchvision --junitxml=test-results/junit.xml -v --durations 20 test --ignore=test/test_datasets_download.py From 15d60c6989d3e2d3fa8f86cc2c220e501ae00f20 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Wed, 24 Feb 2021 08:52:19 +0100 Subject: [PATCH 02/11] disable parallelism for GPU tests --- .circleci/unittest/linux/scripts/run_test.sh | 15 ++++++++++++++- .circleci/unittest/windows/scripts/run_test.sh | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index 203992ac619..99ede7ec2c3 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -6,5 +6,18 @@ eval "$(./conda/bin/conda shell.bash hook)" conda activate ./env export PYTORCH_TEST_WITH_SLOW='1' +if [ "${CU_VERSION:-}" == cpu ] ; then + NUMPROCESSES="auto" +else + NUMPROCESSES="1" +fi + python -m torch.utils.collect_env -pytest -n=auto --cov=torchvision --junitxml=test-results/junit.xml -v --durations 20 test --ignore=test/test_datasets_download.py +pytest \ + --numprocesses=$NUMPROCESSES \ + --cov=torchvision \ + --junitxml=test-results/junit.xml \ + --verbose \ + --durations 20 \ + --ignore=test/test_datasets_download.py \ + test diff --git a/.circleci/unittest/windows/scripts/run_test.sh b/.circleci/unittest/windows/scripts/run_test.sh index 3f801cfee42..2939b74867c 100644 --- a/.circleci/unittest/windows/scripts/run_test.sh +++ b/.circleci/unittest/windows/scripts/run_test.sh @@ -6,5 +6,18 @@ eval "$(./conda/Scripts/conda.exe 'shell.bash' 'hook')" conda activate ./env export PYTORCH_TEST_WITH_SLOW='1' +if [ "${CU_VERSION:-}" == cpu ] ; then + NUMPROCESSES="auto" +else + NUMPROCESSES="1" +fi + python -m torch.utils.collect_env -pytest -n=auto --cov=torchvision --junitxml=test-results/junit.xml -v --durations 20 test --ignore=test/test_datasets_download.py +pytest \ + --numprocesses=$NUMPROCESSES \ + --cov=torchvision \ + --junitxml=test-results/junit.xml \ + --verbose \ + --durations 20 \ + --ignore=test/test_datasets_download.py \ + test From b0670f1a3a4a51972d3664f8514a574e2880ad7c Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Wed, 24 Feb 2021 09:17:27 +0100 Subject: [PATCH 03/11] [test] limit maximum processes on linux --- .circleci/unittest/linux/scripts/run_test.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index 99ede7ec2c3..31c5a6498be 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -15,6 +15,7 @@ fi python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ + --maxprocesses=8 \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ From bc05f7cd1b60d1dc54273cd03f9c16bfb09125f6 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Wed, 24 Feb 2021 10:29:40 +0100 Subject: [PATCH 04/11] [debug] limit max processes even further --- .circleci/unittest/linux/scripts/run_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index 31c5a6498be..1a2b74501eb 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -15,7 +15,7 @@ fi python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ - --maxprocesses=8 \ + --maxprocesses=2 \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ From 754f3c0bf4f6911165713f922506d1c3b23b89ef Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Wed, 24 Feb 2021 11:04:50 +0100 Subject: [PATCH 05/11] [test] use subprocesses over threads --- .circleci/unittest/linux/scripts/run_test.sh | 2 +- .circleci/unittest/windows/scripts/run_test.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index 1a2b74501eb..3c603d6be6c 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -15,7 +15,7 @@ fi python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ - --maxprocesses=2 \ + --boxed \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ diff --git a/.circleci/unittest/windows/scripts/run_test.sh b/.circleci/unittest/windows/scripts/run_test.sh index 2939b74867c..318f4444e01 100644 --- a/.circleci/unittest/windows/scripts/run_test.sh +++ b/.circleci/unittest/windows/scripts/run_test.sh @@ -15,6 +15,7 @@ fi python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ + --boxed \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ From 6c01b2deb48640e66f81cc0f898c1c7c41d64b7e Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Wed, 24 Feb 2021 11:26:58 +0100 Subject: [PATCH 06/11] [test] limit intra-op threads --- .circleci/unittest/linux/scripts/run_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index 3c603d6be6c..56e8ca4b793 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -11,11 +11,11 @@ if [ "${CU_VERSION:-}" == cpu ] ; then else NUMPROCESSES="1" fi +export OMP_NUM_THREADS="1" python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ - --boxed \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ From 654b23f9dd0ae96f1c73a8e2ee7266fb588cc19e Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Wed, 24 Feb 2021 11:37:10 +0100 Subject: [PATCH 07/11] only limit intra op threads for CPU tests --- .circleci/unittest/linux/scripts/run_test.sh | 2 +- .circleci/unittest/windows/scripts/run_test.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index 56e8ca4b793..1df865a427a 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -8,10 +8,10 @@ conda activate ./env export PYTORCH_TEST_WITH_SLOW='1' if [ "${CU_VERSION:-}" == cpu ] ; then NUMPROCESSES="auto" + export OMP_NUM_THREADS="1" else NUMPROCESSES="1" fi -export OMP_NUM_THREADS="1" python -m torch.utils.collect_env pytest \ diff --git a/.circleci/unittest/windows/scripts/run_test.sh b/.circleci/unittest/windows/scripts/run_test.sh index 318f4444e01..0f3ad2968a3 100644 --- a/.circleci/unittest/windows/scripts/run_test.sh +++ b/.circleci/unittest/windows/scripts/run_test.sh @@ -8,6 +8,7 @@ conda activate ./env export PYTORCH_TEST_WITH_SLOW='1' if [ "${CU_VERSION:-}" == cpu ] ; then NUMPROCESSES="auto" + export OMP_NUM_THREADS="1" else NUMPROCESSES="1" fi @@ -15,7 +16,6 @@ fi python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ - --boxed \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ From 641051f6f6ef993625c8c653fe9a388546edd46c Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Thu, 25 Feb 2021 07:13:53 +0100 Subject: [PATCH 08/11] [poc] use low timeout for showcasing --- .circleci/unittest/linux/scripts/environment.yml | 1 + .circleci/unittest/linux/scripts/run_test.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/.circleci/unittest/linux/scripts/environment.yml b/.circleci/unittest/linux/scripts/environment.yml index e8628b480e6..cbee3a5fb5d 100644 --- a/.circleci/unittest/linux/scripts/environment.yml +++ b/.circleci/unittest/linux/scripts/environment.yml @@ -7,6 +7,7 @@ dependencies: - pytest - pytest-cov - pytest-xdist + - pytest-timeout - codecov - pip - libpng diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index 1df865a427a..51cbe7ac9cf 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -16,6 +16,7 @@ fi python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ + --timeout==10 \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ From 6c6b4788cf13d6efe052931b150fc27d48eb96e3 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Thu, 25 Feb 2021 07:19:24 +0100 Subject: [PATCH 09/11] [poc] fix syntax --- .circleci/unittest/linux/scripts/run_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index 51cbe7ac9cf..a9a6cd1fed7 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -16,7 +16,7 @@ fi python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ - --timeout==10 \ + --timeout=10 \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ From 677c4478ac52df08b00692b10242a7334ded6811 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Mon, 1 Mar 2021 12:35:13 +0100 Subject: [PATCH 10/11] set timeout to 5 minutes --- .circleci/unittest/linux/scripts/run_test.sh | 2 +- .circleci/unittest/windows/scripts/run_test.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/unittest/linux/scripts/run_test.sh b/.circleci/unittest/linux/scripts/run_test.sh index a9a6cd1fed7..a0a2e0dae3f 100755 --- a/.circleci/unittest/linux/scripts/run_test.sh +++ b/.circleci/unittest/linux/scripts/run_test.sh @@ -16,7 +16,7 @@ fi python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ - --timeout=10 \ + --timeout=300 \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ diff --git a/.circleci/unittest/windows/scripts/run_test.sh b/.circleci/unittest/windows/scripts/run_test.sh index 0f3ad2968a3..a70956347ac 100644 --- a/.circleci/unittest/windows/scripts/run_test.sh +++ b/.circleci/unittest/windows/scripts/run_test.sh @@ -16,6 +16,7 @@ fi python -m torch.utils.collect_env pytest \ --numprocesses=$NUMPROCESSES \ + --timeout=300 \ --cov=torchvision \ --junitxml=test-results/junit.xml \ --verbose \ From 70926d2c3f69553d09f1fee24f366c4c27e9ab7d Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Mon, 1 Mar 2021 13:37:41 +0100 Subject: [PATCH 11/11] fix timeout on windows --- .circleci/unittest/linux/scripts/environment.yml | 2 +- .circleci/unittest/windows/scripts/environment.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/unittest/linux/scripts/environment.yml b/.circleci/unittest/linux/scripts/environment.yml index cbee3a5fb5d..04aa9007e88 100644 --- a/.circleci/unittest/linux/scripts/environment.yml +++ b/.circleci/unittest/linux/scripts/environment.yml @@ -5,9 +5,9 @@ channels: - conda-forge dependencies: - pytest - - pytest-cov - pytest-xdist - pytest-timeout + - pytest-cov - codecov - pip - libpng diff --git a/.circleci/unittest/windows/scripts/environment.yml b/.circleci/unittest/windows/scripts/environment.yml index d9ddafaa60c..069d57e1e03 100644 --- a/.circleci/unittest/windows/scripts/environment.yml +++ b/.circleci/unittest/windows/scripts/environment.yml @@ -6,6 +6,7 @@ channels: dependencies: - pytest - pytest-xdist + - pytest-timeout - pytest-cov - codecov - pip