MCPcopy
hub / github.com/dask/dask / test_fuse_reductions_multiple_input

Function test_fuse_reductions_multiple_input

dask/tests/test_optimization.py:1024–1128  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1022
1023
1024def test_fuse_reductions_multiple_input():
1025 def f(*args):
1026 return args
1027
1028 d = {"a1": 1, "a2": 2, "b": (f, "a1", "a2"), "c": (f, "b")}
1029 assert fuse(d, ave_width=2, rename_keys=False) == with_deps({"c": (f, (f, 1, 2))})
1030 assert fuse(d, ave_width=2, rename_keys=True) == with_deps(
1031 {"a1-a2-b-c": (f, (f, 1, 2)), "c": "a1-a2-b-c"}
1032 )
1033 assert fuse(d, ave_width=1, rename_keys=False) == with_deps(
1034 {"a1": 1, "a2": 2, "c": (f, (f, "a1", "a2"))}
1035 )
1036 assert fuse(d, ave_width=1, rename_keys=True) == with_deps(
1037 {"a1": 1, "a2": 2, "b-c": (f, (f, "a1", "a2")), "c": "b-c"}
1038 )
1039
1040 d = {
1041 "a1": 1,
1042 "a2": 2,
1043 "b1": (f, "a1"),
1044 "b2": (f, "a1", "a2"),
1045 "b3": (f, "a2"),
1046 "c": (f, "b1", "b2", "b3"),
1047 }
1048 expected = with_deps(d)
1049 assert fuse(d, ave_width=1, rename_keys=False) == expected
1050 assert fuse(d, ave_width=2.9, rename_keys=False) == expected
1051 assert fuse(d, ave_width=1, rename_keys=True) == expected
1052 assert fuse(d, ave_width=2.9, rename_keys=True) == expected
1053 assert fuse(d, ave_width=3, rename_keys=False) == with_deps(
1054 {"a1": 1, "a2": 2, "c": (f, (f, "a1"), (f, "a1", "a2"), (f, "a2"))}
1055 )
1056 assert fuse(d, ave_width=3, rename_keys=True) == with_deps(
1057 {
1058 "a1": 1,
1059 "a2": 2,
1060 "b1-b2-b3-c": (f, (f, "a1"), (f, "a1", "a2"), (f, "a2")),
1061 "c": "b1-b2-b3-c",
1062 }
1063 )
1064
1065 d = {
1066 "a1": 1,
1067 "a2": 2,
1068 "b1": (f, "a1"),
1069 "b2": (f, "a1", "a2"),
1070 "b3": (f, "a2"),
1071 "c1": (f, "b1", "b2"),
1072 "c2": (f, "b2", "b3"),
1073 }
1074 assert fuse(d, ave_width=1, rename_keys=False) == with_deps(d)
1075 assert fuse(d, ave_width=1, rename_keys=True) == with_deps(d)
1076 assert fuse(d, ave_width=2, rename_keys=False) == with_deps(
1077 {
1078 "a1": 1,
1079 "a2": 2,
1080 "b2": (f, "a1", "a2"),
1081 "c1": (f, (f, "a1"), "b2"),

Callers

nothing calls this directly

Calls 2

fuseFunction · 0.90
with_depsFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…