"lib/vscode:/vscode.git/clone" did not exist on "37a8ebaf7a8e9a3d503936cca34cb9546994015b"
Commit 61da3fbc authored by Edenzzzz's avatar Edenzzzz
Browse files

fixed layout converter caching and updated tester

parent a7790a92
...@@ -440,7 +440,10 @@ class LayoutConverter(metaclass=SingletonMeta): ...@@ -440,7 +440,10 @@ class LayoutConverter(metaclass=SingletonMeta):
total_steps = 0 total_steps = 0
transform_path = [] transform_path = []
comm_action_sequence: List[CommSpec] = [] comm_action_sequence: List[CommSpec] = []
spec_pairs = (str(source_spec.sharding_sequence), str(target_spec.sharding_sequence))
src_shape = source_layout.get_sharded_shape_per_device()
dst_shape = target_layout.get_sharded_shape_per_device()
spec_pairs = ((str(source_spec.sharding_sequence), src_shape), (str(target_spec.sharding_sequence), dst_shape))
if spec_pairs in self.cached_solution: if spec_pairs in self.cached_solution:
# Solution Cache hit # Solution Cache hit
......
...@@ -123,8 +123,15 @@ def check_layout_converting(rank, world_size, port): ...@@ -123,8 +123,15 @@ def check_layout_converting(rank, world_size, port):
assert comm_action_sequence[2].logical_process_axis == 1 assert comm_action_sequence[2].logical_process_axis == 1
# checkout chached_spec_pairs_transform_path # checkout chached_spec_pairs_transform_path
assert layout_converter.cached_solution[("[R, S01, R]", "[S01, R, R]")][0] == transform_path src_shape = source_layout.get_sharded_shape_per_device()
assert layout_converter.cached_solution[("[R, S01, R]", "[S01, R, R]")][1] == comm_action_sequence dst_shape = target_layout.get_sharded_shape_per_device()
assert (
layout_converter.cached_solution[(("[R, S01, R]", src_shape), ("[S01, R, R]", dst_shape))][0] == transform_path
)
assert (
layout_converter.cached_solution[(("[R, S01, R]", src_shape), ("[S01, R, R]", dst_shape))][1]
== comm_action_sequence
)
comm_cost = layout_converter.get_total_comm_cost(source_layout, target_layout) comm_cost = layout_converter.get_total_comm_cost(source_layout, target_layout)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment