xoscar 0.1.4__cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 0.2.1__cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.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/__init__.py +1 -0
- xoscar/_utils.cpython-310-aarch64-linux-gnu.so +0 -0
- xoscar/api.py +166 -1
- xoscar/backends/message.cpython-310-aarch64-linux-gnu.so +0 -0
- xoscar/context.cpython-310-aarch64-linux-gnu.so +0 -0
- xoscar/core.cpython-310-aarch64-linux-gnu.so +0 -0
- xoscar/core.pyx +1 -1
- xoscar/serialization/core.cpython-310-aarch64-linux-gnu.so +0 -0
- {xoscar-0.1.4.dist-info → xoscar-0.2.1.dist-info}/METADATA +1 -1
- {xoscar-0.1.4.dist-info → xoscar-0.2.1.dist-info}/RECORD +66 -66
- {xoscar-0.1.4.dist-info → xoscar-0.2.1.dist-info}/WHEEL +0 -0
- {xoscar-0.1.4.dist-info → xoscar-0.2.1.dist-info}/top_level.txt +0 -0
xoscar/__init__.py
CHANGED
|
Binary file
|
xoscar/api.py
CHANGED
|
@@ -15,9 +15,26 @@
|
|
|
15
15
|
|
|
16
16
|
from __future__ import annotations
|
|
17
17
|
|
|
18
|
+
import asyncio
|
|
19
|
+
import functools
|
|
20
|
+
import inspect
|
|
21
|
+
import logging
|
|
22
|
+
import threading
|
|
23
|
+
import uuid
|
|
18
24
|
from collections import defaultdict
|
|
19
25
|
from numbers import Number
|
|
20
|
-
from typing import
|
|
26
|
+
from typing import (
|
|
27
|
+
TYPE_CHECKING,
|
|
28
|
+
Any,
|
|
29
|
+
Dict,
|
|
30
|
+
Generic,
|
|
31
|
+
List,
|
|
32
|
+
Optional,
|
|
33
|
+
Tuple,
|
|
34
|
+
Type,
|
|
35
|
+
TypeVar,
|
|
36
|
+
Union,
|
|
37
|
+
)
|
|
21
38
|
from urllib.parse import urlparse
|
|
22
39
|
|
|
23
40
|
from .aio import AioFileObject
|
|
@@ -29,6 +46,8 @@ if TYPE_CHECKING:
|
|
|
29
46
|
from .backends.config import ActorPoolConfig
|
|
30
47
|
from .backends.pool import MainActorPoolType
|
|
31
48
|
|
|
49
|
+
logger = logging.getLogger(__name__)
|
|
50
|
+
|
|
32
51
|
|
|
33
52
|
async def create_actor(
|
|
34
53
|
actor_cls: Type, *args, uid=None, address=None, **kwargs
|
|
@@ -271,6 +290,61 @@ def setup_cluster(address_to_resources: Dict[str, Dict[str, Number]]):
|
|
|
271
290
|
get_backend(scheme).get_driver_cls().setup_cluster(address_resources)
|
|
272
291
|
|
|
273
292
|
|
|
293
|
+
T = TypeVar("T")
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
class IteratorWrapper(Generic[T]):
|
|
297
|
+
def __init__(self, uid: str, actor_addr: str, actor_uid: str):
|
|
298
|
+
self._uid = uid
|
|
299
|
+
self._actor_addr = actor_addr
|
|
300
|
+
self._actor_uid = actor_uid
|
|
301
|
+
self._actor_ref = None
|
|
302
|
+
self._gc_destroy = True
|
|
303
|
+
|
|
304
|
+
async def destroy(self):
|
|
305
|
+
if self._actor_ref is None:
|
|
306
|
+
self._actor_ref = await actor_ref(
|
|
307
|
+
address=self._actor_addr, uid=self._actor_uid
|
|
308
|
+
)
|
|
309
|
+
assert self._actor_ref is not None
|
|
310
|
+
return await self._actor_ref.__xoscar_destroy_generator__(self._uid)
|
|
311
|
+
|
|
312
|
+
def __del__(self):
|
|
313
|
+
# It's not a good idea to spawn a new thread and join in __del__,
|
|
314
|
+
# but currently it's the only way to GC the generator.
|
|
315
|
+
# TODO(codingl2k1): This __del__ may hangs if the program is exiting.
|
|
316
|
+
if self._gc_destroy:
|
|
317
|
+
thread = threading.Thread(
|
|
318
|
+
target=asyncio.run, args=(self.destroy(),), daemon=True
|
|
319
|
+
)
|
|
320
|
+
thread.start()
|
|
321
|
+
thread.join()
|
|
322
|
+
|
|
323
|
+
def __aiter__(self):
|
|
324
|
+
return self
|
|
325
|
+
|
|
326
|
+
def __getstate__(self):
|
|
327
|
+
# Transfer gc destroy during serialization.
|
|
328
|
+
state = self.__dict__.copy()
|
|
329
|
+
state["_gc_destroy"] = True
|
|
330
|
+
self._gc_destroy = False
|
|
331
|
+
return state
|
|
332
|
+
|
|
333
|
+
async def __anext__(self) -> T:
|
|
334
|
+
if self._actor_ref is None:
|
|
335
|
+
self._actor_ref = await actor_ref(
|
|
336
|
+
address=self._actor_addr, uid=self._actor_uid
|
|
337
|
+
)
|
|
338
|
+
try:
|
|
339
|
+
assert self._actor_ref is not None
|
|
340
|
+
return await self._actor_ref.__xoscar_next__(self._uid)
|
|
341
|
+
except Exception as e:
|
|
342
|
+
if "StopIteration" in str(e):
|
|
343
|
+
raise StopAsyncIteration
|
|
344
|
+
else:
|
|
345
|
+
raise
|
|
346
|
+
|
|
347
|
+
|
|
274
348
|
class AsyncActorMixin:
|
|
275
349
|
@classmethod
|
|
276
350
|
def default_uid(cls):
|
|
@@ -282,6 +356,10 @@ class AsyncActorMixin:
|
|
|
282
356
|
except KeyError:
|
|
283
357
|
return super().__new__(cls, *args, **kwargs)
|
|
284
358
|
|
|
359
|
+
def __init__(self, *args, **kwargs) -> None:
|
|
360
|
+
super().__init__()
|
|
361
|
+
self._generators: Dict[str, IteratorWrapper] = {}
|
|
362
|
+
|
|
285
363
|
async def __post_create__(self):
|
|
286
364
|
"""
|
|
287
365
|
Method called after actor creation
|
|
@@ -305,6 +383,93 @@ class AsyncActorMixin:
|
|
|
305
383
|
"""
|
|
306
384
|
return await super().__on_receive__(message) # type: ignore
|
|
307
385
|
|
|
386
|
+
async def __xoscar_next__(self, generator_uid: str) -> Any:
|
|
387
|
+
"""
|
|
388
|
+
Iter the next of generator.
|
|
389
|
+
|
|
390
|
+
Parameters
|
|
391
|
+
----------
|
|
392
|
+
generator_uid: str
|
|
393
|
+
The uid of generator
|
|
394
|
+
|
|
395
|
+
Returns
|
|
396
|
+
-------
|
|
397
|
+
The next value of generator
|
|
398
|
+
"""
|
|
399
|
+
|
|
400
|
+
def _wrapper(_gen):
|
|
401
|
+
try:
|
|
402
|
+
return next(_gen)
|
|
403
|
+
except StopIteration:
|
|
404
|
+
return stop
|
|
405
|
+
|
|
406
|
+
async def _async_wrapper(_gen):
|
|
407
|
+
try:
|
|
408
|
+
# anext is only available for Python >= 3.10
|
|
409
|
+
return await _gen.__anext__() # noqa: F821
|
|
410
|
+
except StopAsyncIteration:
|
|
411
|
+
return stop
|
|
412
|
+
|
|
413
|
+
if gen := self._generators.get(generator_uid):
|
|
414
|
+
stop = object()
|
|
415
|
+
try:
|
|
416
|
+
if inspect.isgenerator(gen):
|
|
417
|
+
r = await asyncio.to_thread(_wrapper, gen)
|
|
418
|
+
elif inspect.isasyncgen(gen):
|
|
419
|
+
r = await asyncio.create_task(_async_wrapper(gen))
|
|
420
|
+
else:
|
|
421
|
+
raise Exception(
|
|
422
|
+
f"The generator {generator_uid} should be a generator or an async generator, "
|
|
423
|
+
f"but a {type(gen)} is got."
|
|
424
|
+
)
|
|
425
|
+
except Exception as e:
|
|
426
|
+
logger.exception(
|
|
427
|
+
f"Destroy generator {generator_uid} due to an error encountered."
|
|
428
|
+
)
|
|
429
|
+
await self.__xoscar_destroy_generator__(generator_uid)
|
|
430
|
+
del gen # Avoid exception hold generator reference.
|
|
431
|
+
raise e
|
|
432
|
+
if r is stop:
|
|
433
|
+
await self.__xoscar_destroy_generator__(generator_uid)
|
|
434
|
+
del gen # Avoid exception hold generator reference.
|
|
435
|
+
raise Exception("StopIteration")
|
|
436
|
+
else:
|
|
437
|
+
return r
|
|
438
|
+
else:
|
|
439
|
+
raise RuntimeError(f"No iterator with id: {generator_uid}")
|
|
440
|
+
|
|
441
|
+
async def __xoscar_destroy_generator__(self, generator_uid: str):
|
|
442
|
+
"""
|
|
443
|
+
Destroy the generator.
|
|
444
|
+
|
|
445
|
+
Parameters
|
|
446
|
+
----------
|
|
447
|
+
generator_uid: str
|
|
448
|
+
The uid of generator
|
|
449
|
+
"""
|
|
450
|
+
logger.debug("Destroy generator: %s", generator_uid)
|
|
451
|
+
self._generators.pop(generator_uid, None)
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
def generator(func):
|
|
455
|
+
need_to_thread = not asyncio.iscoroutinefunction(func)
|
|
456
|
+
|
|
457
|
+
@functools.wraps(func)
|
|
458
|
+
async def _wrapper(self, *args, **kwargs):
|
|
459
|
+
if need_to_thread:
|
|
460
|
+
r = await asyncio.to_thread(func, self, *args, **kwargs)
|
|
461
|
+
else:
|
|
462
|
+
r = await func(self, *args, **kwargs)
|
|
463
|
+
if inspect.isgenerator(r) or inspect.isasyncgen(r):
|
|
464
|
+
gen_uid = uuid.uuid1().hex
|
|
465
|
+
logger.debug("Create generator: %s", gen_uid)
|
|
466
|
+
self._generators[gen_uid] = r
|
|
467
|
+
return IteratorWrapper(gen_uid, self.address, self.uid)
|
|
468
|
+
else:
|
|
469
|
+
return r
|
|
470
|
+
|
|
471
|
+
return _wrapper
|
|
472
|
+
|
|
308
473
|
|
|
309
474
|
class Actor(AsyncActorMixin, _Actor):
|
|
310
475
|
pass
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
xoscar/core.pyx
CHANGED
|
@@ -127,7 +127,7 @@ cdef class ActorRef:
|
|
|
127
127
|
return create_actor_ref, (self.address, self.uid)
|
|
128
128
|
|
|
129
129
|
def __getattr__(self, item):
|
|
130
|
-
if item.startswith('_'):
|
|
130
|
+
if item.startswith('_') and item not in ["__xoscar_next__", "__xoscar_destroy_generator__"]:
|
|
131
131
|
return object.__getattribute__(self, item)
|
|
132
132
|
|
|
133
133
|
try:
|
|
Binary file
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
xoscar-0.1.
|
|
2
|
-
xoscar-0.1.
|
|
3
|
-
xoscar-0.1.
|
|
4
|
-
xoscar-0.1.
|
|
5
|
-
xoscar/
|
|
6
|
-
xoscar/
|
|
7
|
-
xoscar/
|
|
8
|
-
xoscar/
|
|
9
|
-
xoscar/
|
|
10
|
-
xoscar/
|
|
11
|
-
xoscar/debug.py,sha256=9Z8SgE2WaKYQcyDo-5-DxEJQ533v7kWjrvCd28pSx3E,5069
|
|
12
|
-
xoscar/_version.py,sha256=ClSPrUjgGRGHIkVMQV9XQnkQ-n0akJMnq_rh819nqFE,23719
|
|
13
|
-
xoscar/__init__.py,sha256=QbTOmq0iycuyylnarLBGorCd639XYQpU0MoTeBOyL-w,1706
|
|
1
|
+
xoscar-0.2.1.dist-info/WHEEL,sha256=7-IJbjbL0nWUFP_cSrTULDrfI4l8JN0GBqGHPqza7ao,154
|
|
2
|
+
xoscar-0.2.1.dist-info/RECORD,,
|
|
3
|
+
xoscar-0.2.1.dist-info/top_level.txt,sha256=vYlqqY4Nys8Thm1hePIuUv8eQePdULVWMmt7lXtX_ZA,21
|
|
4
|
+
xoscar-0.2.1.dist-info/METADATA,sha256=rG9DA6iIoOVLoyKK0z5tid9xhSVnWccijS9blRQyfSc,9214
|
|
5
|
+
xoscar/context.pyx,sha256=8CdgPnWcE9eOp3N600WgDQ03MCi8P73eUOGcfV7Zksg,10942
|
|
6
|
+
xoscar/backend.py,sha256=is436OPkZfSpQXaoqTRVta5eoye_pp45RFgCstAk2hU,1850
|
|
7
|
+
xoscar/nvutils.py,sha256=qmW4mKLU0WB2yCs198ccQOgLL02zB7Fsa-AotO3NOmg,20412
|
|
8
|
+
xoscar/profiling.py,sha256=BC5OF0HzSaXv8V7w-y-B8r5gV5DgxHFoTEIF6jCMioQ,8015
|
|
9
|
+
xoscar/_utils.pyx,sha256=UR1FtYXAYKIdEWR9HulEpMbSOrkQWi6xGz63d4IQmG0,7059
|
|
10
|
+
xoscar/constants.py,sha256=Yn59lRIOvE1VFwyuZB5G2-gxYIyhIZ1rVovbdFAR2NM,759
|
|
14
11
|
xoscar/context.pxd,sha256=qKa0OyDPZtVymftSh447m-RzFZgmz8rGqQBa7qlauvc,725
|
|
12
|
+
xoscar/driver.py,sha256=498fowtJr6b3FE8FIOA_Tc1Vwx88nfZw7p0FxrML0h4,1372
|
|
15
13
|
xoscar/batch.py,sha256=DpArS0L3WYJ_HVPG-6hSYEwoAFY1mY2-mlC4Jp5M_Dw,7872
|
|
16
|
-
xoscar/constants.py,sha256=Yn59lRIOvE1VFwyuZB5G2-gxYIyhIZ1rVovbdFAR2NM,759
|
|
17
14
|
xoscar/utils.py,sha256=TH81N2EWUDfAMdlkPYSh0juZS2EbdvvdhWx_6euQygk,14672
|
|
18
|
-
xoscar/
|
|
19
|
-
xoscar/
|
|
20
|
-
xoscar/
|
|
21
|
-
xoscar/
|
|
22
|
-
xoscar/
|
|
15
|
+
xoscar/_version.py,sha256=ClSPrUjgGRGHIkVMQV9XQnkQ-n0akJMnq_rh819nqFE,23719
|
|
16
|
+
xoscar/core.cpython-310-aarch64-linux-gnu.so,sha256=Viwx1zE04JrFIyyNNKKVELY8d5Po7KqAqsc7q44-9Po,3474040
|
|
17
|
+
xoscar/_utils.pxd,sha256=5KYAL3jfPdejsHnrGGT2s--ZUX5SXznQWpHVSno429k,1157
|
|
18
|
+
xoscar/__init__.py,sha256=9BapEEmHU9OlpDOIc_4LwXNHfauP1XDW0YRnAUKZp_8,1721
|
|
19
|
+
xoscar/_utils.cpython-310-aarch64-linux-gnu.so,sha256=t6JDQpCG4G_qsS5JAiPoDV5S78xMi6rnHHXYPBYses0,1100344
|
|
23
20
|
xoscar/entrypoints.py,sha256=t-PfnqYDyjzXbV-Z-hjaQxpf_m95eSx2saAsb-V2ODY,1642
|
|
24
|
-
xoscar/
|
|
25
|
-
xoscar/
|
|
26
|
-
xoscar/
|
|
21
|
+
xoscar/debug.py,sha256=9Z8SgE2WaKYQcyDo-5-DxEJQ533v7kWjrvCd28pSx3E,5069
|
|
22
|
+
xoscar/core.pyx,sha256=Aqc2i8Fetsd5wRAPF4kL0ddnBZn3E2HRNCvup79BbQc,21730
|
|
23
|
+
xoscar/context.cpython-310-aarch64-linux-gnu.so,sha256=7qUnWrbwEuCxKsh7iiT3LMUIrK4Nj49RLAOWdsAnR7c,1434352
|
|
24
|
+
xoscar/core.pxd,sha256=4lBq8J0kjcXcsGuvN7Kv4xcL5liHwTTFWlqyK7XAEnw,1280
|
|
25
|
+
xoscar/libcpp.pxd,sha256=DJqBxLFOKL4iRr9Kale5UH3rbvPRD1x5bTSOPHFpz9I,1147
|
|
26
|
+
xoscar/api.py,sha256=3hztPoOxg8A_mlhWyWgVP7FMXG0PATA1TP4Rbaj7A-g,13327
|
|
27
27
|
xoscar/errors.py,sha256=wBlQOKsXf0Fc4skN39tDie0YZT-VIAuLNRgoDl2pZcA,1241
|
|
28
|
-
xoscar/
|
|
29
|
-
xoscar/
|
|
30
|
-
xoscar/metrics/backends/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
|
|
31
|
-
xoscar/metrics/backends/metric.py,sha256=aPhyc8JgH22L3rcHP8IjsmgrhSODjg6B5TZVnre97y8,4446
|
|
32
|
-
xoscar/metrics/backends/console/console_metric.py,sha256=y5CCtH33j3AqI5_Uhwi4mgOcAhyhb4cWv_YvR6fxcbQ,2082
|
|
33
|
-
xoscar/metrics/backends/console/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
|
|
34
|
-
xoscar/metrics/backends/prometheus/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
|
|
35
|
-
xoscar/metrics/backends/prometheus/prometheus_metric.py,sha256=MxoMvVrg0pOkKpkjJ0PcAuEaaEJR2FZljmPrLjQ1-oc,2050
|
|
36
|
-
xoscar/aio/_threads.py,sha256=WE9_NZY3K9n5bAzXRbj1Bc4dxS-1m1erMfZsUu-ULU4,1313
|
|
37
|
-
xoscar/aio/base.py,sha256=9j0f1piwfE5R5GIvV212vSD03ixdaeSzSSsO2kxJZVE,2249
|
|
38
|
-
xoscar/aio/file.py,sha256=PBtkLp-Q7XtYl-zk00s18TtgIrkNr60J3Itf66ctO1o,1486
|
|
39
|
-
xoscar/aio/__init__.py,sha256=4Rv9V_wDIKlg7VcJeo1GVlvobwskYb1jYXef-0GQOaY,809
|
|
40
|
-
xoscar/aio/lru.py,sha256=rpXCqSLtPV5xnWtd6uDwQQFGgIPEgvmWEQDkPNUx9cM,6311
|
|
41
|
-
xoscar/aio/parallelism.py,sha256=VSsjk8wP-Bw7tLeUsTyLVNgp91thjxEfE3pCrw_vF5Q,1293
|
|
42
|
-
xoscar/collective/process_group.py,sha256=zy7LcIFnEcmrcxuECI89v0bQlUbSqQMkVyBw468WBnk,22599
|
|
43
|
-
xoscar/collective/__init__.py,sha256=XsClIkO_3Jd8GDifYuAbZCmJLAo9ZqGvnjUn9iuogmU,774
|
|
44
|
-
xoscar/collective/utils.py,sha256=3S4qF4JEnAUD3RiWVBUj-ZptL83CBSwGYyVZyIasAsE,1178
|
|
45
|
-
xoscar/collective/common.py,sha256=b9JkCnXEl-SWkHbMtmVmyJG7RzqPw4IIpHJfMwruU2M,3273
|
|
46
|
-
xoscar/collective/xoscar_pygloo.cpython-310-aarch64-linux-gnu.so,sha256=VkNyJqW6TdAHbmWBjbxsjMq4oPf54V7yhtj7l5Pl8vs,1648920
|
|
47
|
-
xoscar/collective/core.py,sha256=WfMJZloiRiqsLlIMhU4Pa47eo0jE-hoXdbTBwZPM6TM,23498
|
|
48
|
-
xoscar/serialization/core.cpython-310-aarch64-linux-gnu.so,sha256=a9Z-0eRJC-NsaRjRlUxxvBq4r1W71LqkAsZXg7LzIlI,3216624
|
|
49
|
-
xoscar/serialization/core.pxd,sha256=k4RoJgX5E5LGs4jdCQ7vvcn26MabXbrWoWhkO49X6YI,985
|
|
50
|
-
xoscar/serialization/numpy.py,sha256=5Kem87CvpJmzUMp3QHk4WeHU30FoQWTJJP2SwIcaQG0,2919
|
|
51
|
-
xoscar/serialization/core.pyx,sha256=E3xIKmdI2gn99JduR3yuU_YTm-lOyG0Tkc7fZVBWCho,30131
|
|
52
|
-
xoscar/serialization/aio.py,sha256=S9e3rHMBwqqKmJtDz7KzYAqWc8w9bttA0Dj83IBfEU0,4577
|
|
53
|
-
xoscar/serialization/scipy.py,sha256=yOEi0NB8cqQ6e2UnCZ1w006RsB7T725tIL-DM_hNcsU,2482
|
|
54
|
-
xoscar/serialization/__init__.py,sha256=5Y_C3cYbQJIZ09LRjeCf-jrkLma7mfN8I5bznHrdsbg,846
|
|
55
|
-
xoscar/serialization/exception.py,sha256=Jy8Lsk0z-VJyEUaWeuZIwkmxqaoB-nLKMa1D15Cl4js,1634
|
|
56
|
-
xoscar/serialization/pyfury.py,sha256=sifOnVMYoS82PzZEkzkfxesmMHei23k5UAUUKUyoOYQ,1163
|
|
57
|
-
xoscar/serialization/cuda.py,sha256=iFUEnN4SiquBIhyieyOrfw3TnKnW-tU_vYgqOxO_DrA,3758
|
|
58
|
-
xoscar/backends/pool.py,sha256=NqsCCL3LYqlDYrsZiI8hKeg4UpHom4jcsKGEhzueuWY,58156
|
|
59
|
-
xoscar/backends/context.py,sha256=b4mDqcrA7uBsy9Rb5laxlbujCyj8GpBglpjkNcg-Mg0,15285
|
|
28
|
+
xoscar/backends/core.py,sha256=o6g3ZOW7PkGmiu-nNtp6I3Sd_2KkQDwOsKz-FdgRFs0,7390
|
|
29
|
+
xoscar/backends/allocate_strategy.py,sha256=tC1Nbq2tJohahUwd-zoRYHEDX65wyuX8tmeY45uWj_w,4845
|
|
60
30
|
xoscar/backends/router.py,sha256=mhSvM5KVfV882jricVcpyxAqHEvhS4zL6ivczC6fOTE,7746
|
|
61
|
-
xoscar/backends/message.cpython-310-aarch64-linux-gnu.so,sha256=
|
|
31
|
+
xoscar/backends/message.cpython-310-aarch64-linux-gnu.so,sha256=S0OkDBS357WTqwzW9isGu50BmJV5iOrLXIezh14664Y,3058648
|
|
62
32
|
xoscar/backends/__init__.py,sha256=VHEBQcUWM5bj027W8EUf9PiJUAP7JoMrRw3Tsvy5ySw,643
|
|
63
|
-
xoscar/backends/
|
|
33
|
+
xoscar/backends/pool.py,sha256=NqsCCL3LYqlDYrsZiI8hKeg4UpHom4jcsKGEhzueuWY,58156
|
|
64
34
|
xoscar/backends/message.pyx,sha256=_rXcsWPcWu77Z_38rvjDBdQojpY5xJoaHQrt57_LVyo,17612
|
|
65
|
-
xoscar/backends/
|
|
66
|
-
xoscar/backends/
|
|
67
|
-
xoscar/backends/
|
|
35
|
+
xoscar/backends/config.py,sha256=EG26f0GwX_f4dAhwTW77RBjiK9h8R_3JrD-rBF1bAq8,4984
|
|
36
|
+
xoscar/backends/context.py,sha256=b4mDqcrA7uBsy9Rb5laxlbujCyj8GpBglpjkNcg-Mg0,15285
|
|
37
|
+
xoscar/backends/test/backend.py,sha256=nv9WFhH5Bbq4Q1HB9yfpciZBaeHT4IQAtzugBWESrUY,1263
|
|
38
|
+
xoscar/backends/test/__init__.py,sha256=j2ZfD6prD9WjUxRUDC7Eq5Z7N7TkL6fFr59oNyc_vY4,682
|
|
39
|
+
xoscar/backends/test/pool.py,sha256=43pMkebFAFLilvla5-AOS5W91shLycvfkbKwjdmlNWQ,7131
|
|
40
|
+
xoscar/backends/indigen/backend.py,sha256=znl_fZzWGEtLH8hZ9j9Kkf0fva25jEem2_KO7I1RVvc,1612
|
|
68
41
|
xoscar/backends/indigen/driver.py,sha256=VGzkacYKykegW5qhCuhx01gdgBZEKJjNIyfNCnA6Nm8,952
|
|
69
42
|
xoscar/backends/indigen/__init__.py,sha256=tKHP5ClzedBRBpZsLRVErR3EUNbbDm4CY4u0rCFJr44,685
|
|
70
|
-
xoscar/backends/indigen/
|
|
43
|
+
xoscar/backends/indigen/pool.py,sha256=Fa8rqH3_OkrwMRtO3UJWjDDB-u58ckmN1tOMRGjsX8I,16122
|
|
44
|
+
xoscar/backends/communication/core.py,sha256=sJeE3foRIqVPXldzYpFKHDSsabfAIFBU4JuXY4OyklY,2130
|
|
71
45
|
xoscar/backends/communication/base.py,sha256=0P4Tr35GSWpRp394e9jVWUUoKKa-gIk177eYPw1BnSU,7421
|
|
72
|
-
xoscar/backends/communication/__init__.py,sha256=tB05BlK63iWQnfJgRzKt4mFKRtmWUki5hUGSZQwAotc,1050
|
|
73
|
-
xoscar/backends/communication/socket.py,sha256=VBPiesyjX8c3ECWn8kv8qGwK3xCBqh_CHPrNDapYH6w,11819
|
|
74
46
|
xoscar/backends/communication/utils.py,sha256=AmovE-hmWLXNCPwHafYuaRjOk8m42BUyT3XBqfXQRVI,3664
|
|
75
47
|
xoscar/backends/communication/ucx.py,sha256=eidp4l-YAzFMCYaeUcvpK4ecapg-92fXFKO-t_bBkTU,19267
|
|
76
48
|
xoscar/backends/communication/dummy.py,sha256=Xgn-gQ8bM3P9jzozQHGOk6gaNGnxckDJ2Su07y8wAhk,7796
|
|
77
|
-
xoscar/backends/communication/
|
|
49
|
+
xoscar/backends/communication/socket.py,sha256=VBPiesyjX8c3ECWn8kv8qGwK3xCBqh_CHPrNDapYH6w,11819
|
|
50
|
+
xoscar/backends/communication/__init__.py,sha256=tB05BlK63iWQnfJgRzKt4mFKRtmWUki5hUGSZQwAotc,1050
|
|
78
51
|
xoscar/backends/communication/errors.py,sha256=V3CdBe2xX9Rwv32f2dH2Msc84yaUhlyerZ42-739o1Q,723
|
|
79
|
-
xoscar/
|
|
80
|
-
xoscar/
|
|
81
|
-
xoscar/
|
|
52
|
+
xoscar/collective/core.py,sha256=WfMJZloiRiqsLlIMhU4Pa47eo0jE-hoXdbTBwZPM6TM,23498
|
|
53
|
+
xoscar/collective/utils.py,sha256=3S4qF4JEnAUD3RiWVBUj-ZptL83CBSwGYyVZyIasAsE,1178
|
|
54
|
+
xoscar/collective/xoscar_pygloo.cpython-310-aarch64-linux-gnu.so,sha256=VkNyJqW6TdAHbmWBjbxsjMq4oPf54V7yhtj7l5Pl8vs,1648920
|
|
55
|
+
xoscar/collective/__init__.py,sha256=XsClIkO_3Jd8GDifYuAbZCmJLAo9ZqGvnjUn9iuogmU,774
|
|
56
|
+
xoscar/collective/process_group.py,sha256=zy7LcIFnEcmrcxuECI89v0bQlUbSqQMkVyBw468WBnk,22599
|
|
57
|
+
xoscar/collective/common.py,sha256=b9JkCnXEl-SWkHbMtmVmyJG7RzqPw4IIpHJfMwruU2M,3273
|
|
58
|
+
xoscar/aio/base.py,sha256=9j0f1piwfE5R5GIvV212vSD03ixdaeSzSSsO2kxJZVE,2249
|
|
59
|
+
xoscar/aio/_threads.py,sha256=WE9_NZY3K9n5bAzXRbj1Bc4dxS-1m1erMfZsUu-ULU4,1313
|
|
60
|
+
xoscar/aio/file.py,sha256=PBtkLp-Q7XtYl-zk00s18TtgIrkNr60J3Itf66ctO1o,1486
|
|
61
|
+
xoscar/aio/parallelism.py,sha256=VSsjk8wP-Bw7tLeUsTyLVNgp91thjxEfE3pCrw_vF5Q,1293
|
|
62
|
+
xoscar/aio/__init__.py,sha256=4Rv9V_wDIKlg7VcJeo1GVlvobwskYb1jYXef-0GQOaY,809
|
|
63
|
+
xoscar/aio/lru.py,sha256=rpXCqSLtPV5xnWtd6uDwQQFGgIPEgvmWEQDkPNUx9cM,6311
|
|
64
|
+
xoscar/metrics/__init__.py,sha256=9Badi7rxYikGm2dQiNCrj9GgMRBxwuR3JaEKcFZmfak,705
|
|
65
|
+
xoscar/metrics/api.py,sha256=BBlMIFvVAGVfrtpeJ1YlH9Tqhy9OzGavwvGyeHcQ0Tk,8856
|
|
66
|
+
xoscar/metrics/backends/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
|
|
67
|
+
xoscar/metrics/backends/metric.py,sha256=aPhyc8JgH22L3rcHP8IjsmgrhSODjg6B5TZVnre97y8,4446
|
|
68
|
+
xoscar/metrics/backends/console/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
|
|
69
|
+
xoscar/metrics/backends/console/console_metric.py,sha256=y5CCtH33j3AqI5_Uhwi4mgOcAhyhb4cWv_YvR6fxcbQ,2082
|
|
70
|
+
xoscar/metrics/backends/prometheus/prometheus_metric.py,sha256=MxoMvVrg0pOkKpkjJ0PcAuEaaEJR2FZljmPrLjQ1-oc,2050
|
|
71
|
+
xoscar/metrics/backends/prometheus/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
|
|
72
|
+
xoscar/serialization/scipy.py,sha256=yOEi0NB8cqQ6e2UnCZ1w006RsB7T725tIL-DM_hNcsU,2482
|
|
73
|
+
xoscar/serialization/aio.py,sha256=S9e3rHMBwqqKmJtDz7KzYAqWc8w9bttA0Dj83IBfEU0,4577
|
|
74
|
+
xoscar/serialization/core.cpython-310-aarch64-linux-gnu.so,sha256=W_O82bUNPf3GZFmPXCvCoErknDhXUEQ0drhZL1ZV3Gg,3216624
|
|
75
|
+
xoscar/serialization/__init__.py,sha256=5Y_C3cYbQJIZ09LRjeCf-jrkLma7mfN8I5bznHrdsbg,846
|
|
76
|
+
xoscar/serialization/pyfury.py,sha256=sifOnVMYoS82PzZEkzkfxesmMHei23k5UAUUKUyoOYQ,1163
|
|
77
|
+
xoscar/serialization/exception.py,sha256=Jy8Lsk0z-VJyEUaWeuZIwkmxqaoB-nLKMa1D15Cl4js,1634
|
|
78
|
+
xoscar/serialization/core.pyx,sha256=E3xIKmdI2gn99JduR3yuU_YTm-lOyG0Tkc7fZVBWCho,30131
|
|
79
|
+
xoscar/serialization/core.pxd,sha256=k4RoJgX5E5LGs4jdCQ7vvcn26MabXbrWoWhkO49X6YI,985
|
|
80
|
+
xoscar/serialization/cuda.py,sha256=iFUEnN4SiquBIhyieyOrfw3TnKnW-tU_vYgqOxO_DrA,3758
|
|
81
|
+
xoscar/serialization/numpy.py,sha256=5Kem87CvpJmzUMp3QHk4WeHU30FoQWTJJP2SwIcaQG0,2919
|
|
File without changes
|
|
File without changes
|