xoscar 0.3.2__cp310-cp310-macosx_10_9_universal2.whl → 0.3.3__cp310-cp310-macosx_10_9_universal2.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.
Potentially problematic release.
This version of xoscar might be problematic. Click here for more details.
- xoscar/_utils.cpython-310-darwin.so +0 -0
- xoscar/backends/communication/socket.py +24 -4
- xoscar/backends/communication/ucx.py +14 -4
- xoscar/backends/indigen/pool.py +12 -12
- xoscar/backends/message.cpython-310-darwin.so +0 -0
- xoscar/collective/core.py +1 -1
- xoscar/collective/xoscar_pygloo.cpython-310-darwin.so +0 -0
- xoscar/context.cpython-310-darwin.so +0 -0
- xoscar/core.cpython-310-darwin.so +0 -0
- xoscar/serialization/core.cpython-310-darwin.so +0 -0
- xoscar/utils.py +7 -2
- {xoscar-0.3.2.dist-info → xoscar-0.3.3.dist-info}/METADATA +30 -30
- {xoscar-0.3.2.dist-info → xoscar-0.3.3.dist-info}/RECORD +15 -15
- {xoscar-0.3.2.dist-info → xoscar-0.3.3.dist-info}/WHEEL +1 -1
- {xoscar-0.3.2.dist-info → xoscar-0.3.3.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
@@ -30,7 +30,7 @@ from urllib.parse import urlparse
|
|
|
30
30
|
from ..._utils import to_binary
|
|
31
31
|
from ...constants import XOSCAR_UNIX_SOCKET_DIR
|
|
32
32
|
from ...serialization import AioDeserializer, AioSerializer, deserialize
|
|
33
|
-
from ...utils import classproperty, implements
|
|
33
|
+
from ...utils import classproperty, implements, is_v6_ip
|
|
34
34
|
from .base import Channel, ChannelType, Client, Server
|
|
35
35
|
from .core import register_client, register_server
|
|
36
36
|
from .utils import read_buffers, write_buffers
|
|
@@ -201,17 +201,37 @@ class SocketServer(_BaseSocketServer):
|
|
|
201
201
|
def channel_type(self) -> int:
|
|
202
202
|
return ChannelType.remote
|
|
203
203
|
|
|
204
|
+
@classmethod
|
|
205
|
+
def parse_config(cls, config: dict) -> dict:
|
|
206
|
+
if config is None or not config:
|
|
207
|
+
return dict()
|
|
208
|
+
# we only need the following config
|
|
209
|
+
keys = ["listen_elastic_ip"]
|
|
210
|
+
parsed_config = {key: config[key] for key in keys if key in config}
|
|
211
|
+
|
|
212
|
+
return parsed_config
|
|
213
|
+
|
|
204
214
|
@staticmethod
|
|
205
215
|
@implements(Server.create)
|
|
206
216
|
async def create(config: Dict) -> "Server":
|
|
207
217
|
config = config.copy()
|
|
208
218
|
if "address" in config:
|
|
209
219
|
address = config.pop("address")
|
|
210
|
-
host, port = address.
|
|
220
|
+
host, port = address.rsplit(":", 1)
|
|
211
221
|
port = int(port)
|
|
212
222
|
else:
|
|
213
223
|
host = config.pop("host")
|
|
214
224
|
port = int(config.pop("port"))
|
|
225
|
+
_host = host
|
|
226
|
+
if config.pop("listen_elastic_ip", False):
|
|
227
|
+
# The Actor.address will be announce to client, and is not on our host,
|
|
228
|
+
# cannot actually listen on it,
|
|
229
|
+
# so we have to keep SocketServer.host untouched to make sure Actor.address not changed
|
|
230
|
+
if is_v6_ip(host):
|
|
231
|
+
_host = "::"
|
|
232
|
+
else:
|
|
233
|
+
_host = "0.0.0.0"
|
|
234
|
+
|
|
215
235
|
handle_channel = config.pop("handle_channel")
|
|
216
236
|
if "start_serving" not in config:
|
|
217
237
|
config["start_serving"] = False
|
|
@@ -224,7 +244,7 @@ class SocketServer(_BaseSocketServer):
|
|
|
224
244
|
|
|
225
245
|
port = port if port != 0 else None
|
|
226
246
|
aio_server = await asyncio.start_server(
|
|
227
|
-
handle_connection, host=
|
|
247
|
+
handle_connection, host=_host, port=port, **config
|
|
228
248
|
)
|
|
229
249
|
|
|
230
250
|
# get port of the socket if not specified
|
|
@@ -250,7 +270,7 @@ class SocketClient(Client):
|
|
|
250
270
|
async def connect(
|
|
251
271
|
dest_address: str, local_address: str | None = None, **kwargs
|
|
252
272
|
) -> "Client":
|
|
253
|
-
host, port_str = dest_address.
|
|
273
|
+
host, port_str = dest_address.rsplit(":", 1)
|
|
254
274
|
port = int(port_str)
|
|
255
275
|
(reader, writer) = await asyncio.open_connection(host=host, port=port, **kwargs)
|
|
256
276
|
channel = SocketChannel(
|
|
@@ -28,7 +28,7 @@ import numpy as np
|
|
|
28
28
|
from ...nvutils import get_cuda_context, get_index_and_uuid
|
|
29
29
|
from ...serialization import deserialize
|
|
30
30
|
from ...serialization.aio import BUFFER_SIZES_NAME, AioSerializer, get_header_length
|
|
31
|
-
from ...utils import classproperty, implements, is_cuda_buffer, lazy_import
|
|
31
|
+
from ...utils import classproperty, implements, is_cuda_buffer, is_v6_ip, lazy_import
|
|
32
32
|
from ..message import _MessageBase
|
|
33
33
|
from .base import Channel, ChannelType, Client, Server
|
|
34
34
|
from .core import register_client, register_server
|
|
@@ -401,11 +401,21 @@ class UCXServer(Server):
|
|
|
401
401
|
prefix = f"{UCXServer.scheme}://"
|
|
402
402
|
if address.startswith(prefix):
|
|
403
403
|
address = address[len(prefix) :]
|
|
404
|
-
host, port = address.
|
|
404
|
+
host, port = address.rsplit(":", 1)
|
|
405
405
|
port = int(port)
|
|
406
406
|
else:
|
|
407
407
|
host = config.pop("host")
|
|
408
408
|
port = int(config.pop("port"))
|
|
409
|
+
_host = host
|
|
410
|
+
if config.pop("listen_elastic_ip", False):
|
|
411
|
+
# The Actor.address will be announce to client, and is not on our host,
|
|
412
|
+
# cannot actually listen on it,
|
|
413
|
+
# so we have to keep SocketServer.host untouched to make sure Actor.address not changed
|
|
414
|
+
if is_v6_ip(host):
|
|
415
|
+
_host = "::"
|
|
416
|
+
else:
|
|
417
|
+
_host = "0.0.0.0"
|
|
418
|
+
|
|
409
419
|
handle_channel = config.pop("handle_channel")
|
|
410
420
|
|
|
411
421
|
# init
|
|
@@ -414,7 +424,7 @@ class UCXServer(Server):
|
|
|
414
424
|
async def serve_forever(client_ucp_endpoint: "ucp.Endpoint"): # type: ignore
|
|
415
425
|
try:
|
|
416
426
|
await server.on_connected(
|
|
417
|
-
client_ucp_endpoint, local_address=
|
|
427
|
+
client_ucp_endpoint, local_address="%s:%d" % (_host, port)
|
|
418
428
|
)
|
|
419
429
|
except ChannelClosed: # pragma: no cover
|
|
420
430
|
logger.exception("Connection closed before handshake completed")
|
|
@@ -498,7 +508,7 @@ class UCXClient(Client):
|
|
|
498
508
|
prefix = f"{UCXClient.scheme}://"
|
|
499
509
|
if dest_address.startswith(prefix):
|
|
500
510
|
dest_address = dest_address[len(prefix) :]
|
|
501
|
-
host, port_str = dest_address.
|
|
511
|
+
host, port_str = dest_address.rsplit(":", 1)
|
|
502
512
|
port = int(port_str)
|
|
503
513
|
kwargs = kwargs.copy()
|
|
504
514
|
ucx_config = kwargs.pop("config", dict()).get("ucx", dict())
|
xoscar/backends/indigen/pool.py
CHANGED
|
@@ -132,7 +132,7 @@ class MainActorPool(MainActorPoolBase):
|
|
|
132
132
|
"""Get external address for every process"""
|
|
133
133
|
assert n_process is not None
|
|
134
134
|
if ":" in address:
|
|
135
|
-
host, port_str = address.
|
|
135
|
+
host, port_str = address.rsplit(":", 1)
|
|
136
136
|
port = int(port_str)
|
|
137
137
|
if ports:
|
|
138
138
|
if len(ports) != n_process:
|
|
@@ -324,6 +324,7 @@ class MainActorPool(MainActorPoolBase):
|
|
|
324
324
|
start_method: str | None = None,
|
|
325
325
|
kwargs: dict | None = None,
|
|
326
326
|
):
|
|
327
|
+
# external_address has port 0, subprocess will bind random port.
|
|
327
328
|
external_address = (
|
|
328
329
|
external_address
|
|
329
330
|
or MainActorPool.get_external_addresses(self.external_address, n_process=1)[
|
|
@@ -393,7 +394,7 @@ class MainActorPool(MainActorPoolBase):
|
|
|
393
394
|
content=self._config,
|
|
394
395
|
)
|
|
395
396
|
await self.handle_control_command(control_message)
|
|
396
|
-
|
|
397
|
+
# The actual port will return in process_status.
|
|
397
398
|
return process_status.external_addresses[0]
|
|
398
399
|
|
|
399
400
|
async def remove_sub_pool(
|
|
@@ -416,22 +417,21 @@ class MainActorPool(MainActorPoolBase):
|
|
|
416
417
|
async def kill_sub_pool(
|
|
417
418
|
self, process: multiprocessing.Process, force: bool = False
|
|
418
419
|
):
|
|
419
|
-
if
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
process.terminate()
|
|
420
|
+
if not force: # pragma: no cover
|
|
421
|
+
# must shutdown gracefully, or subprocess created by model will not exit
|
|
422
|
+
if not _is_windows:
|
|
423
|
+
try:
|
|
424
|
+
os.kill(process.pid, signal.SIGINT) # type: ignore
|
|
425
|
+
except OSError: # pragma: no cover
|
|
426
|
+
pass
|
|
427
|
+
process.terminate() # SIGTERM
|
|
428
428
|
wait_pool = futures.ThreadPoolExecutor(1)
|
|
429
429
|
try:
|
|
430
430
|
loop = asyncio.get_running_loop()
|
|
431
431
|
await loop.run_in_executor(wait_pool, process.join, 3)
|
|
432
432
|
finally:
|
|
433
433
|
wait_pool.shutdown(False)
|
|
434
|
-
process.kill()
|
|
434
|
+
process.kill() # SIGKILL
|
|
435
435
|
await asyncio.to_thread(process.join, 5)
|
|
436
436
|
|
|
437
437
|
async def is_sub_pool_alive(self, process: multiprocessing.Process):
|
|
Binary file
|
xoscar/collective/core.py
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
xoscar/utils.py
CHANGED
|
@@ -465,12 +465,12 @@ def is_linux():
|
|
|
465
465
|
|
|
466
466
|
|
|
467
467
|
def is_v4_zero_ip(ip_port_addr: str) -> bool:
|
|
468
|
-
return ip_port_addr.startswith("0.0.0.0:")
|
|
468
|
+
return ip_port_addr.split("://")[-1].startswith("0.0.0.0:")
|
|
469
469
|
|
|
470
470
|
|
|
471
471
|
def is_v6_zero_ip(ip_port_addr: str) -> bool:
|
|
472
472
|
# tcp6 addr ":::123", ":: means all zero"
|
|
473
|
-
arr = ip_port_addr.split(":")
|
|
473
|
+
arr = ip_port_addr.split("://")[-1].split(":")
|
|
474
474
|
if len(arr) <= 2: # Not tcp6 or udp6
|
|
475
475
|
return False
|
|
476
476
|
for part in arr[0:-1]:
|
|
@@ -480,6 +480,11 @@ def is_v6_zero_ip(ip_port_addr: str) -> bool:
|
|
|
480
480
|
return True
|
|
481
481
|
|
|
482
482
|
|
|
483
|
+
def is_v6_ip(ip_port_addr: str) -> bool:
|
|
484
|
+
arr = ip_port_addr.split("://", 1)[-1].split(":")
|
|
485
|
+
return len(arr) > 1
|
|
486
|
+
|
|
487
|
+
|
|
483
488
|
def fix_all_zero_ip(remote_addr: str, connect_addr: str) -> str:
|
|
484
489
|
"""
|
|
485
490
|
Use connect_addr to fix ActorRef.address return by remote server.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: xoscar
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.3
|
|
4
4
|
Summary: Python actor framework for heterogeneous computing.
|
|
5
5
|
Home-page: http://github.com/xorbitsai/xoscar
|
|
6
6
|
Author: Qin Xuye
|
|
@@ -18,41 +18,41 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
18
18
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
19
19
|
Classifier: Topic :: Software Development :: Libraries
|
|
20
20
|
Description-Content-Type: text/markdown
|
|
21
|
-
Requires-Dist: numpy
|
|
22
|
-
Requires-Dist: pandas
|
|
23
|
-
Requires-Dist: cloudpickle
|
|
24
|
-
Requires-Dist: psutil
|
|
25
|
-
Requires-Dist: tblib
|
|
21
|
+
Requires-Dist: numpy<2.0.0,>=1.14.0
|
|
22
|
+
Requires-Dist: pandas>=1.0.0
|
|
23
|
+
Requires-Dist: cloudpickle>=1.5.0
|
|
24
|
+
Requires-Dist: psutil>=5.9.0
|
|
25
|
+
Requires-Dist: tblib>=1.7.0
|
|
26
26
|
Requires-Dist: packaging
|
|
27
|
-
Requires-Dist: pickle5
|
|
28
|
-
Requires-Dist: uvloop
|
|
29
|
-
Requires-Dist: scipy
|
|
30
|
-
Requires-Dist: scipy
|
|
27
|
+
Requires-Dist: pickle5; python_version < "3.8"
|
|
28
|
+
Requires-Dist: uvloop>=0.14.0; sys_platform != "win32"
|
|
29
|
+
Requires-Dist: scipy>=1.0.0; sys_platform != "win32" or python_version >= "3.10"
|
|
30
|
+
Requires-Dist: scipy<=1.9.1,>=1.0.0; sys_platform == "win32" and python_version < "3.10"
|
|
31
31
|
Provides-Extra: dev
|
|
32
|
-
Requires-Dist: cython
|
|
33
|
-
Requires-Dist: pytest
|
|
34
|
-
Requires-Dist: pytest-cov
|
|
35
|
-
Requires-Dist: pytest-timeout
|
|
36
|
-
Requires-Dist: pytest-forked
|
|
37
|
-
Requires-Dist: pytest-asyncio
|
|
38
|
-
Requires-Dist: ipython
|
|
39
|
-
Requires-Dist: sphinx
|
|
40
|
-
Requires-Dist: pydata-sphinx-theme
|
|
41
|
-
Requires-Dist: sphinx-intl
|
|
42
|
-
Requires-Dist: flake8
|
|
43
|
-
Requires-Dist: black
|
|
44
|
-
Requires-Dist: mock
|
|
32
|
+
Requires-Dist: cython>=0.29; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest>=3.5.0; extra == "dev"
|
|
34
|
+
Requires-Dist: pytest-cov>=2.5.0; extra == "dev"
|
|
35
|
+
Requires-Dist: pytest-timeout>=1.2.0; extra == "dev"
|
|
36
|
+
Requires-Dist: pytest-forked>=1.0; extra == "dev"
|
|
37
|
+
Requires-Dist: pytest-asyncio>=0.14.0; extra == "dev"
|
|
38
|
+
Requires-Dist: ipython>=6.5.0; extra == "dev"
|
|
39
|
+
Requires-Dist: sphinx<5.0.0,>=3.0.0; extra == "dev"
|
|
40
|
+
Requires-Dist: pydata-sphinx-theme>=0.3.0; extra == "dev"
|
|
41
|
+
Requires-Dist: sphinx-intl>=0.9.9; extra == "dev"
|
|
42
|
+
Requires-Dist: flake8>=3.8.0; extra == "dev"
|
|
43
|
+
Requires-Dist: black; extra == "dev"
|
|
44
|
+
Requires-Dist: mock>=4.0.0; python_version < "3.8" and extra == "dev"
|
|
45
45
|
Provides-Extra: doc
|
|
46
|
-
Requires-Dist: ipython
|
|
47
|
-
Requires-Dist: sphinx
|
|
48
|
-
Requires-Dist: pydata-sphinx-theme
|
|
49
|
-
Requires-Dist: sphinx-intl
|
|
46
|
+
Requires-Dist: ipython>=6.5.0; extra == "doc"
|
|
47
|
+
Requires-Dist: sphinx<5.0.0,>=3.0.0; extra == "doc"
|
|
48
|
+
Requires-Dist: pydata-sphinx-theme>=0.3.0; extra == "doc"
|
|
49
|
+
Requires-Dist: sphinx-intl>=0.9.9; extra == "doc"
|
|
50
50
|
Provides-Extra: extra
|
|
51
|
-
Requires-Dist: pyarrow
|
|
51
|
+
Requires-Dist: pyarrow>=5.0.0; extra == "extra"
|
|
52
52
|
Provides-Extra: kubernetes
|
|
53
|
-
Requires-Dist: kubernetes
|
|
53
|
+
Requires-Dist: kubernetes>=10.0.0; extra == "kubernetes"
|
|
54
54
|
Provides-Extra: ray
|
|
55
|
-
Requires-Dist: xoscar-ray
|
|
55
|
+
Requires-Dist: xoscar-ray>=0.0.1; extra == "ray"
|
|
56
56
|
|
|
57
57
|
<div align="center">
|
|
58
58
|
<img width="77%" alt="" src="https://raw.githubusercontent.com/xprobe-inc/xoscar/main/doc/source/_static/Xoscar.svg"><br>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
xoscar-0.3.
|
|
2
|
-
xoscar-0.3.
|
|
3
|
-
xoscar-0.3.
|
|
4
|
-
xoscar-0.3.
|
|
1
|
+
xoscar-0.3.3.dist-info/RECORD,,
|
|
2
|
+
xoscar-0.3.3.dist-info/WHEEL,sha256=RNtgRL1ujC2TymWV9oL0Oq6EKBLR3oYp0uxLEG7w8S4,115
|
|
3
|
+
xoscar-0.3.3.dist-info/top_level.txt,sha256=vYlqqY4Nys8Thm1hePIuUv8eQePdULVWMmt7lXtX_ZA,21
|
|
4
|
+
xoscar-0.3.3.dist-info/METADATA,sha256=JhNlxO_63BsavL78aca-Dh-oYDl82IbMttpvR5Fdq2U,9193
|
|
5
5
|
xoscar/_utils.pyx,sha256=UR1FtYXAYKIdEWR9HulEpMbSOrkQWi6xGz63d4IQmG0,7059
|
|
6
6
|
xoscar/backend.py,sha256=is436OPkZfSpQXaoqTRVta5eoye_pp45RFgCstAk2hU,1850
|
|
7
7
|
xoscar/core.pxd,sha256=4lBq8J0kjcXcsGuvN7Kv4xcL5liHwTTFWlqyK7XAEnw,1280
|
|
@@ -10,18 +10,18 @@ xoscar/context.pxd,sha256=qKa0OyDPZtVymftSh447m-RzFZgmz8rGqQBa7qlauvc,725
|
|
|
10
10
|
xoscar/batch.py,sha256=DpArS0L3WYJ_HVPG-6hSYEwoAFY1mY2-mlC4Jp5M_Dw,7872
|
|
11
11
|
xoscar/nvutils.py,sha256=qmW4mKLU0WB2yCs198ccQOgLL02zB7Fsa-AotO3NOmg,20412
|
|
12
12
|
xoscar/constants.py,sha256=Yn59lRIOvE1VFwyuZB5G2-gxYIyhIZ1rVovbdFAR2NM,759
|
|
13
|
-
xoscar/_utils.cpython-310-darwin.so,sha256=
|
|
13
|
+
xoscar/_utils.cpython-310-darwin.so,sha256=yjW2ew3HdaVKhCgilSW05gWd0BK2bw02buO4PYPI36A,385929
|
|
14
14
|
xoscar/__init__.py,sha256=0zX8kKaio3ZIrlzB79WybcravMJw1OxPWjDspTgJFyQ,1608
|
|
15
15
|
xoscar/api.py,sha256=3hztPoOxg8A_mlhWyWgVP7FMXG0PATA1TP4Rbaj7A-g,13327
|
|
16
|
-
xoscar/utils.py,sha256=
|
|
16
|
+
xoscar/utils.py,sha256=oNT8Hj_qjTsPGHcHlha21fh-93g8B9BLZ6tnihgZB00,16231
|
|
17
17
|
xoscar/debug.py,sha256=9Z8SgE2WaKYQcyDo-5-DxEJQ533v7kWjrvCd28pSx3E,5069
|
|
18
18
|
xoscar/libcpp.pxd,sha256=DJqBxLFOKL4iRr9Kale5UH3rbvPRD1x5bTSOPHFpz9I,1147
|
|
19
19
|
xoscar/context.pyx,sha256=8CdgPnWcE9eOp3N600WgDQ03MCi8P73eUOGcfV7Zksg,10942
|
|
20
20
|
xoscar/errors.py,sha256=wBlQOKsXf0Fc4skN39tDie0YZT-VIAuLNRgoDl2pZcA,1241
|
|
21
21
|
xoscar/core.pyx,sha256=Aqc2i8Fetsd5wRAPF4kL0ddnBZn3E2HRNCvup79BbQc,21730
|
|
22
22
|
xoscar/driver.py,sha256=498fowtJr6b3FE8FIOA_Tc1Vwx88nfZw7p0FxrML0h4,1372
|
|
23
|
-
xoscar/context.cpython-310-darwin.so,sha256=
|
|
24
|
-
xoscar/core.cpython-310-darwin.so,sha256=
|
|
23
|
+
xoscar/context.cpython-310-darwin.so,sha256=VtkJHRqe1dCGgfHG1aztv3uVjDhKI66xiqoCgCT2rv0,464010
|
|
24
|
+
xoscar/core.cpython-310-darwin.so,sha256=E-GvWFnMTcMvgSMu4hpwmU2IDeNNZoT5g75nBIFxF_0,999687
|
|
25
25
|
xoscar/profiling.py,sha256=BC5OF0HzSaXv8V7w-y-B8r5gV5DgxHFoTEIF6jCMioQ,8015
|
|
26
26
|
xoscar/_utils.pxd,sha256=5KYAL3jfPdejsHnrGGT2s--ZUX5SXznQWpHVSno429k,1157
|
|
27
27
|
xoscar/metrics/__init__.py,sha256=9Badi7rxYikGm2dQiNCrj9GgMRBxwuR3JaEKcFZmfak,705
|
|
@@ -32,9 +32,9 @@ xoscar/metrics/backends/prometheus/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4
|
|
|
32
32
|
xoscar/metrics/backends/prometheus/prometheus_metric.py,sha256=MxoMvVrg0pOkKpkjJ0PcAuEaaEJR2FZljmPrLjQ1-oc,2050
|
|
33
33
|
xoscar/metrics/backends/console/console_metric.py,sha256=y5CCtH33j3AqI5_Uhwi4mgOcAhyhb4cWv_YvR6fxcbQ,2082
|
|
34
34
|
xoscar/metrics/backends/console/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
|
|
35
|
-
xoscar/collective/xoscar_pygloo.cpython-310-darwin.so,sha256=
|
|
35
|
+
xoscar/collective/xoscar_pygloo.cpython-310-darwin.so,sha256=Y00fXZMwyLgUU0cn93bnzqP2KH5nUZMA8XkFyxWmziY,2315264
|
|
36
36
|
xoscar/collective/__init__.py,sha256=XsClIkO_3Jd8GDifYuAbZCmJLAo9ZqGvnjUn9iuogmU,774
|
|
37
|
-
xoscar/collective/core.py,sha256=
|
|
37
|
+
xoscar/collective/core.py,sha256=NVR-7Iaq3aDPCN6fgXcq9Ew6uFEszRwxYqmUG9FLcws,23502
|
|
38
38
|
xoscar/collective/common.py,sha256=INAnISbfnRicbbbDHTqbSr9ITb89ZphH5BUkSpEdXXU,3561
|
|
39
39
|
xoscar/collective/utils.py,sha256=3S4qF4JEnAUD3RiWVBUj-ZptL83CBSwGYyVZyIasAsE,1178
|
|
40
40
|
xoscar/collective/process_group.py,sha256=zy7LcIFnEcmrcxuECI89v0bQlUbSqQMkVyBw468WBnk,22599
|
|
@@ -47,10 +47,10 @@ xoscar/serialization/cuda.py,sha256=iFUEnN4SiquBIhyieyOrfw3TnKnW-tU_vYgqOxO_DrA,
|
|
|
47
47
|
xoscar/serialization/scipy.py,sha256=yOEi0NB8cqQ6e2UnCZ1w006RsB7T725tIL-DM_hNcsU,2482
|
|
48
48
|
xoscar/serialization/aio.py,sha256=S9e3rHMBwqqKmJtDz7KzYAqWc8w9bttA0Dj83IBfEU0,4577
|
|
49
49
|
xoscar/serialization/core.pyx,sha256=E3xIKmdI2gn99JduR3yuU_YTm-lOyG0Tkc7fZVBWCho,30131
|
|
50
|
-
xoscar/serialization/core.cpython-310-darwin.so,sha256=
|
|
50
|
+
xoscar/serialization/core.cpython-310-darwin.so,sha256=jpvY3fOiEryG9S7XUcShNvj8glZqRRbkjrztv5xz3vM,942935
|
|
51
51
|
xoscar/backends/config.py,sha256=EG26f0GwX_f4dAhwTW77RBjiK9h8R_3JrD-rBF1bAq8,4984
|
|
52
52
|
xoscar/backends/allocate_strategy.py,sha256=tC1Nbq2tJohahUwd-zoRYHEDX65wyuX8tmeY45uWj_w,4845
|
|
53
|
-
xoscar/backends/message.cpython-310-darwin.so,sha256=
|
|
53
|
+
xoscar/backends/message.cpython-310-darwin.so,sha256=a2FE1iP9x-9aSHqTgtJX2hmO7A8Gs4BUB-Va6W6uv3Q,822634
|
|
54
54
|
xoscar/backends/__init__.py,sha256=VHEBQcUWM5bj027W8EUf9PiJUAP7JoMrRw3Tsvy5ySw,643
|
|
55
55
|
xoscar/backends/core.py,sha256=aHb3mMZ9vJe6pxg0P8kSOKvjXF1IaqgOgyhKVhHpNLM,7432
|
|
56
56
|
xoscar/backends/context.py,sha256=Vr_PibRxYCDQ_gYK7r-BOlw9TXw8VQbFsVTH7K7mHPk,15470
|
|
@@ -60,16 +60,16 @@ xoscar/backends/pool.py,sha256=bvS1r31O01E8jTdoWOhSqcFymksNqO2nX3Fkqary8Ro,59149
|
|
|
60
60
|
xoscar/backends/indigen/backend.py,sha256=znl_fZzWGEtLH8hZ9j9Kkf0fva25jEem2_KO7I1RVvc,1612
|
|
61
61
|
xoscar/backends/indigen/__init__.py,sha256=tKHP5ClzedBRBpZsLRVErR3EUNbbDm4CY4u0rCFJr44,685
|
|
62
62
|
xoscar/backends/indigen/driver.py,sha256=VGzkacYKykegW5qhCuhx01gdgBZEKJjNIyfNCnA6Nm8,952
|
|
63
|
-
xoscar/backends/indigen/pool.py,sha256=
|
|
63
|
+
xoscar/backends/indigen/pool.py,sha256=mWYkOP4VVoUsXFgfpwruPuWblF6Waan5vxit8B-9_oQ,16852
|
|
64
64
|
xoscar/backends/test/backend.py,sha256=nv9WFhH5Bbq4Q1HB9yfpciZBaeHT4IQAtzugBWESrUY,1263
|
|
65
65
|
xoscar/backends/test/__init__.py,sha256=j2ZfD6prD9WjUxRUDC7Eq5Z7N7TkL6fFr59oNyc_vY4,682
|
|
66
66
|
xoscar/backends/test/pool.py,sha256=TW4X6J-92Pti66103poQBNDBznX6CBD3RLOc_zixjTo,7257
|
|
67
|
-
xoscar/backends/communication/ucx.py,sha256=
|
|
67
|
+
xoscar/backends/communication/ucx.py,sha256=c9Ma3Z7iDH5_JITlnh46aHk8OlVQ-FebLhs2Ahlgxxw,19701
|
|
68
68
|
xoscar/backends/communication/__init__.py,sha256=tB05BlK63iWQnfJgRzKt4mFKRtmWUki5hUGSZQwAotc,1050
|
|
69
69
|
xoscar/backends/communication/core.py,sha256=sJeE3foRIqVPXldzYpFKHDSsabfAIFBU4JuXY4OyklY,2130
|
|
70
70
|
xoscar/backends/communication/utils.py,sha256=AmovE-hmWLXNCPwHafYuaRjOk8m42BUyT3XBqfXQRVI,3664
|
|
71
71
|
xoscar/backends/communication/errors.py,sha256=V3CdBe2xX9Rwv32f2dH2Msc84yaUhlyerZ42-739o1Q,723
|
|
72
|
-
xoscar/backends/communication/socket.py,sha256=
|
|
72
|
+
xoscar/backends/communication/socket.py,sha256=W_khQ7fMSALFSZ2e_cnud2yp2cOjaMFutkNUhEGelI4,12566
|
|
73
73
|
xoscar/backends/communication/dummy.py,sha256=gaKPNiN4x2aGZV3IGaaa8eaweBVjRh8B19jU1B5t2yw,7798
|
|
74
74
|
xoscar/backends/communication/base.py,sha256=0P4Tr35GSWpRp394e9jVWUUoKKa-gIk177eYPw1BnSU,7421
|
|
75
75
|
xoscar/aio/__init__.py,sha256=4Rv9V_wDIKlg7VcJeo1GVlvobwskYb1jYXef-0GQOaY,809
|
|
File without changes
|