Files
wehub-resource-sync 8a852e4b4e
cffconvert / validate (push) Has been skipped
License Check / license-check (push) Failing after 2s
chore: import upstream snapshot with attribution
2026-07-13 12:14:16 +08:00

1042 lines
34 KiB
Python

load("//tensorflow:pytype.default.bzl", "pytype_strict_library")
load("//tensorflow:tensorflow.bzl", "if_google", "py_test")
load(
"//tensorflow/dtensor:build_defs.bzl",
"ALL_BACKENDS",
"GPU_2DEVS_BACKEND",
"TPU_V3_DONUT_BACKEND",
"TPU_V4_DONUT_BACKEND",
"dtensor_test",
)
# copybara:uncomment package(default_applicable_licenses = ["//tensorflow:license"])
# File used by internal tests.
exports_files([
"spmd_test.py",
"collective_test.py",
])
pytype_strict_library(
name = "test_util",
testonly = if_google(
True,
oss_value = False, # build_pip_package depends on this target.
),
srcs = [
"test_backend_name.py",
"test_backend_util.py",
"test_util.py",
"test_util_ops.py",
],
visibility = [
"//tensorflow/dtensor:dtensor-internal",
"//tensorflow/dtensor:dtensor-users",
"//tensorflow/tools/pip_package:__subpackages__",
],
deps = [
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:config",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/dtensor/python:tpu_util",
"//tensorflow/python/compat:v2_compat",
"//tensorflow/python/eager:context",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:device",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_gen",
"//tensorflow/python/ops:bitwise_ops_gen",
"//tensorflow/python/ops:clip_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:math_ops_gen",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:nn_ops_gen",
"//tensorflow/python/ops:resource_variable_ops",
"//tensorflow/python/ops:special_math_ops",
"//tensorflow/python/ops:spectral_ops_gen",
"//tensorflow/python/ops:stateless_random_ops_gen",
"//tensorflow/python/ops:stateless_random_ops_v2_gen",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/util:numpy_compat",
"//third_party/py/numpy",
"@absl_py//absl/flags",
"@absl_py//absl/logging",
"@absl_py//absl/testing:parameterized",
],
)
py_test(
name = "api_test",
srcs = [
"api_test.py",
],
strict_deps = True,
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_random",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
# TODO(b/301286466): Investigate why python annotation type mismatch is not catptured by the type
# strict BUILD rules.
dtensor_test(
name = "array_ops_test",
srcs = ["array_ops_test.py"],
additional_backends = [],
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:layout",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:combinations",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
],
)
dtensor_test(
name = "batchparallel_spmd_test",
srcs = ["batchparallel_spmd_test.py"],
additional_backends = [TPU_V4_DONUT_BACKEND],
main = "batchparallel_spmd_test.py",
shard_count = {
"cpu": 4,
"gpu": 4,
"tpu": 4,
TPU_V4_DONUT_BACKEND: 8,
},
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager:context",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_gen",
"//tensorflow/python/ops:image_ops_gen",
"//tensorflow/python/ops:linalg_ops_gen",
"//tensorflow/python/ops:nn_impl",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "cache_test",
srcs = ["cache_test.py"],
main = "cache_test.py",
tags = [
"nomultivm",
],
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:combinations",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:stateless_random_ops_gen",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
],
)
dtensor_test(
name = "config_test",
srcs = ["config_test.py"],
main = "config_test.py",
deps = [
":test_util",
"//tensorflow/dtensor/python:config",
"//tensorflow/python/eager:context",
"//tensorflow/python/framework:device",
"//tensorflow/python/platform:client_testlib",
],
)
dtensor_test(
name = "collective_test",
srcs = ["collective_test.py"],
additional_backends = [
TPU_V3_DONUT_BACKEND,
GPU_2DEVS_BACKEND,
],
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:dtensor_device",
"//tensorflow/dtensor/python:layout",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_gen",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:math_ops_gen",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "collective_combine_all_reduce_test",
srcs = [":collective_test.py"],
args = if_google(
[
"--vmodule=dtensor_graph_to_mlir_pass=4",
],
[],
),
env = {
"DTENSOR_ENABLE_COMBINE_ALL_REDUCES_OPTIMIZATION": "1",
},
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:dtensor_device",
"//tensorflow/dtensor/python:layout",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_gen",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:math_ops_gen",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "conv_test",
srcs = [
"conv_test.py",
],
additional_backends = [TPU_V3_DONUT_BACKEND],
# All tests require 8 TPUs.
disable = ["tpu"],
shard_count = {
"cpu": 4,
"gpu": 4,
TPU_V3_DONUT_BACKEND: 4,
},
deps = [
":test_util",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:special_math_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "device_test",
srcs = ["device_test.py"],
additional_backends = [TPU_V3_DONUT_BACKEND],
main = "device_test.py",
shard_count = {
TPU_V3_DONUT_BACKEND: 32,
},
tags = [
"nomultivm",
],
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:dtensor_device",
"//tensorflow/dtensor/python:layout",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:collective_ops_gen",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:math_ops_gen",
"//tensorflow/python/ops:sparse_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
py_test(
name = "input_util_test",
size = "medium",
srcs = ["input_util_test.py"],
shard_count = 8,
strict_deps = True,
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:input_util",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:mesh_util",
"//tensorflow/python/data/ops:dataset_ops",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:tensor_shape",
"//tensorflow/python/framework:tensor_spec",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
py_test(
name = "multi_client_input_util_test",
timeout = "long",
srcs = ["multi_client_input_util_test.py"],
env = {
"TF2_BEHAVIOR": "1",
},
shard_count = 8,
strict_deps = True,
tags = [
# ThreadSanitizer does not support starting new threads after multi-threaded fork.
"notsan",
"no_oss", # Fails on OSS.
"nosan", # b/195537906
],
deps = [
":multi_client_test_util",
":test_util",
"//tensorflow/core:protos_all_py",
"//tensorflow/dtensor/python:accelerator_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:config",
"//tensorflow/dtensor/python:input_util",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:mesh_util",
"//tensorflow/python/data/experimental/service:server_lib",
"//tensorflow/python/data/ops:dataset_ops",
"//tensorflow/python/data/ops:readers",
"//tensorflow/python/eager:context",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:device_spec",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/lib/io:tf_record",
"//tensorflow/python/ops:array_ops_stack",
"//tensorflow/python/ops:check_ops",
"//tensorflow/python/ops:io_ops",
"//tensorflow/python/ops:parsing_config",
"//tensorflow/python/ops:parsing_ops",
"//tensorflow/python/ops:parsing_ops_gen",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/logging",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "layout_test",
srcs = ["layout_test.py"],
disable = [
"gpu",
"tpu",
],
main = "layout_test.py",
tags = [
"no_windows",
],
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:layout",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:combinations",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/framework:tensor_shape",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "layout_propagation_test",
srcs = ["layout_propagation_test.py"],
args = if_google(
[
"--vmodule=dtensor_mlir_passes=4",
],
[],
),
disable = [
"gpu",
"tpu",
],
main = "layout_propagation_test.py",
shard_count = {
"cpu": 5,
},
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:nn_ops_gen",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "mesh_util_test",
srcs = ["mesh_util_test.py"],
additional_backends = [
TPU_V3_DONUT_BACKEND,
GPU_2DEVS_BACKEND,
],
env = {
"TF_FORCE_GPU_ALLOW_GROWTH": "true",
},
deps = [
":test_util",
"//tensorflow/dtensor/python:config",
"//tensorflow/dtensor/python:mesh_util",
"//tensorflow/dtensor/python:tpu_util",
"//tensorflow/python/eager:context",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:device",
"//tensorflow/python/platform:client_testlib",
"@absl_py//absl/testing:parameterized",
],
)
pytype_strict_library(
name = "multi_client_test_util",
testonly = if_google(
True,
oss_value = False, # build_pip_package depends on this target.
),
srcs = ["multi_client_test_util.py"],
visibility = [
"//tensorflow/dtensor:dtensor-internal",
"//tensorflow/tools/pip_package:__subpackages__",
],
deps = [
":test_util",
"//tensorflow/python/platform:client_testlib",
"@absl_py//absl/flags",
"@pypi//portpicker",
],
)
dtensor_test(
name = "multi_client_test",
srcs = ["multi_client_test.py"],
additional_backends = [
GPU_2DEVS_BACKEND,
TPU_V3_DONUT_BACKEND,
],
disable = [
"gpu", # multi-client gpu is tested via GPU_2DEVS_BACKEND.
"tpu", # multi-client tpu is tested via TPU_V3_DONUT_BACKEND.
],
disable_tfrt = [
"cpu", # TODO(b/217969210): Re-enable in TFRT CPU.
GPU_2DEVS_BACKEND, # TODO(b/230679405): Re-enable in TFRT GPU.
],
tags = [
"no_windows",
"nosan",
], # b/195537906
deps = [
":multi_client_test_util",
":test_util",
"//tensorflow/dtensor/python:accelerator_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:config",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:mesh_util",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/flags",
],
)
dtensor_test(
name = "multi_client_test_nccl_local", # Use a suffix for coverage, b/23027507#comment47
srcs = ["multi_client_test.py"],
additional_backends = [
GPU_2DEVS_BACKEND,
],
args = [
"--num_clients=0",
"--num_local_devices=2",
"--model_dim_size=2",
],
disable = ALL_BACKENDS,
env = {
"DTENSOR_GPU_USE_NCCL_COMMUNICATION": "1",
"NCCL_P2P_DISABLE": "1", # FIXME(b/251183104): p2p detection in cuda 10.1+ is broken.
},
tags = [
"no_windows",
"nosan", # b/195537906
],
deps = [
":multi_client_test_util",
":test_util",
"//tensorflow/dtensor/python:accelerator_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:config",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:mesh_util",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/flags",
],
)
dtensor_test(
name = "multi_client_test_nccl", # Use a suffix for coverage, b/23027507#comment47
srcs = ["multi_client_test.py"],
additional_backends = [
GPU_2DEVS_BACKEND,
],
args = [
"--num_clients=2",
"--num_local_devices=1",
"--model_dim_size=2",
],
disable = ALL_BACKENDS,
env = {
"DTENSOR_GPU_USE_NCCL_COMMUNICATION": "1",
"NCCL_P2P_DISABLE": "1", # FIXME(b/251183104): p2p detection in cuda 10.1+ is broken.
"NCCL_CUMEM_HOST_ENABLE": "0", # TODO(b/414413290): workaround for cuda 12.8.1 failure.
},
tags = [
"no_windows",
"nosan", # b/195537906
],
deps = [
":multi_client_test_util",
":test_util",
"//tensorflow/dtensor/python:accelerator_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:config",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:mesh_util",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/flags",
],
)
dtensor_test(
name = "multi_mesh_test",
srcs = ["multi_mesh_test.py"],
disable_tfrt = [
"gpu",
"tpu",
], # TODO(b/192095157)
shard_count = {
"cpu": 5,
"gpu": 5,
"tpu": 10,
TPU_V3_DONUT_BACKEND: 10,
},
deps = [
":test_util",
"//tensorflow/dtensor/python:accelerator_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:config",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager:context",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:math_ops_gen",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "numpy_util_test",
srcs = ["numpy_util_test.py"],
main = "numpy_util_test.py",
deps = [
":test_util",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
],
)
dtensor_test(
name = "xla_spmd_test",
srcs = ["spmd_test.py"],
additional_backends = [
TPU_V3_DONUT_BACKEND,
],
disable = ALL_BACKENDS,
env = {
"DTENSOR_TEST_USE_XLA_SPMD": "1",
},
main = "spmd_test.py",
shard_count = {
TPU_V3_DONUT_BACKEND: 32,
},
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager:context",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_gen",
"//tensorflow/python/ops:array_ops_stack",
"//tensorflow/python/ops:bitwise_ops_gen",
"//tensorflow/python/ops:io_ops_gen",
"//tensorflow/python/ops:linalg_ops_gen",
"//tensorflow/python/ops:list_ops_gen",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:math_ops_gen",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:nn_ops_gen",
"//tensorflow/python/ops:random_ops",
"//tensorflow/python/ops:resource_variable_ops_gen",
"//tensorflow/python/ops:special_math_ops",
"//tensorflow/python/ops:spectral_ops_gen",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:stateless_random_ops_gen",
"//tensorflow/python/ops:string_ops_gen",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/util:nest",
"//third_party/py/numpy",
"@absl_py//absl/logging",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "multi_device_spmd_test",
srcs = ["spmd_test.py"],
additional_backends = [
TPU_V3_DONUT_BACKEND,
],
env = {
"DTENSOR_ENABLE_MULTI_DEVICE_EXPANSION": "1",
},
main = "spmd_test.py",
shard_count = {
"cpu": 25,
"gpu": 10,
"tpu": 10,
TPU_V3_DONUT_BACKEND: 32,
},
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager:context",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_gen",
"//tensorflow/python/ops:array_ops_stack",
"//tensorflow/python/ops:bitwise_ops_gen",
"//tensorflow/python/ops:io_ops_gen",
"//tensorflow/python/ops:linalg_ops_gen",
"//tensorflow/python/ops:list_ops_gen",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:math_ops_gen",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:nn_ops_gen",
"//tensorflow/python/ops:random_ops",
"//tensorflow/python/ops:resource_variable_ops_gen",
"//tensorflow/python/ops:special_math_ops",
"//tensorflow/python/ops:spectral_ops_gen",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:stateless_random_ops_gen",
"//tensorflow/python/ops:string_ops_gen",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/util:nest",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "spmd_test",
srcs = ["spmd_test.py"],
additional_backends = [TPU_V3_DONUT_BACKEND],
main = "spmd_test.py",
shard_count = {
"cpu": 25,
"gpu": 10,
"tpu": 10,
TPU_V3_DONUT_BACKEND: 32,
},
tags = [
"no_oss_py38", # TODO(b/267017937)
],
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager:context",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:config",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_gen",
"//tensorflow/python/ops:array_ops_stack",
"//tensorflow/python/ops:bitwise_ops_gen",
"//tensorflow/python/ops:io_ops_gen",
"//tensorflow/python/ops:linalg_ops_gen",
"//tensorflow/python/ops:list_ops_gen",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:math_ops_gen",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:nn_ops_gen",
"//tensorflow/python/ops:random_ops",
"//tensorflow/python/ops:resource_variable_ops_gen",
"//tensorflow/python/ops:special_math_ops",
"//tensorflow/python/ops:spectral_ops_gen",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:stateless_random_ops_gen",
"//tensorflow/python/ops:string_ops_gen",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/util:nest",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "rng_test",
size = "medium",
srcs = ["rng_test.py"],
additional_backends = [TPU_V3_DONUT_BACKEND],
# Requires at least 8 TPUs to run the tests.
disable = ["tpu"],
disable_tfrt = [
"gpu",
TPU_V3_DONUT_BACKEND,
],
main = "rng_test.py",
shard_count = {
"cpu": 20,
"tpu": 10,
"gpu": 30,
TPU_V3_DONUT_BACKEND: 20,
},
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/distribute:tpu_strategy",
"//tensorflow/python/distribute/cluster_resolver/tpu:tpu_cluster_resolver_py",
"//tensorflow/python/eager:remote",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:bitwise_ops_gen",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:stateful_random_ops_gen",
"//tensorflow/python/ops:stateless_random_ops_v2_gen",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//tensorflow/python/tpu:device_assignment",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "save_restore_v2_test",
srcs = ["save_restore_v2_test.py"],
additional_backends = [
TPU_V3_DONUT_BACKEND,
TPU_V4_DONUT_BACKEND,
],
main = "save_restore_v2_test.py",
shard_count = {
"cpu": 8,
"gpu": 8,
TPU_V3_DONUT_BACKEND: 8,
},
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/checkpoint",
"//tensorflow/python/checkpoint:checkpoint_management",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/module",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "variable_test",
srcs = ["variable_test.py"],
disable_tfrt = [
"tpu",
"gpu",
], # b/198521331 timeout on TFRT TPU.
main = "variable_test.py",
tags = [
"nomultivm",
],
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:layout",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:errors",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_stack",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
],
)
dtensor_test(
name = "mnist_test",
size = "large",
srcs = ["mnist_test.py"],
shard_count = {
"tpu": 2,
},
tags = ["nosan"], # Non-opt builds has slow XLA compilation.
deps = [
":test_util",
"//tensorflow/dtensor/python:api",
"//tensorflow/dtensor/python:d_variable",
"//tensorflow/dtensor/python:input_util",
"//tensorflow/dtensor/python:layout",
"//tensorflow/python/data/ops:dataset_ops",
"//tensorflow/python/eager:backprop",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/framework:ops",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:array_ops_stack",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:nn_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/ops:variables",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "numerics_test",
srcs = ["numerics_test.py"],
additional_backends = [TPU_V3_DONUT_BACKEND],
disable = ALL_BACKENDS,
enable = [
"tpu",
],
deps = [
":test_util",
"//tensorflow/dtensor/python:accelerator_util",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/ops:stateless_random_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "sparse_test",
srcs = ["sparse_test.py"],
main = "sparse_test.py",
shard_count = {
"cpu": 4,
},
deps = [
":test_util",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/python/eager/polymorphic_function",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:array_ops",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/platform:client_testlib",
"//third_party/py/numpy",
"@absl_py//absl/testing:parameterized",
],
)
dtensor_test(
name = "tpu_device_assignment_test",
srcs = ["tpu_device_assignment_test.py"],
disable = ALL_BACKENDS,
enable = [
"tpu",
],
deps = [
":test_util",
"//tensorflow/dtensor/python:layout",
"//tensorflow/dtensor/python:numpy_util",
"//tensorflow/dtensor/python:tpu_util",
"//tensorflow/python/framework:constant_op",
"//tensorflow/python/framework:dtypes",
"//tensorflow/python/ops:math_ops",
"//tensorflow/python/platform:client_testlib",
],
)