Skip to content

Commit 3e3cf84

Browse files
committed
[monarch] implement __len__ for MeshTrait
straightforward enough Differential Revision: [D79483634](https://our.internmc.facebook.com/intern/diff/D79483634/) ghstack-source-id: 300251671 Pull Request resolved: #729
1 parent 59caae0 commit 3e3cf84

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

python/monarch/_src/actor/actor_mesh.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -444,9 +444,6 @@ def items(self) -> Iterable[Tuple[Point, R]]:
444444
def __iter__(self) -> Iterator[Tuple[Point, R]]:
445445
return iter(self.items())
446446

447-
def __len__(self) -> int:
448-
return len(self._shape)
449-
450447
def __repr__(self) -> str:
451448
return f"ValueMesh({self._shape})"
452449

python/monarch/_src/actor/shape.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,5 +224,8 @@ def size(self, dim: Union[None, str, Sequence[str]] = None) -> int:
224224
def sizes(self) -> dict[str, int]:
225225
return dict(zip(self._labels, self._ndslice.sizes))
226226

227+
def __len__(self) -> int:
228+
return len(self._ndslice)
229+
227230

228231
__all__ = ["NDSlice", "Shape", "MeshTrait"]

python/tests/test_python_actors.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,3 +598,9 @@ def test_ported_actor():
598598
proc_mesh = local_proc_mesh(gpus=1).get()
599599
a = proc_mesh.spawn("port_actor", PortedActor).get()
600600
assert 5 == a.add.call_one(2).get()
601+
602+
603+
def test_mesh_len():
604+
proc_mesh = local_proc_mesh(gpus=12).get()
605+
s = proc_mesh.spawn("sync_actor", SyncActor).get()
606+
assert 12 == len(s)

0 commit comments

Comments
 (0)