earthkit-workflows 0.3.4__py3-none-any.whl → 0.3.5__py3-none-any.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.
- cascade/benchmarks/__main__.py +3 -2
- cascade/gateway/router.py +5 -1
- earthkit/workflows/_version.py +1 -1
- earthkit/workflows/fluent.py +10 -7
- {earthkit_workflows-0.3.4.dist-info → earthkit_workflows-0.3.5.dist-info}/METADATA +1 -1
- {earthkit_workflows-0.3.4.dist-info → earthkit_workflows-0.3.5.dist-info}/RECORD +9 -9
- {earthkit_workflows-0.3.4.dist-info → earthkit_workflows-0.3.5.dist-info}/WHEEL +0 -0
- {earthkit_workflows-0.3.4.dist-info → earthkit_workflows-0.3.5.dist-info}/licenses/LICENSE +0 -0
- {earthkit_workflows-0.3.4.dist-info → earthkit_workflows-0.3.5.dist-info}/top_level.txt +0 -0
cascade/benchmarks/__main__.py
CHANGED
|
@@ -23,10 +23,10 @@ Make sure you correctly configure:
|
|
|
23
23
|
|
|
24
24
|
import logging
|
|
25
25
|
import logging.config
|
|
26
|
+
import multiprocessing
|
|
26
27
|
import os
|
|
27
28
|
import subprocess
|
|
28
29
|
from concurrent.futures import ThreadPoolExecutor
|
|
29
|
-
from multiprocessing import Process
|
|
30
30
|
from time import perf_counter_ns
|
|
31
31
|
|
|
32
32
|
import fire
|
|
@@ -139,7 +139,8 @@ def run_locally(
|
|
|
139
139
|
gpu_count = get_gpu_count()
|
|
140
140
|
else:
|
|
141
141
|
gpu_count = 0
|
|
142
|
-
|
|
142
|
+
# NOTE forkserver/spawn seem to forget venv, we need fork
|
|
143
|
+
p = multiprocessing.get_context("fork").Process(
|
|
143
144
|
target=launch_executor,
|
|
144
145
|
args=(job, c, workers, portBase + 1 + i * 10, i, None, gpu_count),
|
|
145
146
|
)
|
cascade/gateway/router.py
CHANGED
|
@@ -120,7 +120,11 @@ class JobRouter:
|
|
|
120
120
|
|
|
121
121
|
def spawn_job(self, job_spec: JobSpec) -> JobId:
|
|
122
122
|
job_id = next_uuid(self.jobs.keys(), lambda: str(uuid.uuid4()))
|
|
123
|
-
|
|
123
|
+
if job_spec.use_slurm:
|
|
124
|
+
base_addr = f"tcp://{getfqdn()}"
|
|
125
|
+
else:
|
|
126
|
+
# NOTE on macos, it seems getfqdn does not give zmq-bindable addr
|
|
127
|
+
base_addr = "tcp://localhost"
|
|
124
128
|
socket = get_context().socket(zmq.PULL)
|
|
125
129
|
port = socket.bind_to_random_port(base_addr)
|
|
126
130
|
full_addr = f"{base_addr}:{port}"
|
earthkit/workflows/_version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# Do not change! Do not track in version control!
|
|
2
|
-
__version__ = "0.3.
|
|
2
|
+
__version__ = "0.3.5"
|
earthkit/workflows/fluent.py
CHANGED
|
@@ -424,12 +424,8 @@ class Action:
|
|
|
424
424
|
)
|
|
425
425
|
|
|
426
426
|
# Applies operation to every node, keeping node array structure
|
|
427
|
-
new_nodes =
|
|
428
|
-
|
|
429
|
-
coords=self.nodes.coords,
|
|
430
|
-
dims=self.nodes.dims,
|
|
431
|
-
attrs=self.nodes.attrs,
|
|
432
|
-
)
|
|
427
|
+
new_nodes = np.empty(self.nodes.shape, dtype=object)
|
|
428
|
+
|
|
433
429
|
it = np.nditer(self.nodes, flags=["multi_index", "refs_ok"])
|
|
434
430
|
node_payload = payload
|
|
435
431
|
for node in it:
|
|
@@ -441,7 +437,14 @@ class Action:
|
|
|
441
437
|
num_outputs=len(yields[1]) if yields else 1,
|
|
442
438
|
)
|
|
443
439
|
|
|
444
|
-
|
|
440
|
+
new_nodes_xr = xr.DataArray(
|
|
441
|
+
new_nodes,
|
|
442
|
+
coords=self.nodes.coords,
|
|
443
|
+
dims=self.nodes.dims,
|
|
444
|
+
attrs=self.nodes.attrs,
|
|
445
|
+
)
|
|
446
|
+
|
|
447
|
+
return type(self)(new_nodes_xr, yields)
|
|
445
448
|
|
|
446
449
|
def reduce(
|
|
447
450
|
self,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: earthkit-workflows
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.5
|
|
4
4
|
Summary: Earthkit Workflows is a Python library for declaring earthkit task DAGs, as well as scheduling and executing them on heterogeneous computing systems.
|
|
5
5
|
Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
cascade/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
cascade/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
cascade/benchmarks/__init__.py,sha256=Gu8kEApmJ2zsIhT2zpm1-6n84-OwWnz-0vO8UHYtBzo,528
|
|
4
|
-
cascade/benchmarks/__main__.py,sha256=
|
|
4
|
+
cascade/benchmarks/__main__.py,sha256=euamIHoDdqo2VC6gBUoOWuzlK1DttYCprDBWAVKGjnA,6986
|
|
5
5
|
cascade/benchmarks/anemoi.py,sha256=qtAI03HdtAmcksCgjIEZyNyUNzMp370KF4lAh5g4cOk,1077
|
|
6
6
|
cascade/benchmarks/generators.py,sha256=NK4fFisWsZdMkA2Auzrn-P7G5D9AKpo2JVnqXE44YT8,2169
|
|
7
7
|
cascade/benchmarks/job1.py,sha256=NY1k9PvkUZODCIDO_zSNwC9sFiMYpBwOaWB7FMSkt2o,4594
|
|
@@ -29,7 +29,7 @@ cascade/gateway/__init__.py,sha256=1EzMKdLFXEucj0YWOlyVqLx4suOntitwM03T_rRubIk,8
|
|
|
29
29
|
cascade/gateway/__main__.py,sha256=OcT5Amo0tE1-3StHuTOeQCaABmMBO3XLDK4t4b8oeeQ,647
|
|
30
30
|
cascade/gateway/api.py,sha256=-7HTUhK9idszVCwiVwyHMcNx7n6qRcyPWsLx2e19n3A,2511
|
|
31
31
|
cascade/gateway/client.py,sha256=1p4Tvrf-BH0LQHOES5rY1z3JNIfmXcqWG2kYl4rpcE0,4061
|
|
32
|
-
cascade/gateway/router.py,sha256=
|
|
32
|
+
cascade/gateway/router.py,sha256=KBlw5U-QOcZ8QN6Ls3WLS7gO0X2apupAWX6pS7A7mrs,7323
|
|
33
33
|
cascade/gateway/server.py,sha256=srqmtOuzzon5GV5jR1wUVh744Ct336BQs5Gzd3mhsPA,3733
|
|
34
34
|
cascade/low/__init__.py,sha256=5cw2taOGITK_gFbICftzK2YLdEAnLUY5OzblFzdHss4,769
|
|
35
35
|
cascade/low/builders.py,sha256=_u5X8G_EF00hFt8Anv9AXo6yPf1O8MHDmqs2kKmREl0,7073
|
|
@@ -53,9 +53,9 @@ cascade/shm/disk.py,sha256=Fdl_pKOseaXroRp01OwqWVsdI-sSmiFizIFCdxBuMWM,2653
|
|
|
53
53
|
cascade/shm/func.py,sha256=ZWikgnSLCmbSoW2LDRJwtjxdwTxkR00OUHAsIRQ-ChE,638
|
|
54
54
|
cascade/shm/server.py,sha256=5Ub9bnBmDto9BwfjX3h3sJeiLzZN4lawgtLfvK-vcMU,5036
|
|
55
55
|
earthkit/workflows/__init__.py,sha256=f17AdiV9g4eRN8m4dUnSU58RoLRqk1e6iMRrQiBUSKk,1880
|
|
56
|
-
earthkit/workflows/_version.py,sha256=
|
|
56
|
+
earthkit/workflows/_version.py,sha256=y917q-_1kG-gTBVkeELzqyHU_FN3NUWwP8pqRDzG4Yw,72
|
|
57
57
|
earthkit/workflows/decorators.py,sha256=DM4QAtQ2glUUcDecwPkXcdlu4dio7MvgpcdmU5LYvD8,937
|
|
58
|
-
earthkit/workflows/fluent.py,sha256=
|
|
58
|
+
earthkit/workflows/fluent.py,sha256=IN_sqwr7W8wbwP7wTOklgnjVe34IUCmv1ku-DWVTCJc,30179
|
|
59
59
|
earthkit/workflows/mark.py,sha256=PdsXmRfhw1SyyJ74mzFPsLRqMCdlYv556fFX4bqlh9Y,1319
|
|
60
60
|
earthkit/workflows/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
61
|
earthkit/workflows/taskgraph.py,sha256=RsT1Qlng1uPZSaSBNqE8vFsoI5J8DDcQl468YPX-kCY,4460
|
|
@@ -83,8 +83,8 @@ earthkit/workflows/graph/split.py,sha256=t-Sji5eZb01QO1szqmDNTodDDALqdo-0R0x1ESs
|
|
|
83
83
|
earthkit/workflows/graph/transform.py,sha256=BZ8n7ePUnuGgoHkMqZC3SLzifu4oq6q6t6vka0khFtg,3842
|
|
84
84
|
earthkit/workflows/graph/visit.py,sha256=MP-aFSqOl7aqJY2i7QTgY4epqb6yM7_lK3ofvOqfahw,1755
|
|
85
85
|
earthkit/workflows/plugins/__init__.py,sha256=WcX4qbEhgTXabIbogydtzNmZ2tB_SuW6NzNkOYQfS-Y,61
|
|
86
|
-
earthkit_workflows-0.3.
|
|
87
|
-
earthkit_workflows-0.3.
|
|
88
|
-
earthkit_workflows-0.3.
|
|
89
|
-
earthkit_workflows-0.3.
|
|
90
|
-
earthkit_workflows-0.3.
|
|
86
|
+
earthkit_workflows-0.3.5.dist-info/licenses/LICENSE,sha256=73MJ7twXMKnWwmzmrMiFwUeY7c6JTvxphVggeUq9Sq4,11381
|
|
87
|
+
earthkit_workflows-0.3.5.dist-info/METADATA,sha256=o-BNwkFAKcA9NyyryCTovDEeMs1uNNde9IyChoUq_Lc,1571
|
|
88
|
+
earthkit_workflows-0.3.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
89
|
+
earthkit_workflows-0.3.5.dist-info/top_level.txt,sha256=oNrH3Km3hK5kDkTOiM-8G8OQglvZcy-gUKy7rlooWXs,17
|
|
90
|
+
earthkit_workflows-0.3.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|