lsst-ctrl-bps-parsl 30.0.0rc2__py3-none-any.whl → 30.0.0rc3__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.
- lsst/ctrl/bps/parsl/job.py +17 -8
- lsst/ctrl/bps/parsl/site.py +4 -6
- lsst/ctrl/bps/parsl/sites/__init__.py +1 -0
- lsst/ctrl/bps/parsl/sites/ccin2p3.py +2 -0
- lsst/ctrl/bps/parsl/sites/local.py +5 -0
- lsst/ctrl/bps/parsl/sites/slurm.py +5 -0
- lsst/ctrl/bps/parsl/sites/torque.py +5 -0
- lsst/ctrl/bps/parsl/sites/work_queue.py +2 -2
- lsst/ctrl/bps/parsl/version.py +1 -1
- lsst/ctrl/bps/parsl/workflow.py +1 -1
- {lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/METADATA +1 -1
- lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/RECORD +26 -0
- lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/RECORD +0 -26
- {lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/WHEEL +0 -0
- {lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/licenses/COPYRIGHT +0 -0
- {lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/licenses/LICENSE +0 -0
- {lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/licenses/bsd_license.txt +0 -0
- {lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/licenses/gpl-v3.0.txt +0 -0
- {lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/top_level.txt +0 -0
- {lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/zip-safe +0 -0
lsst/ctrl/bps/parsl/job.py
CHANGED
|
@@ -237,11 +237,18 @@ class ParslJob:
|
|
|
237
237
|
("request_cpus", "cores", None),
|
|
238
238
|
("request_disk", "disk", None), # Both are MB
|
|
239
239
|
("request_walltime", "running_time_min", None), # Both are minutes
|
|
240
|
+
("priority", "priority", None),
|
|
240
241
|
):
|
|
241
242
|
value = getattr(self.generic, bps_name)
|
|
242
|
-
if scale is not None:
|
|
243
|
+
if value is not None and scale is not None:
|
|
243
244
|
value *= scale
|
|
244
|
-
|
|
245
|
+
# Parsl's `HighThroughputExecutor` cannot have
|
|
246
|
+
# `priority=None`, but it can be omitted. By contrast,
|
|
247
|
+
# `WorkQueueExecutor` needs to have the other resource
|
|
248
|
+
# requests provided, but `priority` can be omitted, so we
|
|
249
|
+
# need special handling for `priority`.
|
|
250
|
+
if (parsl_name == "priority" and value is not None) or parsl_name != "priority":
|
|
251
|
+
resources[parsl_name] = value
|
|
245
252
|
return resources
|
|
246
253
|
|
|
247
254
|
def get_future(
|
|
@@ -249,7 +256,7 @@ class ParslJob:
|
|
|
249
256
|
app: BashApp,
|
|
250
257
|
inputs: list[Future],
|
|
251
258
|
command_prefix: str | None = None,
|
|
252
|
-
|
|
259
|
+
resource_list: list | None = None,
|
|
253
260
|
) -> Future | None:
|
|
254
261
|
"""Get the parsl app future for the job.
|
|
255
262
|
|
|
@@ -265,10 +272,8 @@ class ParslJob:
|
|
|
265
272
|
command_prefix : `str`, optional
|
|
266
273
|
Bash commands to execute before the job command, e.g., for setting
|
|
267
274
|
the environment.
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
appropriate for the ``WorkQueue`` executor; other executors will
|
|
271
|
-
raise an exception.
|
|
275
|
+
resource_list : `list`, optional
|
|
276
|
+
List of resource specifications to pass to the Parsl executor.
|
|
272
277
|
|
|
273
278
|
Returns
|
|
274
279
|
-------
|
|
@@ -283,7 +288,11 @@ class ParslJob:
|
|
|
283
288
|
command = self.evaluate_command_line(command)
|
|
284
289
|
if command_prefix:
|
|
285
290
|
command = command_prefix + "\n" + command
|
|
286
|
-
resources =
|
|
291
|
+
resources = (
|
|
292
|
+
{k: v for k, v in self.get_resources().items() if k in resource_list}
|
|
293
|
+
if resource_list is not None
|
|
294
|
+
else {}
|
|
295
|
+
)
|
|
287
296
|
|
|
288
297
|
# Add a layer of indirection to which we can add a useful name.
|
|
289
298
|
# This name is used by parsl for tracking workflow status.
|
lsst/ctrl/bps/parsl/site.py
CHANGED
|
@@ -56,16 +56,14 @@ class SiteConfig(ABC):
|
|
|
56
56
|
----------
|
|
57
57
|
config : `BpsConfig`
|
|
58
58
|
BPS configuration.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
appropriate for the ``WorkQueue`` executor; other executors will
|
|
62
|
-
raise an exception.
|
|
59
|
+
resource_list : `list`, optional
|
|
60
|
+
List of parsl resource specifications to pass to the executor.
|
|
63
61
|
"""
|
|
64
62
|
|
|
65
|
-
def __init__(self, config: BpsConfig,
|
|
63
|
+
def __init__(self, config: BpsConfig, resource_list: list = None):
|
|
66
64
|
self.config = config
|
|
67
65
|
self.site = self.get_site_subconfig(config)
|
|
68
|
-
self.
|
|
66
|
+
self.resource_list = resource_list
|
|
69
67
|
|
|
70
68
|
@staticmethod
|
|
71
69
|
def get_site_subconfig(config: BpsConfig) -> BpsConfig:
|
|
@@ -122,6 +122,8 @@ class Ccin2p3(SiteConfig):
|
|
|
122
122
|
]
|
|
123
123
|
|
|
124
124
|
def __init__(self, *args, **kwargs):
|
|
125
|
+
# Have BPS-defined resource requests for each job passed to executor.
|
|
126
|
+
kwargs["resource_list"] = ["priority"]
|
|
125
127
|
super().__init__(*args, **kwargs)
|
|
126
128
|
self._account = get_bps_config_value(self.site, ".account", str, self.DEFAULT_ACCOUNT)
|
|
127
129
|
self._scheduler_options = get_bps_config_value(
|
|
@@ -47,6 +47,11 @@ class Local(SiteConfig):
|
|
|
47
47
|
``site.<computeSite>.cores`` (`int`).
|
|
48
48
|
"""
|
|
49
49
|
|
|
50
|
+
def __init__(self, *args, **kwargs):
|
|
51
|
+
# Have BPS-defined resource requests for each job passed to executor.
|
|
52
|
+
kwargs["resource_list"] = ["priority"]
|
|
53
|
+
super().__init__(*args, **kwargs)
|
|
54
|
+
|
|
50
55
|
def get_executors(self) -> list[ParslExecutor]:
|
|
51
56
|
"""Get a list of executors to be used in processing.
|
|
52
57
|
|
|
@@ -80,6 +80,11 @@ class Slurm(SiteConfig):
|
|
|
80
80
|
script (each line usually starting with ``#SBATCH``).
|
|
81
81
|
"""
|
|
82
82
|
|
|
83
|
+
def __init__(self, *args, **kwargs):
|
|
84
|
+
# Have BPS-defined resource requests for each job passed to executor.
|
|
85
|
+
kwargs["resource_list"] = ["priority"]
|
|
86
|
+
super().__init__(*args, **kwargs)
|
|
87
|
+
|
|
83
88
|
def make_executor(
|
|
84
89
|
self,
|
|
85
90
|
label: str,
|
|
@@ -75,6 +75,11 @@ class Torque(SiteConfig):
|
|
|
75
75
|
script (each line usually starting with ``#PBS``).
|
|
76
76
|
"""
|
|
77
77
|
|
|
78
|
+
def __init__(self, *args, **kwargs):
|
|
79
|
+
# Have BPS-defined resource requests for each job passed to executor.
|
|
80
|
+
kwargs["resource_list"] = ["priority"]
|
|
81
|
+
super().__init__(*args, **kwargs)
|
|
82
|
+
|
|
78
83
|
def make_executor(
|
|
79
84
|
self,
|
|
80
85
|
label: str,
|
|
@@ -59,7 +59,7 @@ class WorkQueue(SiteConfig):
|
|
|
59
59
|
Parameters forwarded to base class constructor.
|
|
60
60
|
**kwargs : `~typing.Any`
|
|
61
61
|
Keyword arguments passed to base class constructor, augmented by
|
|
62
|
-
the ``
|
|
62
|
+
the ``resource_list`` argument.
|
|
63
63
|
|
|
64
64
|
Notes
|
|
65
65
|
-----
|
|
@@ -79,7 +79,7 @@ class WorkQueue(SiteConfig):
|
|
|
79
79
|
|
|
80
80
|
def __init__(self, *args, **kwargs):
|
|
81
81
|
# Have BPS-defined resource requests for each job passed to work_queue.
|
|
82
|
-
kwargs["
|
|
82
|
+
kwargs["resource_list"] = ["memory", "cores", "disk", "running_time_min", "priority"]
|
|
83
83
|
super().__init__(*args, **kwargs)
|
|
84
84
|
|
|
85
85
|
def make_executor(
|
lsst/ctrl/bps/parsl/version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
__all__ = ["__version__"]
|
|
2
|
-
__version__ = "30.0.
|
|
2
|
+
__version__ = "30.0.0rc3"
|
lsst/ctrl/bps/parsl/workflow.py
CHANGED
{lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-ctrl-bps-parsl
|
|
3
|
-
Version: 30.0.
|
|
3
|
+
Version: 30.0.0rc3
|
|
4
4
|
Summary: Parsl-based plugin for lsst-ctrl-bps.
|
|
5
5
|
Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
|
|
6
6
|
License-Expression: BSD-3-Clause OR GPL-3.0-or-later
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
lsst/ctrl/bps/parsl/__init__.py,sha256=gU6EMvA--BVorVVMw_4i9-F_kran4V-25WzAeLJRsqE,1466
|
|
2
|
+
lsst/ctrl/bps/parsl/configuration.py,sha256=Dq9hZW0fnmNHZoD_eAH3u2Dk0sNCZQ9NuSnFjTzFEi4,5731
|
|
3
|
+
lsst/ctrl/bps/parsl/environment.py,sha256=xg2_WM-H77KOdn0M_Wi2sE7h7aqTSV1uxSiFHJmnu5w,2250
|
|
4
|
+
lsst/ctrl/bps/parsl/job.py,sha256=WHkH4mhbnKhAGO_i8C612pRuUFzU0SJ8YghEoN920QI,12237
|
|
5
|
+
lsst/ctrl/bps/parsl/service.py,sha256=mKM6C4mVTr3n0PsZWf5w0zc_o6qBiroQA1YfEgmde5s,3951
|
|
6
|
+
lsst/ctrl/bps/parsl/site.py,sha256=1hFRB-475txuOR-jaztMglnjBxy9Ca2gZtI8Ptrvv2g,8614
|
|
7
|
+
lsst/ctrl/bps/parsl/version.py,sha256=Tt7y1Knxuicvk026_H8m0GXmxEFM8XEWyfbDoHcAxbs,52
|
|
8
|
+
lsst/ctrl/bps/parsl/workflow.py,sha256=9vtPa_bAX02aCZzoEG0bs2e0TWhNRm5RMiJ7BoCxBcE,11435
|
|
9
|
+
lsst/ctrl/bps/parsl/sites/__init__.py,sha256=J9HpVUqqlIkve0tIEELPbicY81vz_liZKpBUrTA1D2Q,1464
|
|
10
|
+
lsst/ctrl/bps/parsl/sites/ccin2p3.py,sha256=_H_vsq-WkO5QQRuTi8w2cv49ArPO7J-lxHu5c-exsgU,14722
|
|
11
|
+
lsst/ctrl/bps/parsl/sites/local.py,sha256=s6NPuSbn_esI9rucQrpbg-y9R3nROBYVTk30KU99d7o,2831
|
|
12
|
+
lsst/ctrl/bps/parsl/sites/nersc.py,sha256=obUiaHgHZj_23PIrYdihUnb8eoEJMs288wHy84jIzaQ,4549
|
|
13
|
+
lsst/ctrl/bps/parsl/sites/princeton.py,sha256=F_dHTN5sm2NM2VjtJoWbtKfhkowBocIs5F7eSgjxc-0,5575
|
|
14
|
+
lsst/ctrl/bps/parsl/sites/slac.py,sha256=IN04Nx0YvOl-GN33MB05zT0XG3IQ91rXri_EHz_dzTs,3893
|
|
15
|
+
lsst/ctrl/bps/parsl/sites/slurm.py,sha256=5J0djEHyKZ0CXFNXY9zmL-m6e9VLcNc6Sd6mCwPYzgs,13031
|
|
16
|
+
lsst/ctrl/bps/parsl/sites/torque.py,sha256=lNAh8-yZgWfsDRD7ryF0OwNV64tBv_7tCvs_xPHizNs,9830
|
|
17
|
+
lsst/ctrl/bps/parsl/sites/work_queue.py,sha256=H6tjm8T5TTh1h5-vd7bR2yv-aFJc6hzEqYRnSnXMKwk,7095
|
|
18
|
+
lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/licenses/COPYRIGHT,sha256=M5ylfMNsihIJcPySQ5ZFjec4zROSZdlNN9oGHBhu7WM,181
|
|
19
|
+
lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/licenses/LICENSE,sha256=pRExkS03v0MQW-neNfIcaSL6aiAnoLxYgtZoFzQ6zkM,232
|
|
20
|
+
lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/licenses/bsd_license.txt,sha256=7MIcv8QRX9guUtqPSBDMPz2SnZ5swI-xZMqm_VDSfxY,1606
|
|
21
|
+
lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/licenses/gpl-v3.0.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
22
|
+
lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/METADATA,sha256=dspZP-wIHizg8nU8XwvalcqXCyViA3tPi3be73NE7cg,2951
|
|
23
|
+
lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
24
|
+
lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/top_level.txt,sha256=eUWiOuVVm9wwTrnAgiJT6tp6HQHXxIhj2QSZ7NYZH80,5
|
|
25
|
+
lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
26
|
+
lsst_ctrl_bps_parsl-30.0.0rc3.dist-info/RECORD,,
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
lsst/ctrl/bps/parsl/__init__.py,sha256=gU6EMvA--BVorVVMw_4i9-F_kran4V-25WzAeLJRsqE,1466
|
|
2
|
-
lsst/ctrl/bps/parsl/configuration.py,sha256=Dq9hZW0fnmNHZoD_eAH3u2Dk0sNCZQ9NuSnFjTzFEi4,5731
|
|
3
|
-
lsst/ctrl/bps/parsl/environment.py,sha256=xg2_WM-H77KOdn0M_Wi2sE7h7aqTSV1uxSiFHJmnu5w,2250
|
|
4
|
-
lsst/ctrl/bps/parsl/job.py,sha256=O95H0_f-S92xgjNQeDBCzDtQkiXKLK8uzFcx6cm-AVA,11728
|
|
5
|
-
lsst/ctrl/bps/parsl/service.py,sha256=mKM6C4mVTr3n0PsZWf5w0zc_o6qBiroQA1YfEgmde5s,3951
|
|
6
|
-
lsst/ctrl/bps/parsl/site.py,sha256=L_wAF7qwMkcIChD0KTrIokZOD8E47ck-Qixf8L95sPk,8708
|
|
7
|
-
lsst/ctrl/bps/parsl/version.py,sha256=CrAQNQjb1NNXqaNvScI53U2GvkmrnpRtyOiy0bIrcl4,52
|
|
8
|
-
lsst/ctrl/bps/parsl/workflow.py,sha256=s6ayWoZ1CX2_mdFJvksiwUNChy9pfloxZ6JU87bfuLA,11435
|
|
9
|
-
lsst/ctrl/bps/parsl/sites/__init__.py,sha256=w_IOW3_lBguS5k3U9R925wCENgUhu3407FSw7ExrKus,1441
|
|
10
|
-
lsst/ctrl/bps/parsl/sites/ccin2p3.py,sha256=UD86cgS9ffJaz__zs4PQmHQqE7B4jhMWAerViCAt7Gk,14597
|
|
11
|
-
lsst/ctrl/bps/parsl/sites/local.py,sha256=El8U6XfeYBbfHyg-7R3a1gtWX1IBLq_xZvKXyjiAQIk,2622
|
|
12
|
-
lsst/ctrl/bps/parsl/sites/nersc.py,sha256=obUiaHgHZj_23PIrYdihUnb8eoEJMs288wHy84jIzaQ,4549
|
|
13
|
-
lsst/ctrl/bps/parsl/sites/princeton.py,sha256=F_dHTN5sm2NM2VjtJoWbtKfhkowBocIs5F7eSgjxc-0,5575
|
|
14
|
-
lsst/ctrl/bps/parsl/sites/slac.py,sha256=IN04Nx0YvOl-GN33MB05zT0XG3IQ91rXri_EHz_dzTs,3893
|
|
15
|
-
lsst/ctrl/bps/parsl/sites/slurm.py,sha256=6aA4cJSS1nSUydKZ1o-4xKDydgOoictWBl9mJPhB3vY,12822
|
|
16
|
-
lsst/ctrl/bps/parsl/sites/torque.py,sha256=gP8X-u3oH6P79kw2Fj_Mx3NqpVSQmqSHMT1tgxiU7Yc,9621
|
|
17
|
-
lsst/ctrl/bps/parsl/sites/work_queue.py,sha256=QpeGjd7o0FpnXRrbrxTNSXcfkTHclBKv6vMPPRRgfd8,7040
|
|
18
|
-
lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/licenses/COPYRIGHT,sha256=M5ylfMNsihIJcPySQ5ZFjec4zROSZdlNN9oGHBhu7WM,181
|
|
19
|
-
lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/licenses/LICENSE,sha256=pRExkS03v0MQW-neNfIcaSL6aiAnoLxYgtZoFzQ6zkM,232
|
|
20
|
-
lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/licenses/bsd_license.txt,sha256=7MIcv8QRX9guUtqPSBDMPz2SnZ5swI-xZMqm_VDSfxY,1606
|
|
21
|
-
lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/licenses/gpl-v3.0.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
22
|
-
lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/METADATA,sha256=JFQVegSzXO950hXyKBPDX0zou-0HUfn0F6OS4ZRlQWI,2951
|
|
23
|
-
lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
24
|
-
lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/top_level.txt,sha256=eUWiOuVVm9wwTrnAgiJT6tp6HQHXxIhj2QSZ7NYZH80,5
|
|
25
|
-
lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
26
|
-
lsst_ctrl_bps_parsl-30.0.0rc2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/top_level.txt
RENAMED
|
File without changes
|
{lsst_ctrl_bps_parsl-30.0.0rc2.dist-info → lsst_ctrl_bps_parsl-30.0.0rc3.dist-info}/zip-safe
RENAMED
|
File without changes
|