torchmonarch-nightly 2025.9.7__cp313-cp313-manylinux2014_x86_64.whl → 2025.9.9__cp313-cp313-manylinux2014_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- monarch/__init__.py +0 -7
- monarch/_rust_bindings.so +0 -0
- monarch/_src/actor/bootstrap_main.py +1 -6
- monarch/_src/actor/pickle.py +10 -4
- monarch/monarch_controller +0 -0
- {torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/METADATA +5 -5
- {torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/RECORD +11 -11
- {torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/WHEEL +0 -0
- {torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/entry_points.txt +0 -0
- {torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/licenses/LICENSE +0 -0
- {torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/top_level.txt +0 -0
monarch/__init__.py
CHANGED
@@ -9,13 +9,6 @@
|
|
9
9
|
from importlib import import_module as _import_module
|
10
10
|
from typing import TYPE_CHECKING
|
11
11
|
|
12
|
-
# Import before monarch to pre-load torch DSOs as, in exploded wheel flows,
|
13
|
-
# our RPATHs won't correctly find them.
|
14
|
-
try:
|
15
|
-
import torch # noqa: F401
|
16
|
-
except ImportError:
|
17
|
-
pass
|
18
|
-
|
19
12
|
# submodules of monarch should not be imported in this
|
20
13
|
# top-level file because it will cause them to get
|
21
14
|
# loaded even if they are not actually being used.
|
monarch/_rust_bindings.so
CHANGED
Binary file
|
@@ -17,12 +17,6 @@ import multiprocessing
|
|
17
17
|
import os
|
18
18
|
import sys
|
19
19
|
|
20
|
-
# Import torch to avoid import-time races if a spawned actor tries to import torch.
|
21
|
-
try:
|
22
|
-
import torch # @manual # noqa: F401
|
23
|
-
except ImportError:
|
24
|
-
pass
|
25
|
-
|
26
20
|
|
27
21
|
async def main():
|
28
22
|
from monarch._rust_bindings.monarch_hyperactor.bootstrap import bootstrap_main
|
@@ -38,6 +32,7 @@ def invoke_main():
|
|
38
32
|
global bootstrap_main
|
39
33
|
|
40
34
|
# TODO: figure out what from worker_main.py we should reproduce here.
|
35
|
+
|
41
36
|
from monarch._src.actor.telemetry import TracingForwarder # noqa
|
42
37
|
|
43
38
|
if os.environ.get("MONARCH_ERROR_DURING_BOOTSTRAP_FOR_TESTING") == "1":
|
monarch/_src/actor/pickle.py
CHANGED
@@ -8,15 +8,18 @@
|
|
8
8
|
|
9
9
|
import io
|
10
10
|
import pickle
|
11
|
+
import sys
|
11
12
|
from contextlib import contextmanager, ExitStack
|
12
13
|
from typing import Any, Callable, Iterable, List, Tuple
|
13
14
|
|
14
15
|
import cloudpickle
|
15
16
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
torch
|
17
|
+
|
18
|
+
def maybe_torch():
|
19
|
+
"""
|
20
|
+
We have to do some special pickling if torch is loaded but not if it isn't loaded?
|
21
|
+
"""
|
22
|
+
return sys.modules.get("torch")
|
20
23
|
|
21
24
|
|
22
25
|
_orig_function_getstate = cloudpickle.cloudpickle._function_getstate
|
@@ -76,6 +79,7 @@ def flatten(obj: Any, filter: Callable[[Any], bool]) -> Tuple[List[Any], bytes]:
|
|
76
79
|
|
77
80
|
def unflatten(data: bytes, values: Iterable[Any]) -> Any:
|
78
81
|
with ExitStack() as stack:
|
82
|
+
torch = maybe_torch()
|
79
83
|
if torch is not None:
|
80
84
|
stack.enter_context(load_tensors_on_cpu())
|
81
85
|
stack.enter_context(torch.utils._python_dispatch._disable_current_modes())
|
@@ -87,6 +91,8 @@ def unflatten(data: bytes, values: Iterable[Any]) -> Any:
|
|
87
91
|
def load_tensors_on_cpu():
|
88
92
|
# Ensure that any tensors load from CPU via monkeypatching how Storages are
|
89
93
|
# loaded.
|
94
|
+
import torch
|
95
|
+
|
90
96
|
old = torch.storage._load_from_bytes
|
91
97
|
try:
|
92
98
|
torch.storage._load_from_bytes = lambda b: torch.load(
|
monarch/monarch_controller
CHANGED
Binary file
|
{torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: torchmonarch-nightly
|
3
|
-
Version: 2025.9.
|
3
|
+
Version: 2025.9.9
|
4
4
|
Summary: Monarch: Single controller library
|
5
5
|
Author: Meta
|
6
6
|
Author-email: oncall+monarch@xmail.facebook.com
|
@@ -35,8 +35,8 @@ Dynamic: summary
|
|
35
35
|
actor messaging. It provides:
|
36
36
|
|
37
37
|
1. Remote actors with scalable messaging: Actors are grouped into collections called meshes and messages can be broadcast to all members.
|
38
|
-
2. Fault tolerance through supervision trees: Actors and processes
|
39
|
-
3. Point-to-point RDMA transfers: cheap registration of any GPU or CPU memory in a process, with the one-sided
|
38
|
+
2. Fault tolerance through supervision trees: Actors and processes form a tree and failures propagate up the tree, providing good default error behavior and enabling fine-grained fault recovery.
|
39
|
+
3. Point-to-point RDMA transfers: cheap registration of any GPU or CPU memory in a process, with the one-sided transfers based on libibverbs
|
40
40
|
4. Distributed tensors: actors can work with tensor objects sharded across processes
|
41
41
|
|
42
42
|
Monarch code imperatively describes how to create processes and actors using a simple python API:
|
@@ -57,7 +57,7 @@ class Trainer(Actor):
|
|
57
57
|
# create the trainers
|
58
58
|
trainers = training_procs.spawn("trainers", Trainer)
|
59
59
|
|
60
|
-
# tell all the trainers to
|
60
|
+
# tell all the trainers to take a step
|
61
61
|
fut = trainers.train.call(step=0)
|
62
62
|
|
63
63
|
# wait for all trainers to complete
|
@@ -113,7 +113,7 @@ sudo dnf install cuda-toolkit-12-0 cuda-12-0
|
|
113
113
|
|
114
114
|
# Install clang-dev and nccl-dev
|
115
115
|
sudo dnf install clang-devel libnccl-devel
|
116
|
-
# Or, in some
|
116
|
+
# Or, in some environments, the following may be necessary instead
|
117
117
|
conda install -c conda-forge clangdev nccl
|
118
118
|
conda update -n monarchenv --all -c conda-forge -y
|
119
119
|
|
@@ -1,5 +1,5 @@
|
|
1
|
-
monarch/__init__.py,sha256=
|
2
|
-
monarch/_rust_bindings.so,sha256=
|
1
|
+
monarch/__init__.py,sha256=cH7tTOsGn-qoeBmSVv_67yHxxsQhMQD2aBScPPkNO7k,6870
|
2
|
+
monarch/_rust_bindings.so,sha256=XMUUyzFMIuYh3vIu4OU025Vtyl25jGcwFw2hzYh58iY,61507624
|
3
3
|
monarch/_testing.py,sha256=5BDMVA4hBMo780rsJ39vRmUZi6mTN8aYY7I9grJRjJ8,7841
|
4
4
|
monarch/actor_mesh.py,sha256=VtPU9syi_vUdwDSJJ639Z4Y_EcWZUScyoj0lQ88RQPs,421
|
5
5
|
monarch/bootstrap_main.py,sha256=39OZpNMrfvvNJf-iwuNzgslzYA_ItaRPHfXGn_V74N0,524
|
@@ -8,7 +8,7 @@ monarch/fetch.py,sha256=CssP25dMqyJnJAWoC41lwkMnSbvS-f2DL9PRbudJXfc,1704
|
|
8
8
|
monarch/gradient_generator.py,sha256=b7PmoN_F3c5hQglfHeW_v5htYnePKvJGkzZN-tpHR4A,6396
|
9
9
|
monarch/memory.py,sha256=ol86dBhFAJqg78iF25-BuK0wuwj1onR8FIioZ_B0gjw,1377
|
10
10
|
monarch/mesh_controller.py,sha256=Y_26Cnmp72TccNbWdDQhq18j7de7pSw83E_fREJX9Yo,15372
|
11
|
-
monarch/monarch_controller,sha256=
|
11
|
+
monarch/monarch_controller,sha256=SD2c06R9ClraWw-Uwui05KragWtk9RmU89cLQ2IjXPE,30598480
|
12
12
|
monarch/notebook.py,sha256=zu9MKDFKf1-rCM2TqFSRJjMBeiWuKcJSyUFLvoZRQzs,25949
|
13
13
|
monarch/opaque_module.py,sha256=jCcg0DjbcEVXA9WNG0NhUzGteLHOJLTZEBvrIYJIAns,10436
|
14
14
|
monarch/opaque_object.py,sha256=x1LoX6RIMGh4ux52xIfhPgoh6PhZHdkf9bMccHW3DW0,2808
|
@@ -27,14 +27,14 @@ monarch/_src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
27
|
monarch/_src/actor/__init__.py,sha256=4iK3nzQZmEPe0HGNY70fABBenw3lCVVaaF0xddF5Fa0,235
|
28
28
|
monarch/_src/actor/actor_mesh.py,sha256=P9b4CvxYeYfJecPxeEtohAasvGgzzElcvxh9chALeAA,40526
|
29
29
|
monarch/_src/actor/allocator.py,sha256=UVGhrkPQMqPQp6vUngPI361s6yCEfZ0gfz8WTtG2om4,9392
|
30
|
-
monarch/_src/actor/bootstrap_main.py,sha256=
|
30
|
+
monarch/_src/actor/bootstrap_main.py,sha256=Dp9VVNILHxzmoqtiY5cBGZzvf0tTrIjD81eGdnmdpuY,2253
|
31
31
|
monarch/_src/actor/device_utils.py,sha256=gBpl23wMjppVAEzzj8U9HyX-B7Bs2_3ftiMAkzUS4j4,577
|
32
32
|
monarch/_src/actor/endpoint.py,sha256=ndIxeXfXKpW-nb-CtYsDpt2UjQwRIdNZfmSL218yHd0,10887
|
33
33
|
monarch/_src/actor/event_loop.py,sha256=2i4fKIkemBzua_t47BqVa2roZ6fWB6sbmMFPNx2zKN0,2832
|
34
34
|
monarch/_src/actor/future.py,sha256=idgqzU_B5qWfClIP5dTLapmBflWq5va-ujAzUbT1Asc,7490
|
35
35
|
monarch/_src/actor/host_mesh.py,sha256=8SOkg_LhHuzLyhpwxT7Yw1_h8QrIlwfWhrSwHyAvfnk,5083
|
36
36
|
monarch/_src/actor/logging.py,sha256=9aguohqCtvLVwWGTFM7o-rBptT26BjI2s6E5Of2imM4,3311
|
37
|
-
monarch/_src/actor/pickle.py,sha256=
|
37
|
+
monarch/_src/actor/pickle.py,sha256=ZK2vzI7BJeZHMLh6vLdQFACqvSlyWldJO_kzDPTUTGQ,3061
|
38
38
|
monarch/_src/actor/proc_mesh.py,sha256=lYrRMQNOGAdFXuFvc3lQ68xIS01YJWMkpi8qH5HHAHE,27791
|
39
39
|
monarch/_src/actor/python_extension_methods.py,sha256=QujLWOQQbDdGCin8tZfDxyIwkM-Md4t9QtcTGTHOE_s,3493
|
40
40
|
monarch/_src/actor/shape.py,sha256=PJqxpQEISHlxK8rrlKWpcNMEHiGxBbc6TsHcGZCOsyE,8472
|
@@ -186,9 +186,9 @@ tests/simulator/test_profiling.py,sha256=TGYCfzTLdkpIwnOuO6KApprmrgPIRQe60KRX3wk
|
|
186
186
|
tests/simulator/test_simulator.py,sha256=LO8lA0ssY-OGEBL5ipEu74f97Y765TEwfUOv-DtIptM,14568
|
187
187
|
tests/simulator/test_task.py,sha256=ipqBDuDAysuo1xOB9S5psaFvwe6VATD43IovCTSs0t4,2327
|
188
188
|
tests/simulator/test_worker.py,sha256=QrWWIJ3HDgDLkBPRc2mwYPlOQoXQcj1qRfc0WUfKkFY,3507
|
189
|
-
torchmonarch_nightly-2025.9.
|
190
|
-
torchmonarch_nightly-2025.9.
|
191
|
-
torchmonarch_nightly-2025.9.
|
192
|
-
torchmonarch_nightly-2025.9.
|
193
|
-
torchmonarch_nightly-2025.9.
|
194
|
-
torchmonarch_nightly-2025.9.
|
189
|
+
torchmonarch_nightly-2025.9.9.dist-info/licenses/LICENSE,sha256=e0Eotbf_rHOYPuEUlppIbvwy4SN98CZnl_hqwvbDA4Q,1530
|
190
|
+
torchmonarch_nightly-2025.9.9.dist-info/METADATA,sha256=SMfT1xHAuNlQkzHJZ4paq0GNL_PA_hZlLGReEAe9ZJU,6473
|
191
|
+
torchmonarch_nightly-2025.9.9.dist-info/WHEEL,sha256=OlISbtpDcfagPrLwG7WtpcZbPTUnoKPnwphA_26fNqE,104
|
192
|
+
torchmonarch_nightly-2025.9.9.dist-info/entry_points.txt,sha256=60QVSpYVzkzS4iDOiLp0fsLxVp47X3J2l3v7W-59LMo,117
|
193
|
+
torchmonarch_nightly-2025.9.9.dist-info/top_level.txt,sha256=E-ZssZzyM17glpVrh-S9--qJ-w9p2EjuYOuNw9tQ4Eg,33
|
194
|
+
torchmonarch_nightly-2025.9.9.dist-info/RECORD,,
|
File without changes
|
{torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/entry_points.txt
RENAMED
File without changes
|
{torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
{torchmonarch_nightly-2025.9.7.dist-info → torchmonarch_nightly-2025.9.9.dist-info}/top_level.txt
RENAMED
File without changes
|