torchmonarch-nightly 2025.9.9__cp312-cp312-manylinux2014_x86_64.whl → 2025.9.10__cp312-cp312-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 CHANGED
@@ -9,6 +9,13 @@
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
+
12
19
  # submodules of monarch should not be imported in this
13
20
  # top-level file because it will cause them to get
14
21
  # loaded even if they are not actually being used.
monarch/_rust_bindings.so CHANGED
Binary file
@@ -17,6 +17,12 @@ 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
+
20
26
 
21
27
  async def main():
22
28
  from monarch._rust_bindings.monarch_hyperactor.bootstrap import bootstrap_main
@@ -32,7 +38,6 @@ def invoke_main():
32
38
  global bootstrap_main
33
39
 
34
40
  # TODO: figure out what from worker_main.py we should reproduce here.
35
-
36
41
  from monarch._src.actor.telemetry import TracingForwarder # noqa
37
42
 
38
43
  if os.environ.get("MONARCH_ERROR_DURING_BOOTSTRAP_FOR_TESTING") == "1":
@@ -8,18 +8,15 @@
8
8
 
9
9
  import io
10
10
  import pickle
11
- import sys
12
11
  from contextlib import contextmanager, ExitStack
13
12
  from typing import Any, Callable, Iterable, List, Tuple
14
13
 
15
14
  import cloudpickle
16
15
 
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")
16
+ try:
17
+ import torch # @manual
18
+ except ImportError:
19
+ torch = None
23
20
 
24
21
 
25
22
  _orig_function_getstate = cloudpickle.cloudpickle._function_getstate
@@ -79,7 +76,6 @@ def flatten(obj: Any, filter: Callable[[Any], bool]) -> Tuple[List[Any], bytes]:
79
76
 
80
77
  def unflatten(data: bytes, values: Iterable[Any]) -> Any:
81
78
  with ExitStack() as stack:
82
- torch = maybe_torch()
83
79
  if torch is not None:
84
80
  stack.enter_context(load_tensors_on_cpu())
85
81
  stack.enter_context(torch.utils._python_dispatch._disable_current_modes())
@@ -91,8 +87,6 @@ def unflatten(data: bytes, values: Iterable[Any]) -> Any:
91
87
  def load_tensors_on_cpu():
92
88
  # Ensure that any tensors load from CPU via monkeypatching how Storages are
93
89
  # loaded.
94
- import torch
95
-
96
90
  old = torch.storage._load_from_bytes
97
91
  try:
98
92
  torch.storage._load_from_bytes = lambda b: torch.load(
@@ -127,6 +127,8 @@ class RDMABuffer:
127
127
  storage = data.untyped_storage()
128
128
  addr: int = storage.data_ptr()
129
129
  size = storage.element_size() * data.numel()
130
+ if size == 0:
131
+ raise ValueError("Cannot create RDMABuffer with size 0.")
130
132
  ctx = context()
131
133
  self._buffer: _RdmaBuffer = _RdmaBuffer.create_rdma_buffer_blocking(
132
134
  addr=addr,
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: torchmonarch-nightly
3
- Version: 2025.9.9
3
+ Version: 2025.9.10
4
4
  Summary: Monarch: Single controller library
5
5
  Author: Meta
6
6
  Author-email: oncall+monarch@xmail.facebook.com
@@ -1,5 +1,5 @@
1
- monarch/__init__.py,sha256=cH7tTOsGn-qoeBmSVv_67yHxxsQhMQD2aBScPPkNO7k,6870
2
- monarch/_rust_bindings.so,sha256=7-AmFeru4nRk4zEzu1tF9MI1HTNVnRhlNHjxLrrVfRw,61507272
1
+ monarch/__init__.py,sha256=mgKiyD1kxky-1pvhMlNfF4VmxWnhi-FSYZNFzkW1BEM,7052
2
+ monarch/_rust_bindings.so,sha256=Tquy65gKF_Y_T8Lr7SJlpAGuobqPhCuCHjRM4Fno8CE,61563512
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=eNQbwU89W2NjpMDctDp46K24bAi8F74NmVu3VPhtYxc,30600368
11
+ monarch/monarch_controller,sha256=jHs2FbKLcA2LP917LOixhNoRov9W5LM4s0bw4U3lzuI,30737984
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=Dp9VVNILHxzmoqtiY5cBGZzvf0tTrIjD81eGdnmdpuY,2253
30
+ monarch/_src/actor/bootstrap_main.py,sha256=7T7ARumcHLZ5RI-k5jej9tBil0J7-BUSVFKwAZO2tJU,2413
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=ZK2vzI7BJeZHMLh6vLdQFACqvSlyWldJO_kzDPTUTGQ,3061
37
+ monarch/_src/actor/pickle.py,sha256=FhdbAEsGrsD7f25bxF7HlROLm6j2TTvmToq8P1kyhB8,2913
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
@@ -51,7 +51,7 @@ monarch/_src/actor/telemetry/rust_span_tracing.py,sha256=92nQlaf_UtuwhFAC3_m-f1U
51
51
  monarch/_src/debug_cli/__init__.py,sha256=NNrKh5KdiYdbxOhin8x-gw_-tvcuGex2UbS_z7MV9g0,223
52
52
  monarch/_src/debug_cli/debug_cli.py,sha256=OJqqVFXcMkj-bnrxcE2VnjIgA5xrlKjEtCstrsdPcm0,1146
53
53
  monarch/_src/tensor_engine/__init__.py,sha256=Md3cCHD7Ano9kV15PqGbicgUO-RMdh4aVy1yKiDt_xE,208
54
- monarch/_src/tensor_engine/rdma.py,sha256=62saqcXo6oUxH9rEZShNGLYdRZ_zizLQKhub7LDSaBg,8418
54
+ monarch/_src/tensor_engine/rdma.py,sha256=IQ3ukSE_fUtn9AWGjWq_3nDG6bd1LIyTl9PvPEsEZvk,8518
55
55
  monarch/actor/__init__.py,sha256=hHf8ri2czQwi-Z23Z9cYZ2FvkVbYOcDA_GTLW_rju7k,1569
56
56
  monarch/builtins/__init__.py,sha256=QcfnHZGbc2qktBg7DyZt2ruE6VahnIt4S8lEZLHdJqU,443
57
57
  monarch/builtins/log.py,sha256=H1QkuVzwxyi36Zyv-XR0VN0QsNimBWwxE1__fjs0_2o,554
@@ -98,7 +98,7 @@ monarch/debug_cli/__init__.py,sha256=NNrKh5KdiYdbxOhin8x-gw_-tvcuGex2UbS_z7MV9g0
98
98
  monarch/debug_cli/__main__.py,sha256=FGsQn54RkC_3gpRrm_UFrGiDDHRbMeGzXXsGANr5UHU,317
99
99
  monarch/gradient/__init__.py,sha256=kqmzwt16mMpk0M3GhpgP_f7da4DGnaV9chDzbt66k4Q,308
100
100
  monarch/gradient/_gradient_generator.pyi,sha256=6cX0UxaDt9NAlwgIhTgnweqGOf6qRhHiGnUzSWNCxdU,630
101
- monarch/gradient/_gradient_generator.so,sha256=X9By8Bu54oqvcKJSW5gK8Eaec-xBhxnbFhHRZkSesAQ,12173048
101
+ monarch/gradient/_gradient_generator.so,sha256=MuiNxFL8hj-s5ioWq3ScC5qiI4tw7YpLRi5E-PBN-ys,12173136
102
102
  monarch/parallel/__init__.py,sha256=6920kIkhiX7AiyjYvyc1ad8ccP-bStJJ1sS5KkeN2P0,352
103
103
  monarch/parallel/pipelining/__init__.py,sha256=J8qjUOysmcMAek2KFN13mViOXZxTYc5vCrF02t3VuFU,223
104
104
  monarch/parallel/pipelining/runtime.py,sha256=KK8TG1gUYEzSsquiZoPTWGSIC74mlncD7cYknKxfb3c,32470
@@ -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.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=lduYNUEDASmtUEDemd8SmeX1qOMvvA6YKAbAo1Qbwk8,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,,
189
+ torchmonarch_nightly-2025.9.10.dist-info/licenses/LICENSE,sha256=e0Eotbf_rHOYPuEUlppIbvwy4SN98CZnl_hqwvbDA4Q,1530
190
+ torchmonarch_nightly-2025.9.10.dist-info/METADATA,sha256=6q5sW72_wOtfIlpcRQuZR9kwfYZCOk8SoUEkgvtUJdY,6474
191
+ torchmonarch_nightly-2025.9.10.dist-info/WHEEL,sha256=lduYNUEDASmtUEDemd8SmeX1qOMvvA6YKAbAo1Qbwk8,104
192
+ torchmonarch_nightly-2025.9.10.dist-info/entry_points.txt,sha256=60QVSpYVzkzS4iDOiLp0fsLxVp47X3J2l3v7W-59LMo,117
193
+ torchmonarch_nightly-2025.9.10.dist-info/top_level.txt,sha256=E-ZssZzyM17glpVrh-S9--qJ-w9p2EjuYOuNw9tQ4Eg,33
194
+ torchmonarch_nightly-2025.9.10.dist-info/RECORD,,