Skip to content

Commit 95967a8

Browse files
committed
[hyperactor] mesh: v0 shims for v1 meshes
In this change, we implement: ``` From<v1::ProcMeshRef> for ProcMesh ``` and ``` From<v1::ActorMeshRef<A>> for RootActorMesh<A> ``` This will allow us to temporarily use v1 instances through a v0 API, while we transition the usage sites. Differential Revision: [D84081478](https://our.internmc.facebook.com/intern/diff/D84081478/) **NOTE FOR REVIEWERS**: This PR has internal Meta-specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D84081478/)! ghstack-source-id: 314615484 Pull Request resolved: #1453
1 parent fcd8dd2 commit 95967a8

File tree

11 files changed

+645
-208
lines changed

11 files changed

+645
-208
lines changed

hyperactor_mesh/src/actor_mesh.rs

Lines changed: 262 additions & 63 deletions
Large diffs are not rendered by default.

hyperactor_mesh/src/alloc/sim.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,11 +199,13 @@ mod tests {
199199
})
200200
.await
201201
.unwrap();
202+
let instance = crate::v1::testing::instance().await;
202203

203204
let proc_mesh = ProcMesh::allocate(alloc).await.unwrap();
204205

205206
let handle = hyperactor::simnet::simnet_handle().unwrap();
206-
let actor_mesh: RootActorMesh<TestActor> = proc_mesh.spawn("echo", &()).await.unwrap();
207+
let actor_mesh: RootActorMesh<TestActor> =
208+
proc_mesh.spawn(&instance, "echo", &()).await.unwrap();
207209
let actors = actor_mesh.iter_actor_refs().collect::<Vec<_>>();
208210
assert_eq!(
209211
handle.sample_latency(

hyperactor_mesh/src/comm.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -782,9 +782,9 @@ mod tests {
782782
let params = TestActorParams {
783783
forward_port: tx.bind(),
784784
};
785-
let actor_mesh = proc_mesh
786-
.clone()
787-
.spawn::<TestActor>(dest_actor_name, &params)
785+
let instance = crate::v1::testing::instance().await;
786+
let actor_mesh = Arc::clone(&proc_mesh)
787+
.spawn::<TestActor>(&instance, dest_actor_name, &params)
788788
.await
789789
.unwrap();
790790

@@ -887,7 +887,7 @@ mod tests {
887887
// Reply from each dest actor. The replies should be received by client.
888888
{
889889
for (dest_actor, (reply_to1, reply_to2)) in
890-
actor_mesh.ranks.iter().zip(reply_tos.iter())
890+
actor_mesh.ranks().iter().zip(reply_tos.iter())
891891
{
892892
let rank = dest_actor.actor_id().rank() as u64;
893893
reply_to1.send(proc_mesh_client, rank).unwrap();
@@ -911,7 +911,7 @@ mod tests {
911911
let n = 100;
912912
let mut expected2: HashMap<usize, Vec<MyReply>> = hashmap! {};
913913
for (dest_actor, (_reply_to1, reply_to2)) in
914-
actor_mesh.ranks.iter().zip(reply_tos.iter())
914+
actor_mesh.ranks().iter().zip(reply_tos.iter())
915915
{
916916
let rank = dest_actor.actor_id().rank();
917917
let mut sent2 = vec![];
@@ -932,7 +932,7 @@ mod tests {
932932

933933
let mut received2: HashMap<usize, Vec<MyReply>> = hashmap! {};
934934

935-
for _ in 0..(n * actor_mesh.ranks.len()) {
935+
for _ in 0..(n * actor_mesh.ranks().len()) {
936936
let my_reply = reply2_rx.recv().await.unwrap();
937937
received2
938938
.entry(my_reply.sender.rank())
@@ -983,7 +983,7 @@ mod tests {
983983
let mut sum = 0;
984984
let n = 100;
985985
for (dest_actor, (reply_to1, _reply_to2)) in
986-
actor_mesh.ranks.iter().zip(reply_tos.iter())
986+
actor_mesh.ranks().iter().zip(reply_tos.iter())
987987
{
988988
let rank = dest_actor.actor_id().rank();
989989
for i in 0..n {

0 commit comments

Comments
 (0)