Skip to content

Commit 7b3ed4d

Browse files
committed
[hyperactor] mesh: v0 shims for v1 meshes
Pull Request resolved: #1453 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: 314616752
1 parent 9754552 commit 7b3ed4d

File tree

11 files changed

+644
-207
lines changed

11 files changed

+644
-207
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: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -830,9 +830,9 @@ mod tests {
830830
let params = TestActorParams {
831831
forward_port: tx.bind(),
832832
};
833-
let actor_mesh = proc_mesh
834-
.clone()
835-
.spawn::<TestActor>(dest_actor_name, &params)
833+
let instance = crate::v1::testing::instance().await;
834+
let actor_mesh = Arc::clone(&proc_mesh)
835+
.spawn::<TestActor>(&instance, dest_actor_name, &params)
836836
.await
837837
.unwrap();
838838

@@ -904,7 +904,7 @@ mod tests {
904904
) {
905905
// Reply from each dest actor. The replies should be received by client.
906906
{
907-
for (dest_actor, (reply_to1, reply_to2)) in ranks.iter().zip(reply_tos.iter()) {
907+
for (dest_actor, (reply_to1, reply_to2)) in ranks().iter().zip(reply_tos.iter()) {
908908
let rank = dest_actor.actor_id().rank() as u64;
909909
reply_to1.send(instance, rank).unwrap();
910910
let my_reply = MyReply {
@@ -926,7 +926,7 @@ mod tests {
926926
{
927927
let n = 100;
928928
let mut expected2: HashMap<usize, Vec<MyReply>> = hashmap! {};
929-
for (dest_actor, (_reply_to1, reply_to2)) in ranks.iter().zip(reply_tos.iter()) {
929+
for (dest_actor, (_reply_to1, reply_to2)) in ranks().iter().zip(reply_tos.iter()) {
930930
let rank = dest_actor.actor_id().rank();
931931
let mut sent2 = vec![];
932932
for i in 0..n {
@@ -946,7 +946,7 @@ mod tests {
946946

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

949-
for _ in 0..(n * ranks.len()) {
949+
for _ in 0..(n * ranks().len()) {
950950
let my_reply = reply2_rx.recv().await.unwrap();
951951
received2
952952
.entry(my_reply.sender.rank())

0 commit comments

Comments
 (0)