)
c.dependent_tests.append(bc_breaking_check)
+ if (
+ compiler_name != "clang"
+ and not rocm_version
+ and not is_libtorch
+ and not is_vulkan
+ and not is_pure_torch
+ and not is_noarch
+ and not is_slow_gradcheck
+ and not only_slow_gradcheck
+ ):
+ distributed_test = Conf(
+ c.gen_build_name("") + "distributed",
+ [],
+ is_xla=False,
+ restrict_phases=["test"],
+ is_libtorch=False,
+ is_important=True,
+ parent_build=c,
+ )
+ c.dependent_tests.append(distributed_test)
+
config_list.append(c)
return config_list
build_environment: "pytorch-linux-backward-compatibility-check-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4"
resource_class: large
+ - pytorch_linux_test:
+ name: pytorch_linux_pytorch_linux_xenial_py3_6_gcc5_4_distributed_test
+ requires:
+ - pytorch_linux_xenial_py3_6_gcc5_4_build
+ build_environment: "pytorch-linux-pytorch_linux_xenial_py3_6_gcc5_4_distributed-test"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4"
+ resource_class: large
- pytorch_linux_build:
name: pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_build
requires:
build_environment: "pytorch-paralleltbb-linux-xenial-py3.6-gcc5.4-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4"
resource_class: large
+ - pytorch_linux_test:
+ name: pytorch_linux_pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_distributed_test
+ requires:
+ - pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_build
+ build_environment: "pytorch-linux-pytorch_paralleltbb_linux_xenial_py3_6_gcc5_4_distributed-test"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4"
+ resource_class: large
- pytorch_linux_build:
name: pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_build
requires:
build_environment: "pytorch-parallelnative-linux-xenial-py3.6-gcc5.4-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4"
resource_class: large
+ - pytorch_linux_test:
+ name: pytorch_linux_pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_distributed_test
+ requires:
+ - pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_build
+ build_environment: "pytorch-linux-pytorch_parallelnative_linux_xenial_py3_6_gcc5_4_distributed-test"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc5.4"
+ resource_class: large
- pytorch_linux_build:
name: pytorch_pure_torch_linux_xenial_py3_6_gcc5_4_build
requires:
build_environment: "pytorch-linux-xenial-py3.6-gcc7-test"
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7"
resource_class: large
+ - pytorch_linux_test:
+ name: pytorch_linux_pytorch_linux_xenial_py3_6_gcc7_distributed_test
+ requires:
+ - pytorch_linux_xenial_py3_6_gcc7_build
+ build_environment: "pytorch-linux-pytorch_linux_xenial_py3_6_gcc7_distributed-test"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-py3.6-gcc7"
+ resource_class: large
- pytorch_linux_build:
name: pytorch_linux_xenial_py3_clang7_asan_build
requires:
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
use_cuda_docker_runtime: "1"
resource_class: gpu.medium
+ - pytorch_linux_test:
+ name: pytorch_linux_pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_distributed_test
+ requires:
+ - pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_build
+ build_environment: "pytorch-linux-pytorch_linux_xenial_cuda10_2_cudnn7_py3_gcc7_distributed-test"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"
+ resource_class: large
- pytorch_linux_build:
name: pytorch_linux_xenial_cuda11_1_cudnn8_py3_gcc7_build
requires:
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda11.1-cudnn8-py3-gcc7"
use_cuda_docker_runtime: "1"
resource_class: gpu.medium
+ - pytorch_linux_test:
+ name: pytorch_linux_pytorch_linux_xenial_cuda11_1_cudnn8_py3_gcc7_distributed_test
+ requires:
+ - pytorch_linux_xenial_cuda11_1_cudnn8_py3_gcc7_build
+ build_environment: "pytorch-linux-pytorch_linux_xenial_cuda11_1_cudnn8_py3_gcc7_distributed-test"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda11.1-cudnn8-py3-gcc7"
+ resource_class: large
- pytorch_linux_build:
name: pytorch_linux_bionic_py3_6_clang9_noarch_build
requires:
docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-cuda10.2-cudnn7-py3.9-gcc7"
use_cuda_docker_runtime: "1"
resource_class: gpu.medium
+ - pytorch_linux_test:
+ name: pytorch_linux_pytorch_linux_bionic_cuda10_2_cudnn7_py3_9_gcc7_distributed_test
+ requires:
+ - pytorch_linux_bionic_cuda10_2_cudnn7_py3_9_gcc7_build
+ build_environment: "pytorch-linux-pytorch_linux_bionic_cuda10_2_cudnn7_py3_9_gcc7_distributed-test"
+ docker_image: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-bionic-cuda10.2-cudnn7-py3.9-gcc7"
+ resource_class: large
- pytorch_linux_build:
name: pytorch_linux_bionic_rocm3_9_py3_6_build
requires:
only_build_on_pull_request: bool = False
only_run_smoke_tests_on_pull_request: bool = False
num_test_shards_on_pull_request: int = -1
+ distributed_test: bool = True
# The following variables will be set as environment variables,
# so it's easier for both shell and Python scripts to consume it if false is represented as the empty string.
enable_jit_legacy_test: YamlShellBool = "''"
+ enable_distributed_test: YamlShellBool = "''"
enable_multigpu_test: YamlShellBool = "''"
enable_nogpu_no_avx_test: YamlShellBool = "''"
enable_nogpu_no_avx2_test: YamlShellBool = "''"
if not self.on_pull_request:
self.only_build_on_pull_request = False
+ if self.distributed_test:
+ self.enable_distributed_test = 1
+
# If num_test_shards_on_pull_request is not user-defined, default to num_test_shards unless we are
# only running smoke tests on the pull request.
if self.num_test_shards_on_pull_request == -1:
configs['nogpu_NO_AVX'] = {'num_shards': 1, 'runner': NOGPU_RUNNER_TYPE}
if NOGPU_RUNNER_TYPE is not None and os.getenv('ENABLE_NOGPU_NO_AVX2_TEST'):
configs['nogpu_NO_AVX2'] = {'num_shards': 1, 'runner': NOGPU_RUNNER_TYPE}
+ if os.getenv('ENABLE_DISTRIBUTED_TEST'):
+ configs['distributed'] = {'num_shards': 1, 'runner': TEST_RUNNER_TYPE}
if os.getenv('ENABLE_SLOW_TEST'):
configs['slow'] = {'num_shards': 1, 'runner': TEST_RUNNER_TYPE}
matrix = {
{%- endif %}
env:
TEST_RUNNER_TYPE: !{{ test_runner_type }}
+ ENABLE_DISTRIBUTED_TEST: !{{ enable_distributed_test }}
ENABLE_JIT_LEGACY_TEST: !{{ enable_jit_legacy_test }}
ENABLE_MULTIGPU_TEST: !{{ enable_multigpu_test }}
ENABLE_NOGPU_NO_AVX_TEST: !{{ enable_nogpu_no_avx_test }}
needs: [ciflow_should_run]
env:
TEST_RUNNER_TYPE: linux.8xlarge.nvidia.gpu
+ ENABLE_DISTRIBUTED_TEST: 1
ENABLE_JIT_LEGACY_TEST: ''
ENABLE_MULTIGPU_TEST: ''
ENABLE_NOGPU_NO_AVX_TEST: ''
needs: [ciflow_should_run]
env:
TEST_RUNNER_TYPE: linux.2xlarge
+ ENABLE_DISTRIBUTED_TEST: 1
ENABLE_JIT_LEGACY_TEST: ''
ENABLE_MULTIGPU_TEST: ''
ENABLE_NOGPU_NO_AVX_TEST: ''
needs: [ciflow_should_run]
env:
TEST_RUNNER_TYPE: linux.8xlarge.nvidia.gpu
+ ENABLE_DISTRIBUTED_TEST: 1
ENABLE_JIT_LEGACY_TEST: 1
ENABLE_MULTIGPU_TEST: 1
ENABLE_NOGPU_NO_AVX_TEST: 1
needs: [ciflow_should_run]
env:
TEST_RUNNER_TYPE: linux.8xlarge.nvidia.gpu
+ ENABLE_DISTRIBUTED_TEST: 1
ENABLE_JIT_LEGACY_TEST: ''
ENABLE_MULTIGPU_TEST: ''
ENABLE_NOGPU_NO_AVX_TEST: ''
needs: [ciflow_should_run]
env:
TEST_RUNNER_TYPE: linux.2xlarge
+ ENABLE_DISTRIBUTED_TEST: 1
ENABLE_JIT_LEGACY_TEST: ''
ENABLE_MULTIGPU_TEST: ''
ENABLE_NOGPU_NO_AVX_TEST: ''
needs: [ciflow_should_run]
env:
TEST_RUNNER_TYPE: linux.8xlarge.nvidia.gpu
+ ENABLE_DISTRIBUTED_TEST: 1
ENABLE_JIT_LEGACY_TEST: ''
ENABLE_MULTIGPU_TEST: ''
ENABLE_NOGPU_NO_AVX_TEST: ''
BUILD_RENAMED_DIR="build_renamed"
BUILD_BIN_DIR="$BUILD_DIR"/bin
+# GHA has test config defined for the test job, so we need to add them.
+if [[ -n "${TEST_CONFIG}" ]]; then
+ BUILD_ENVIRONMENT="${BUILD_ENVIRONMENT}-${TEST_CONFIG}"
+fi
+
# shellcheck source=./common.sh
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
test_vulkan
elif [[ "${BUILD_ENVIRONMENT}" == *-bazel-* ]]; then
test_bazel
+elif [[ "${BUILD_ENVIRONMENT}" == *distributed* ]]; then
+ test_distributed
+ test_rpc
else
install_torchvision
install_monkeytype
test_custom_script_ops
test_custom_backend
test_torch_function_benchmark
- test_distributed
test_benchmarks
- test_rpc
if [[ "${BUILD_ENVIRONMENT}" == *linux-xenial-py3.6-gcc7-test* || "${BUILD_ENVIRONMENT}" == *linux-xenial-py3.6-gcc5.4-test* ]]; then
test_python_gloo_with_tls
fi