use one ActorEnvironment for actor construction (#4530) - #4530
Open
shayne-fletcher wants to merge 1 commit into
Open
use one ActorEnvironment for actor construction (#4530)#4530shayne-fletcher wants to merge 1 commit into
ActorEnvironment for actor construction (#4530)#4530shayne-fletcher wants to merge 1 commit into
Conversation
Contributor
|
@shayne-fletcher has exported this pull request. If you are a Meta employee, you can view the originating Diff in D114075166. |
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. proc-mesh spawn replaces `CAST_POINT` with the new actor's assigned point. ordinary `gspawn_uid` assigns no mesh point, so it inherits the parent's value unchanged. documentation and tests clarify that environmental `CAST_POINT` is construction context, not proof of mesh membership; delivery still uses the current message header. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 16:48
6a1dc59 to
8ca440f
Compare
ActorEnvironment for actor constructionActorEnvironment for actor construction (#4530)
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 17:08
8ca440f to
872614f
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 17:38
872614f to
9cb4924
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 17:42
9cb4924 to
ca41286
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 17:47
ca41286 to
b288385
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 20:41
b288385 to
8c46209
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 20:45
8c46209 to
4642ecd
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 20:50
4642ecd to
ce3b776
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 20:55
ce3b776 to
76f2de3
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 21:11
76f2de3 to
7b26664
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 21:17
7b26664 to
5ca4135
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 21:23
5ca4135 to
727fff1
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 29, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 29, 2026 22:18
727fff1 to
ef390e5
Compare
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 31, 2026 20:18
ef390e5 to
5677d3c
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 31, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 31, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 31, 2026 20:26
5677d3c to
91f1075
Compare
shayne-fletcher
added a commit
to shayne-fletcher/monarch-1
that referenced
this pull request
Jul 31, 2026
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 31, 2026 20:30
91f1075 to
6ee6b54
Compare
Summary: Pull Request resolved: meta-pytorch#4530 D113320848 carries the caller's `ActorEnvironment` across remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers: `RemoteSpawn::new` reads the same environment that the runtime stores and later inherits. `CAST_POINT` tells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point. `gspawn_uid` assigns no point of its own, so if its parent has a `CAST_POINT`, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its own `CAST_POINT`. documentation and tests pin this distinction. the remaining changes mechanically update `RemoteSpawn` implementations and remove the old transient-header merge. Differential Revision: D114075166
shayne-fletcher
force-pushed
the
export-D114075166
branch
from
July 31, 2026 20:36
6ee6b54 to
1132ee0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
D113320848 carries the caller's
ActorEnvironmentacross remote gspawn. this follow-up removes the remaining split between that environment and separate constructor headers:RemoteSpawn::newreads the same environment that the runtime stores and later inherits.CAST_POINTtells a mesh-created actor where it sits in the mesh. proc-mesh spawn sets it to the new actor's assigned point.gspawn_uidassigns no point of its own, so if its parent has aCAST_POINT, the child inherits and sees the parent's point while it is being created and initialized. that inherited value cannot be taken to mean that the child occupies the same mesh slot. normal message handling is unaffected because each delivered message carries its ownCAST_POINT. documentation and tests pin this distinction.the remaining changes mechanically update
RemoteSpawnimplementations and remove the old transient-header merge.Differential Revision: D114075166