parsl 2024.2.12__py3-none-any.whl → 2024.2.26__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.
- parsl/channels/errors.py +1 -4
- parsl/configs/{comet.py → expanse.py} +5 -5
- parsl/dataflow/dflow.py +12 -12
- parsl/executors/flux/executor.py +5 -3
- parsl/executors/high_throughput/executor.py +56 -10
- parsl/executors/high_throughput/mpi_prefix_composer.py +137 -0
- parsl/executors/high_throughput/mpi_resource_management.py +217 -0
- parsl/executors/high_throughput/process_worker_pool.py +65 -9
- parsl/executors/radical/executor.py +6 -3
- parsl/executors/radical/rpex_worker.py +2 -2
- parsl/jobs/states.py +5 -5
- parsl/monitoring/db_manager.py +2 -1
- parsl/monitoring/monitoring.py +7 -4
- parsl/multiprocessing.py +3 -4
- parsl/providers/cobalt/cobalt.py +6 -0
- parsl/providers/pbspro/pbspro.py +18 -4
- parsl/providers/pbspro/template.py +2 -2
- parsl/providers/slurm/slurm.py +17 -4
- parsl/providers/slurm/template.py +2 -2
- parsl/serialize/__init__.py +7 -2
- parsl/serialize/facade.py +32 -1
- parsl/tests/test_error_handling/test_resource_spec.py +6 -0
- parsl/tests/test_htex/test_htex.py +66 -3
- parsl/tests/test_monitoring/test_incomplete_futures.py +65 -0
- parsl/tests/test_mpi_apps/__init__.py +0 -0
- parsl/tests/test_mpi_apps/test_bad_mpi_config.py +41 -0
- parsl/tests/test_mpi_apps/test_mpi_mode_disabled.py +51 -0
- parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py +171 -0
- parsl/tests/test_mpi_apps/test_mpi_prefix.py +71 -0
- parsl/tests/test_mpi_apps/test_mpi_scheduler.py +158 -0
- parsl/tests/test_mpi_apps/test_resource_spec.py +145 -0
- parsl/tests/test_providers/test_cobalt_deprecation_warning.py +16 -0
- parsl/tests/test_providers/test_pbspro_template.py +28 -0
- parsl/tests/test_providers/test_slurm_template.py +29 -0
- parsl/tests/test_radical/test_mpi_funcs.py +1 -0
- parsl/tests/test_scaling/test_scale_down.py +6 -5
- parsl/tests/test_serialization/test_htex_code_cache.py +57 -0
- parsl/tests/test_serialization/test_pack_resource_spec.py +22 -0
- parsl/usage_tracking/usage.py +29 -55
- parsl/utils.py +12 -35
- parsl/version.py +1 -1
- {parsl-2024.2.12.data → parsl-2024.2.26.data}/scripts/process_worker_pool.py +65 -9
- {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/METADATA +2 -2
- {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/RECORD +50 -37
- parsl/configs/cooley.py +0 -29
- parsl/configs/theta.py +0 -33
- {parsl-2024.2.12.data → parsl-2024.2.26.data}/scripts/exec_parsl_function.py +0 -0
- {parsl-2024.2.12.data → parsl-2024.2.26.data}/scripts/parsl_coprocess.py +0 -0
- {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/LICENSE +0 -0
- {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/WHEEL +0 -0
- {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/entry_points.txt +0 -0
- {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/top_level.txt +0 -0
@@ -10,7 +10,7 @@ import pickle
|
|
10
10
|
import time
|
11
11
|
import queue
|
12
12
|
import uuid
|
13
|
-
from typing import Sequence, Optional
|
13
|
+
from typing import Sequence, Optional, Dict, List
|
14
14
|
|
15
15
|
import zmq
|
16
16
|
import math
|
@@ -27,7 +27,13 @@ from parsl.app.errors import RemoteExceptionWrapper
|
|
27
27
|
from parsl.executors.high_throughput.errors import WorkerLost
|
28
28
|
from parsl.executors.high_throughput.probe import probe_addresses
|
29
29
|
from parsl.multiprocessing import SpawnContext
|
30
|
-
from parsl.serialize import
|
30
|
+
from parsl.serialize import unpack_res_spec_apply_message, serialize
|
31
|
+
from parsl.executors.high_throughput.mpi_resource_management import (
|
32
|
+
TaskScheduler,
|
33
|
+
MPITaskScheduler
|
34
|
+
)
|
35
|
+
|
36
|
+
from parsl.executors.high_throughput.mpi_prefix_composer import compose_all, VALID_LAUNCHERS
|
31
37
|
|
32
38
|
HEARTBEAT_CODE = (2 ** 32) - 1
|
33
39
|
|
@@ -64,6 +70,8 @@ class Manager:
|
|
64
70
|
heartbeat_period,
|
65
71
|
poll_period,
|
66
72
|
cpu_affinity,
|
73
|
+
enable_mpi_mode: bool = False,
|
74
|
+
mpi_launcher: str = "mpiexec",
|
67
75
|
available_accelerators: Sequence[str],
|
68
76
|
cert_dir: Optional[str]):
|
69
77
|
"""
|
@@ -120,6 +128,14 @@ class Manager:
|
|
120
128
|
available_accelerators: list of str
|
121
129
|
List of accelerators available to the workers.
|
122
130
|
|
131
|
+
enable_mpi_mode: bool
|
132
|
+
When set to true, the manager assumes ownership of the batch job and each worker
|
133
|
+
claims a subset of nodes from a shared pool to execute multi-node mpi tasks. Node
|
134
|
+
info is made available to workers via env vars.
|
135
|
+
|
136
|
+
mpi_launcher: str
|
137
|
+
Set to one of the supported MPI launchers: ("srun", "aprun", "mpiexec")
|
138
|
+
|
123
139
|
cert_dir : str | None
|
124
140
|
Path to the certificate directory.
|
125
141
|
"""
|
@@ -159,6 +175,9 @@ class Manager:
|
|
159
175
|
self.uid = uid
|
160
176
|
self.block_id = block_id
|
161
177
|
|
178
|
+
self.enable_mpi_mode = enable_mpi_mode
|
179
|
+
self.mpi_launcher = mpi_launcher
|
180
|
+
|
162
181
|
if os.environ.get('PARSL_CORES'):
|
163
182
|
cores_on_node = int(os.environ['PARSL_CORES'])
|
164
183
|
else:
|
@@ -186,6 +205,17 @@ class Manager:
|
|
186
205
|
self.monitoring_queue = self._mp_manager.Queue()
|
187
206
|
self.pending_task_queue = SpawnContext.Queue()
|
188
207
|
self.pending_result_queue = SpawnContext.Queue()
|
208
|
+
self.task_scheduler: TaskScheduler
|
209
|
+
if self.enable_mpi_mode:
|
210
|
+
self.task_scheduler = MPITaskScheduler(
|
211
|
+
self.pending_task_queue,
|
212
|
+
self.pending_result_queue,
|
213
|
+
)
|
214
|
+
else:
|
215
|
+
self.task_scheduler = TaskScheduler(
|
216
|
+
self.pending_task_queue,
|
217
|
+
self.pending_result_queue
|
218
|
+
)
|
189
219
|
self.ready_worker_count = SpawnContext.Value("i", 0)
|
190
220
|
|
191
221
|
self.max_queue_size = self.prefetch_capacity + self.worker_count
|
@@ -286,9 +316,7 @@ class Manager:
|
|
286
316
|
logger.debug("Got executor tasks: {}, cumulative count of tasks: {}".format([t['task_id'] for t in tasks], task_recv_counter))
|
287
317
|
|
288
318
|
for task in tasks:
|
289
|
-
self.
|
290
|
-
# logger.debug("Ready tasks: {}".format(
|
291
|
-
# [i['task_id'] for i in self.pending_task_queue]))
|
319
|
+
self.task_scheduler.put_task(task)
|
292
320
|
|
293
321
|
else:
|
294
322
|
logger.debug("No incoming tasks")
|
@@ -327,7 +355,7 @@ class Manager:
|
|
327
355
|
while not kill_event.is_set():
|
328
356
|
try:
|
329
357
|
logger.debug("Starting pending_result_queue get")
|
330
|
-
r = self.
|
358
|
+
r = self.task_scheduler.get_result(block=True, timeout=push_poll_period)
|
331
359
|
logger.debug("Got a result item")
|
332
360
|
items.append(r)
|
333
361
|
except queue.Empty:
|
@@ -497,6 +525,7 @@ class Manager:
|
|
497
525
|
os.getpid(),
|
498
526
|
args.logdir,
|
499
527
|
args.debug,
|
528
|
+
self.mpi_launcher,
|
500
529
|
),
|
501
530
|
name="HTEX-Worker-{}".format(worker_id),
|
502
531
|
)
|
@@ -504,7 +533,13 @@ class Manager:
|
|
504
533
|
return p
|
505
534
|
|
506
535
|
|
507
|
-
def
|
536
|
+
def update_resource_spec_env_vars(mpi_launcher: str, resource_spec: Dict, node_info: List[str]) -> None:
|
537
|
+
prefix_table = compose_all(mpi_launcher, resource_spec=resource_spec, node_hostnames=node_info)
|
538
|
+
for key in prefix_table:
|
539
|
+
os.environ[key] = prefix_table[key]
|
540
|
+
|
541
|
+
|
542
|
+
def execute_task(bufs, mpi_launcher: Optional[str] = None):
|
508
543
|
"""Deserialize the buffer and execute the task.
|
509
544
|
|
510
545
|
Returns the result or throws exception.
|
@@ -512,8 +547,20 @@ def execute_task(bufs):
|
|
512
547
|
user_ns = locals()
|
513
548
|
user_ns.update({'__builtins__': __builtins__})
|
514
549
|
|
515
|
-
f, args, kwargs =
|
550
|
+
f, args, kwargs, resource_spec = unpack_res_spec_apply_message(bufs, user_ns, copy=False)
|
551
|
+
|
552
|
+
for varname in resource_spec:
|
553
|
+
envname = "PARSL_" + str(varname).upper()
|
554
|
+
os.environ[envname] = str(resource_spec[varname])
|
516
555
|
|
556
|
+
if resource_spec.get("MPI_NODELIST"):
|
557
|
+
worker_id = os.environ['PARSL_WORKER_RANK']
|
558
|
+
nodes_for_task = resource_spec["MPI_NODELIST"].split(',')
|
559
|
+
logger.info(f"Launching task on provisioned nodes: {nodes_for_task}")
|
560
|
+
assert mpi_launcher
|
561
|
+
update_resource_spec_env_vars(mpi_launcher,
|
562
|
+
resource_spec=resource_spec,
|
563
|
+
node_info=nodes_for_task)
|
517
564
|
# We might need to look into callability of the function from itself
|
518
565
|
# since we change it's name in the new namespace
|
519
566
|
prefix = "parsl_"
|
@@ -550,6 +597,7 @@ def worker(
|
|
550
597
|
manager_pid: int,
|
551
598
|
logdir: str,
|
552
599
|
debug: bool,
|
600
|
+
mpi_launcher: str,
|
553
601
|
):
|
554
602
|
"""
|
555
603
|
|
@@ -668,7 +716,7 @@ def worker(
|
|
668
716
|
worker_enqueued = False
|
669
717
|
|
670
718
|
try:
|
671
|
-
result = execute_task(req['buffer'])
|
719
|
+
result = execute_task(req['buffer'], mpi_launcher=mpi_launcher)
|
672
720
|
serialized_result = serialize(result, buffer_threshold=1000000)
|
673
721
|
except Exception as e:
|
674
722
|
logger.info('Caught an exception: {}'.format(e))
|
@@ -768,6 +816,10 @@ if __name__ == "__main__":
|
|
768
816
|
help="Whether/how workers should control CPU affinity.")
|
769
817
|
parser.add_argument("--available-accelerators", type=str, nargs="*",
|
770
818
|
help="Names of available accelerators")
|
819
|
+
parser.add_argument("--enable_mpi_mode", action='store_true',
|
820
|
+
help="Enable MPI mode")
|
821
|
+
parser.add_argument("--mpi-launcher", type=str, choices=VALID_LAUNCHERS,
|
822
|
+
help="MPI launcher to use iff enable_mpi_mode=true")
|
771
823
|
|
772
824
|
args = parser.parse_args()
|
773
825
|
|
@@ -797,6 +849,8 @@ if __name__ == "__main__":
|
|
797
849
|
logger.info("Heartbeat period: {}".format(args.hb_period))
|
798
850
|
logger.info("CPU affinity: {}".format(args.cpu_affinity))
|
799
851
|
logger.info("Accelerators: {}".format(" ".join(args.available_accelerators)))
|
852
|
+
logger.info("enable_mpi_mode: {}".format(args.enable_mpi_mode))
|
853
|
+
logger.info("mpi_launcher: {}".format(args.mpi_launcher))
|
800
854
|
|
801
855
|
manager = Manager(task_port=args.task_port,
|
802
856
|
result_port=args.result_port,
|
@@ -812,6 +866,8 @@ if __name__ == "__main__":
|
|
812
866
|
heartbeat_period=int(args.hb_period),
|
813
867
|
poll_period=int(args.poll),
|
814
868
|
cpu_affinity=args.cpu_affinity,
|
869
|
+
enable_mpi_mode=args.enable_mpi_mode,
|
870
|
+
mpi_launcher=args.mpi_launcher,
|
815
871
|
available_accelerators=args.available_accelerators,
|
816
872
|
cert_dir=None if args.cert_dir == "None" else args.cert_dir)
|
817
873
|
manager.start()
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: parsl
|
3
|
-
Version: 2024.2.
|
3
|
+
Version: 2024.2.26
|
4
4
|
Summary: Simple data dependent workflows in Python
|
5
5
|
Home-page: https://github.com/Parsl/parsl
|
6
|
-
Download-URL: https://github.com/Parsl/parsl/archive/2024.02.
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2024.02.26.tar.gz
|
7
7
|
Author: The Parsl Team
|
8
8
|
Author-email: parsl@googlegroups.com
|
9
9
|
License: Apache 2.0
|
@@ -4,11 +4,11 @@ parsl/config.py,sha256=ysUWBfm9bygayHHdItaJbP4oozkHJJmVQVnWCt5igjE,6808
|
|
4
4
|
parsl/curvezmq.py,sha256=FtZEYP1IWDry39cH-tOKUm9TnaR1U7krOmvVYpATcOk,6939
|
5
5
|
parsl/errors.py,sha256=SzINzQFZDBDbj9l-DPQznD0TbGkNhHIRAPkcBCogf_A,1019
|
6
6
|
parsl/log_utils.py,sha256=AGem-dhQs5TYUyJg6GKkRuHxAw8FHhYlWB_0s7_ROw4,3175
|
7
|
-
parsl/multiprocessing.py,sha256=
|
7
|
+
parsl/multiprocessing.py,sha256=hakfdg-sgxEjwloZeDrt6EhzwdzecvjJhkPHHxh8lII,1938
|
8
8
|
parsl/process_loggers.py,sha256=1G3Rfrh5wuZNo2X03grG4kTYPGOxz7hHCyG6L_A3b0A,1137
|
9
9
|
parsl/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
-
parsl/utils.py,sha256=
|
11
|
-
parsl/version.py,sha256=
|
10
|
+
parsl/utils.py,sha256=PyJSz5BTlWTmVt01V2ueJPQYnrHMUwJlilSmW40oUJw,10956
|
11
|
+
parsl/version.py,sha256=jKXzmgCDPiDLSA9Hr-xq6py2ngnRNlIw26Ju3jmxO_U,131
|
12
12
|
parsl/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
parsl/app/app.py,sha256=wAHchJetgnicT1pn0NJKDeDX0lV3vDFlG8cQd_Ciax4,8522
|
14
14
|
parsl/app/bash.py,sha256=bx9x1XFwkOTpZZD3CPwnVL9SyNRDjbUGtOnuGLvxN_8,5396
|
@@ -19,7 +19,7 @@ parsl/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
parsl/benchmark/perf.py,sha256=jWQo47D6Coq9XSwvisHBfwwoy4d9_S8RzTBfJ9AteHo,3095
|
20
20
|
parsl/channels/__init__.py,sha256=x-GGbnZJXpQJ5eNQNb0UmCCqAnYiBqk0aJKDtqrkMBM,371
|
21
21
|
parsl/channels/base.py,sha256=1Yj4hBCq5APBWNystXK3wF1Ho8OgkplWA07WQZNAhP8,4294
|
22
|
-
parsl/channels/errors.py,sha256=
|
22
|
+
parsl/channels/errors.py,sha256=L9DPiYIP5E90N1moG4aRS_mpdrukQZ222n2-xAZCFM0,3282
|
23
23
|
parsl/channels/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
24
|
parsl/channels/local/local.py,sha256=rTRlYfhRHMFIeLsEIFGigpvgX3XnacNguvfp6ij_fAw,5087
|
25
25
|
parsl/channels/oauth_ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -36,9 +36,8 @@ parsl/configs/ad_hoc.py,sha256=6WzFfBLtoMe3fi2Zs4vVpd_J5hcabD3qLLaUyEDrj4Q,1266
|
|
36
36
|
parsl/configs/bluewaters.py,sha256=iQEYxsm4V3nEY8o-d2npxi9UzZ7WohIFvuK8TXaPlSo,891
|
37
37
|
parsl/configs/bridges.py,sha256=ee5H4-6mvdwxUY-GttiCWSsvoL3pNQqXN5UDrK5Qlx4,1437
|
38
38
|
parsl/configs/cc_in2p3.py,sha256=AiYgv-Ox5RilqouIQ0yQUBZNwCaITQpCeLBrF2FV0ek,700
|
39
|
-
parsl/configs/comet.py,sha256=AzR6y9bdHXtSD49K02U7Q-ycyUvy8SyEF1Veh06qOHs,945
|
40
|
-
parsl/configs/cooley.py,sha256=Xt1wvhezZvErVWkkcb3IwCXJIRhty1gQ6szoVuPe9aY,969
|
41
39
|
parsl/configs/ec2.py,sha256=-vzlv3YpFfX7kpCYWHJFvdDqFZfj0leR6sEaus3Ydoo,868
|
40
|
+
parsl/configs/expanse.py,sha256=t-v_al6qnMF_VZliIYtV0rpoidXuqN162YfBu4jJumw,948
|
42
41
|
parsl/configs/frontera.py,sha256=79oniQz83DPW67bOQ6-S5fjrjsHopwdIZaHhUSmp6-Y,1411
|
43
42
|
parsl/configs/htex_local.py,sha256=njBRUU56Tt70vXtv3-ogjflsBAjdk5W-GpR0YuYxBEQ,467
|
44
43
|
parsl/configs/illinoiscluster.py,sha256=L-dFOpL-2VKeBBMq82TiM27b0pNE9Y9xwS1PXcPI1YU,1093
|
@@ -49,7 +48,6 @@ parsl/configs/osg.py,sha256=1WNOt6hmG-DcQdH2dBZCpaN1yNZvcXX-TsU1FgAMj24,1134
|
|
49
48
|
parsl/configs/polaris.py,sha256=SaMvllw_1rGwhJyuwJ15Sfpzh4attHfGDUmUQHzWCzM,1654
|
50
49
|
parsl/configs/stampede2.py,sha256=CgweBZWTSY3P--Zk2iTarh6wmfO1cLz7JB-4wlu3Vdc,1321
|
51
50
|
parsl/configs/summit.py,sha256=kssMiF_vYwpMxF4CYlr9jbL-Vz4zOekNCPryinCEef0,1079
|
52
|
-
parsl/configs/theta.py,sha256=B1RtH5HNY8z-gYPssOtYhlsBwOYLLoekrAO032YtBLA,1250
|
53
51
|
parsl/configs/toss3_llnl.py,sha256=9VAqKpDvwTSlvDXFw2gSI9ViVv0jJbr1cPBTnCGZlp4,998
|
54
52
|
parsl/configs/vineex_local.py,sha256=0BkxSSsTMkvKpGmQplXW-59qsvHYjdhN5TGyIOfHm6s,695
|
55
53
|
parsl/configs/wqex_local.py,sha256=QocsrCKR94agZndabH7vX3NTGLqx_y126Wgmo-17xNs,794
|
@@ -63,7 +61,7 @@ parsl/data_provider/http.py,sha256=nDHTW7XmJqAukWJjPRQjyhUXt8r6GsQ36mX9mv_wOig,2
|
|
63
61
|
parsl/data_provider/rsync.py,sha256=2-ZxqrT-hBj39x082NusJaBqsGW4Jd2qCW6JkVPpEl0,4254
|
64
62
|
parsl/data_provider/staging.py,sha256=l-mAXFburs3BWPjkSmiQKuAgJpsxCG62yATPDbrafYI,4523
|
65
63
|
parsl/dataflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
66
|
-
parsl/dataflow/dflow.py,sha256=
|
64
|
+
parsl/dataflow/dflow.py,sha256=thxwgWI5F2twW4P_bsy1-ZERAfJIbqb1uI7uGGbhmRU,63873
|
67
65
|
parsl/dataflow/errors.py,sha256=w2vOt_ymzG2dOqJUO4IDcmTlrCIHlMZL8nBVyVq0O_8,2176
|
68
66
|
parsl/dataflow/futures.py,sha256=aVfEUTzp4-EdunDAtNcqVQf8l_A7ArDi2c82KZMwxfY,5256
|
69
67
|
parsl/dataflow/memoization.py,sha256=AsJO6c6cRp2ac6H8uGn2USlEi78_nX3QWvpxYt4XdYE,9583
|
@@ -77,22 +75,24 @@ parsl/executors/status_handling.py,sha256=GNBYrAhOpHSnmJA0NouK9by_uJxXn8vlPgBhcp
|
|
77
75
|
parsl/executors/threads.py,sha256=bMU3JFghm17Lpcua13pr3NgQhkUDDc2mqvF2yJBrVNQ,3353
|
78
76
|
parsl/executors/flux/__init__.py,sha256=P9grTTeRPXfqXurFhlSS7XhmE6tTbnCnyQ1f9b-oYHE,136
|
79
77
|
parsl/executors/flux/execute_parsl_task.py,sha256=yUG_WjZLcX8LrgPl26mpEBWZhQMlVNbRLGu08yIjdf4,1553
|
80
|
-
parsl/executors/flux/executor.py,sha256=
|
78
|
+
parsl/executors/flux/executor.py,sha256=0omXRPvykdW5VZb8mwgBJjxVk4H6G8xoL5D_R9pun7o,16978
|
81
79
|
parsl/executors/flux/flux_instance_manager.py,sha256=tTEOATClm9SwdgLeBRWPC6D55iNDuh0YxqJOw3c3eQ4,2036
|
82
80
|
parsl/executors/high_throughput/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
81
|
parsl/executors/high_throughput/errors.py,sha256=vl69wLuVOplbKxHI9WphEGBExHWkTn5n8T9QhBXuNH0,380
|
84
|
-
parsl/executors/high_throughput/executor.py,sha256=
|
82
|
+
parsl/executors/high_throughput/executor.py,sha256=TOLBLvBc6yYFGJ5sgxnQV8IISkkAejMoljq9vg5kM2Q,35839
|
85
83
|
parsl/executors/high_throughput/interchange.py,sha256=TRxo0XWoFiDXEUIPTI_ILOClG3nKMJs7RtXz4NCLhhg,29852
|
86
84
|
parsl/executors/high_throughput/manager_record.py,sha256=T8-JVMfDJU6SJfzJRooD0mO8AHGMXlcn3PBOM0m_vng,366
|
87
85
|
parsl/executors/high_throughput/monitoring_info.py,sha256=3gQpwQjjNDEBz0cQqJZB6hRiwLiWwXs83zkQDmbOwxY,297
|
86
|
+
parsl/executors/high_throughput/mpi_prefix_composer.py,sha256=GPSejuNL407gvzw9f7dTWArTLn6heTi-erJjgcM-_8Y,4273
|
87
|
+
parsl/executors/high_throughput/mpi_resource_management.py,sha256=geLYmp2teKYgTnzATAR_JPtjAa0ysu6pHpXs90vwkds,7975
|
88
88
|
parsl/executors/high_throughput/probe.py,sha256=lvnuf-vBv57tHvFh-J51F9sDYBES7jCgs6KYgWvmKRs,2749
|
89
|
-
parsl/executors/high_throughput/process_worker_pool.py,sha256=
|
89
|
+
parsl/executors/high_throughput/process_worker_pool.py,sha256=acSWUw4aOlkPXBMlDJhyP45iCWSw8eKn_-9x12SdIVk,38448
|
90
90
|
parsl/executors/high_throughput/zmq_pipes.py,sha256=TEIr1PcBDVbchBukzPaEsku2lbIIFCYYjeUq5zw_VBA,6514
|
91
91
|
parsl/executors/radical/__init__.py,sha256=CKbtV2numw5QvgIBq1htMUrt9TqDCIC2zifyf2svTNU,186
|
92
|
-
parsl/executors/radical/executor.py,sha256=
|
92
|
+
parsl/executors/radical/executor.py,sha256=5r9WZkOr0clg79zm35E7nC7zNv0DpbyM8iTC2B6d4N0,21024
|
93
93
|
parsl/executors/radical/rpex_master.py,sha256=nMGxYWw3r-8_vZVnEwfB5eCfdTqXkeQDP5yvU0jXgc8,1368
|
94
94
|
parsl/executors/radical/rpex_resources.py,sha256=d7QlJYBkWE-lPauetroEGIbA8RyVILA699LG0uNviws,4960
|
95
|
-
parsl/executors/radical/rpex_worker.py,sha256=
|
95
|
+
parsl/executors/radical/rpex_worker.py,sha256=1M1df-hzFdmZMWbRZlUzIX7uAWMKJ_SkxLMWc6s8-tc,1868
|
96
96
|
parsl/executors/taskvine/__init__.py,sha256=sWIJdvSLgQKul9dlSjIkNat7yBDgU3SrBF3X2yhT86E,293
|
97
97
|
parsl/executors/taskvine/errors.py,sha256=MNS_NjpvHjwevQXOjqjSEBFroqEWi-LT1ZEVZ2C5Dx0,652
|
98
98
|
parsl/executors/taskvine/exec_parsl_function.py,sha256=oUAKbPWwpbzWwQ47bZQlVDxS8txhnhPsonMf3AOEMGQ,7085
|
@@ -112,16 +112,16 @@ parsl/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
112
112
|
parsl/jobs/error_handlers.py,sha256=dvfZFqTwAcFXrIx3sjFTcjtwOB0-xGn6QnPwJEG-kAI,2311
|
113
113
|
parsl/jobs/errors.py,sha256=cpSQXCrlKtuHsQf7usjF-lX8XsDkFnE5kWpmFjiN6OU,178
|
114
114
|
parsl/jobs/job_status_poller.py,sha256=xQQauyNpmK23t6ViYm-AvvDLHsxVTmghjlACZvfL6LQ,4973
|
115
|
-
parsl/jobs/states.py,sha256=
|
115
|
+
parsl/jobs/states.py,sha256=rPBoAEEudKngWFijlwvXXhAagDs_9DCXvQP9rwzVgCM,4855
|
116
116
|
parsl/jobs/strategy.py,sha256=9V07D8bydpyxvNNRH89JZa0Pt-bjjowrSmCc5mv6awY,12903
|
117
117
|
parsl/launchers/__init__.py,sha256=k8zAB3IBP-brfqXUptKwGkvsIRaXjAJZNBJa2XVtY1A,546
|
118
118
|
parsl/launchers/base.py,sha256=CblcvPTJiu-MNLWaRtFe29SZQ0BpTOlaY8CGcHdlHIE,538
|
119
119
|
parsl/launchers/errors.py,sha256=v5i460H_rovzukSccQetxQBVtd92jLQz-NbuDe2TdGI,467
|
120
120
|
parsl/launchers/launchers.py,sha256=t9nuX38GMlAUPHs0aksnMd_5jI59IcqwlUD667w1cu4,15358
|
121
121
|
parsl/monitoring/__init__.py,sha256=0ywNz6i0lM1xo_7_BIxhETDGeVd2C_0wwD7qgeaMR4c,83
|
122
|
-
parsl/monitoring/db_manager.py,sha256=
|
122
|
+
parsl/monitoring/db_manager.py,sha256=impNMJ92oACMCxXS0qBizRviN7-29Kjvs5m8p3Em1ZQ,36308
|
123
123
|
parsl/monitoring/message_type.py,sha256=Khn88afNxcOIciKiCK4GLnn90I5BlRTiOL3zK-P07yQ,401
|
124
|
-
parsl/monitoring/monitoring.py,sha256=
|
124
|
+
parsl/monitoring/monitoring.py,sha256=RlfbdH6kre3CXWi0kppUKjEVQrp1DQQxMfvZCwq7Vus,24855
|
125
125
|
parsl/monitoring/radios.py,sha256=T2_6QuUjC-dd_7qMnIk6WHQead1iWz7m_P6ZC4QAqdA,5265
|
126
126
|
parsl/monitoring/remote.py,sha256=88KYckdqCcGYWNxpkBETdNg4YVP8UkMLNcJDT4ffq_s,12552
|
127
127
|
parsl/monitoring/types.py,sha256=SO6Fjjbb83sv_MtbutoxGssiWh6oXKkEEsD4EvwOnZ4,629
|
@@ -161,7 +161,7 @@ parsl/providers/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
161
161
|
parsl/providers/azure/azure.py,sha256=wHM0IDSdPDi240zHgB_BxShahe6wOi_MffVZ4u900ao,18396
|
162
162
|
parsl/providers/azure/template.py,sha256=JJNW8zr30uYcfK-RqQX2FHZVWrxvYE8E6VbaYuAFEqw,347
|
163
163
|
parsl/providers/cobalt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
|
-
parsl/providers/cobalt/cobalt.py,sha256=
|
164
|
+
parsl/providers/cobalt/cobalt.py,sha256=D8F1z0Ye3WJWl_R1Zl0HFyyc29JndSm6oNB2PZ-3MWM,8478
|
165
165
|
parsl/providers/cobalt/template.py,sha256=a7fIkMLrYZ6uHgOPQgp8YPJA8f7SgxloFdEx51OJvuY,273
|
166
166
|
parsl/providers/condor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
167
167
|
parsl/providers/condor/condor.py,sha256=NmC6IcIlhPT2ojmNn6TeRro3E-rPdGdK5IAoLXR9g24,13175
|
@@ -180,19 +180,19 @@ parsl/providers/lsf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
180
180
|
parsl/providers/lsf/lsf.py,sha256=AECVpjl_CTreE-APFQSjMVVIb3HheG6zculJn-zYtdM,11502
|
181
181
|
parsl/providers/lsf/template.py,sha256=leQ_TpXv7ePMzbHfLaWvqMR0VORxlp-hjX5JxtkcwwU,269
|
182
182
|
parsl/providers/pbspro/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
|
-
parsl/providers/pbspro/pbspro.py,sha256=
|
184
|
-
parsl/providers/pbspro/template.py,sha256=
|
183
|
+
parsl/providers/pbspro/pbspro.py,sha256=Uo6XvXZ3HwotfvrzFtaE1Wf4pta1LoqM4GgkQUTXv4A,8822
|
184
|
+
parsl/providers/pbspro/template.py,sha256=y-Dher--t5Eury-c7cAuSZs9FEUXWiruFUI07v81558,315
|
185
185
|
parsl/providers/slurm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
186
|
-
parsl/providers/slurm/slurm.py,sha256=
|
187
|
-
parsl/providers/slurm/template.py,sha256=
|
186
|
+
parsl/providers/slurm/slurm.py,sha256=ormNss2s8NVrrS-QZobuzrDlbEolDm6ZdyHD5vgrzsU,13720
|
187
|
+
parsl/providers/slurm/template.py,sha256=KpgBEFMc1ps-38jdrk13xUGx9TCivu-iF90jgQDdiEQ,315
|
188
188
|
parsl/providers/torque/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
189
189
|
parsl/providers/torque/template.py,sha256=4qfc2gmlEhRCAD7erFDOs4prJQ43I8s4E8DSUSVQx3A,358
|
190
190
|
parsl/providers/torque/torque.py,sha256=h8CbLL594sDqcEHu-MnFIT0I_Sjx2IsOQJ5lMvjHHG4,9497
|
191
|
-
parsl/serialize/__init__.py,sha256
|
191
|
+
parsl/serialize/__init__.py,sha256=DFC1PCfFxgJMFbH_MfN8Ycm3J_TaY5QEg8xEyGzFUw8,451
|
192
192
|
parsl/serialize/base.py,sha256=hiENRIDsVrIuSHIPQfxV0PbnnJ2T7LAxh2bN2Wy60Hw,1083
|
193
193
|
parsl/serialize/concretes.py,sha256=QhuiXeBhpvufAz7RO9p2BWgf_on4hZYRVxlAIp5JzNE,1910
|
194
194
|
parsl/serialize/errors.py,sha256=TmTjGI4jf8p2hH454jpp_CPbhxwPXcj5MdOMEmF6so4,1066
|
195
|
-
parsl/serialize/facade.py,sha256=
|
195
|
+
parsl/serialize/facade.py,sha256=SpKGSpI8PQb3hhxuKRJUYoQoq284t5np9ouTpogKmtU,6795
|
196
196
|
parsl/serialize/proxystore.py,sha256=Yo-38odKlSKSuQfXU4cB5YM9sYV_302uPn1z_en19SU,1623
|
197
197
|
parsl/tests/__init__.py,sha256=s_zoz7Ipgykh-QTQvctdpxENrMnmpXY8oe1bJbUmpqY,204
|
198
198
|
parsl/tests/callables_helper.py,sha256=ceP1YYsNtrZgKT6MAIvpgdccEjQ_CpFEOnZBGHKGOx0,30
|
@@ -329,7 +329,7 @@ parsl/tests/test_error_handling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
329
329
|
parsl/tests/test_error_handling/test_fail.py,sha256=xx4TGWfL7le4cQ9nvnUkrlmKQJkskhD0l_3W1xwZSEI,282
|
330
330
|
parsl/tests/test_error_handling/test_python_walltime.py,sha256=rdmGZHIkuann2Njt3i62odKJ0FaODGr7-L96rOXNVYg,950
|
331
331
|
parsl/tests/test_error_handling/test_rand_fail.py,sha256=OgHDOGWwdSzdpxpQQ0RbDc1k2mLtWxEcQ6akL23EA_w,3864
|
332
|
-
parsl/tests/test_error_handling/test_resource_spec.py,sha256=
|
332
|
+
parsl/tests/test_error_handling/test_resource_spec.py,sha256=k6KzYJSePIDTTz68p4RNmuRKf9tpajXs69TuE8xQAFQ,1556
|
333
333
|
parsl/tests/test_error_handling/test_retries.py,sha256=2WV_SLqIgEe1Xp47gkvzyIHUk4tmJ97n8VSpFjzo3qY,2445
|
334
334
|
parsl/tests/test_error_handling/test_retry_handler.py,sha256=5RPgF1DkMeSLiEBbTcX6rpaMaBfd6Lt1bqJRYUDUJE0,1406
|
335
335
|
parsl/tests/test_error_handling/test_retry_handler_failure.py,sha256=Y12jOq1ShyRk-qcMyk46gBWe74lZaw36UtIa9Pb-4XM,551
|
@@ -341,7 +341,7 @@ parsl/tests/test_htex/test_basic.py,sha256=VRP_-Ro2SYp8TqfjpG_zCBJOZWuVFFCr3E0WK
|
|
341
341
|
parsl/tests/test_htex/test_connected_blocks.py,sha256=ayxoj-44jtYc-diedlUKG413JZAFnzFvZhM6G_IlxaY,1630
|
342
342
|
parsl/tests/test_htex/test_cpu_affinity_explicit.py,sha256=9t6pI6VwFFHRv0cZDJB-ohIlYOezc9ugysouQbOzSqQ,1413
|
343
343
|
parsl/tests/test_htex/test_disconnected_blocks.py,sha256=k3hcDTCbhv8_lD5jn687r8zT95ugpEvMCZ14fTmOefM,1881
|
344
|
-
parsl/tests/test_htex/test_htex.py,sha256=
|
344
|
+
parsl/tests/test_htex/test_htex.py,sha256=9CZRufq4YCox0c1d5PcGOb-X5YPrz-cTIP9hpgKXduk,3461
|
345
345
|
parsl/tests/test_htex/test_manager_failure.py,sha256=5YsCS1z7wOfUcFCD7uzR7t_rD3x5toZnoaCKVrHaMb0,1152
|
346
346
|
parsl/tests/test_htex/test_missing_worker.py,sha256=Tux0Xla719eup7RdWj8LmxNH-CTscMN0NM4CPuPP1ng,967
|
347
347
|
parsl/tests/test_htex/test_multiple_disconnected_blocks.py,sha256=KxEWjfKXYPIllAGsErjA2J1-2rQSg4WV9xbl1QqkL7U,1984
|
@@ -351,11 +351,22 @@ parsl/tests/test_monitoring/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
351
351
|
parsl/tests/test_monitoring/test_basic.py,sha256=uXWx2O2Y2gfSO4e8zTjyj5bucKHG9OVzMxQNnq9abeY,2776
|
352
352
|
parsl/tests/test_monitoring/test_db_locks.py,sha256=PGoRmvqA6AYPXTPHOZPLH38Z4D6EEgSb6ZgNfZtwIGk,2910
|
353
353
|
parsl/tests/test_monitoring/test_fuzz_zmq.py,sha256=Xi08Drt_DZKbo3Ihl83cgsTTMRok1bBpyrVOQQWlbf4,3145
|
354
|
+
parsl/tests/test_monitoring/test_incomplete_futures.py,sha256=9lJhkWlVB8gCCTkFjObzoh1uCL1pRmU6gFgEzLCztnY,2021
|
354
355
|
parsl/tests/test_monitoring/test_memoization_representation.py,sha256=tErT7zseSMaQ5eNmK3hH90J6OZKuAaFQG50OXK6Jy9s,2660
|
355
356
|
parsl/tests/test_monitoring/test_viz_colouring.py,sha256=k8SiELxPtnGYZ4r02VQt46RC61fGDVC4nmY768snX1U,591
|
357
|
+
parsl/tests/test_mpi_apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
358
|
+
parsl/tests/test_mpi_apps/test_bad_mpi_config.py,sha256=mB-ASx0S-wh1iP6MYZ-CdOwMye3xgteQK-jqufzWNO8,1317
|
359
|
+
parsl/tests/test_mpi_apps/test_mpi_mode_disabled.py,sha256=IuCYP-7_VytwShZ8nZ5mLrymgyEgdK_9wKDX2lqR9lE,1342
|
360
|
+
parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py,sha256=dST8nlagWZJ4zRuGV7klXEm6AHR7aw8FOJxWRED8QRo,5025
|
361
|
+
parsl/tests/test_mpi_apps/test_mpi_prefix.py,sha256=OJ95-95t7DmDF86uYCtT2iRcY2gn9LFH45OWyjjL2h8,1950
|
362
|
+
parsl/tests/test_mpi_apps/test_mpi_scheduler.py,sha256=dZ8_mzLMx5Us7mra2nPfxaeWZnhZyqNJ8vPWkWHaEB8,6317
|
363
|
+
parsl/tests/test_mpi_apps/test_resource_spec.py,sha256=fIR-sellr4r9yxmklHI3VDiIl-VKieyYVh403XF_nlQ,3701
|
356
364
|
parsl/tests/test_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
365
|
+
parsl/tests/test_providers/test_cobalt_deprecation_warning.py,sha256=Fy5XXDkVs3KIX3tHyRjyReXEr35X1LWyEXcVXmWccDs,389
|
357
366
|
parsl/tests/test_providers/test_local_provider.py,sha256=G6Fuko22SvAtD7xhfQv8k_8HtJuFhZ8aHYcWQt073Pg,6968
|
367
|
+
parsl/tests/test_providers/test_pbspro_template.py,sha256=qlVJFr4fLNXa1Fk42sEEwp2MYBJ5NodGLZD1rc03rq0,855
|
358
368
|
parsl/tests/test_providers/test_slurm_instantiate.py,sha256=eW3pEZRIzZO1-eKFrBc7N5uoN5otwghgbqut74Kyqoc,500
|
369
|
+
parsl/tests/test_providers/test_slurm_template.py,sha256=Au6DbIgCxWPTNCvipwWh_39zlUbWdOCZJhtYRmW4Yc0,901
|
359
370
|
parsl/tests/test_providers/test_submiterror_deprecation.py,sha256=ZutVj_0VJ7M-5UZV0qisMwId7lT783LAxGEAsMjkeZU,501
|
360
371
|
parsl/tests/test_python_apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
361
372
|
parsl/tests/test_python_apps/test_arg_input_types.py,sha256=JXpfHiu8lr9BN6u1OzqFvGwBhxzsGTPMewHx6Wdo-HI,670
|
@@ -385,7 +396,7 @@ parsl/tests/test_python_apps/test_simple.py,sha256=LYGjdHvRizTpYzZePPvwKSPwrr2MP
|
|
385
396
|
parsl/tests/test_python_apps/test_timeout.py,sha256=uENfT-1DharQkqkeG7a89E-gU1gjE7ATJrBZGUKvZSA,998
|
386
397
|
parsl/tests/test_python_apps/test_type5.py,sha256=kUyA1NuFu-DDXsJNNvJLZVyewZBt7QAOhcGm2DWFTQw,777
|
387
398
|
parsl/tests/test_radical/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
388
|
-
parsl/tests/test_radical/test_mpi_funcs.py,sha256=
|
399
|
+
parsl/tests/test_radical/test_mpi_funcs.py,sha256=vEG3tSZS2BNKF65acmoboLLmudIUHzz7UWQYsMUwAbw,838
|
389
400
|
parsl/tests/test_regression/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
390
401
|
parsl/tests/test_regression/test_1480.py,sha256=HNhuw7OYkBGMhN--XgKIl2JPHUj_hXlgL74oS3FqWk4,545
|
391
402
|
parsl/tests/test_regression/test_1606_wait_for_current_tasks.py,sha256=frqPtaiVysevj9nCWoQlAeh9K1jQO5zaahr9ev_Mx_0,1134
|
@@ -400,10 +411,12 @@ parsl/tests/test_regression/test_98.py,sha256=ZNTA-USpmH85Mt0nu3KFQ1qqmXsyHtYMZW
|
|
400
411
|
parsl/tests/test_scaling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
401
412
|
parsl/tests/test_scaling/test_block_error_handler.py,sha256=VFKs_jq7yd7bpdfYva3Sa_TBS8VcjGUS6YJ9Y34RbyI,6050
|
402
413
|
parsl/tests/test_scaling/test_regression_1621.py,sha256=iRu3GFsg2l9J61AVZKWLc6zJcvI2JYD0WvtTYDSv22I,1770
|
403
|
-
parsl/tests/test_scaling/test_scale_down.py,sha256=
|
414
|
+
parsl/tests/test_scaling/test_scale_down.py,sha256=xg9ACrGCsNraarkslS88PTBjWSBqhYW1Wo1K1WHNNPk,2821
|
404
415
|
parsl/tests/test_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
405
416
|
parsl/tests/test_serialization/test_2555_caching_deserializer.py,sha256=J8__b4djA5tErd8FUSXGkGcdXlW2KHbBWRbCTAnV08Q,767
|
406
417
|
parsl/tests/test_serialization/test_basic.py,sha256=51KshqIk2RNr7S2iSkl5tZo40CJBb0h6uby8YPgOGlg,543
|
418
|
+
parsl/tests/test_serialization/test_htex_code_cache.py,sha256=YW9ab4GCpeZWRdYsVEj4irTI3zYkERJXhuvFIroqYN4,1841
|
419
|
+
parsl/tests/test_serialization/test_pack_resource_spec.py,sha256=eZ_gykB4uTDyEEF1HkExTUn98j9pTljxAnn6ucFhdvo,640
|
407
420
|
parsl/tests/test_serialization/test_proxystore_configured.py,sha256=_JbMzeUgcR-1Ss2hGAb2v0LBA0fzKpNpfO-HaUCR7Yo,2293
|
408
421
|
parsl/tests/test_serialization/test_proxystore_impl.py,sha256=Pn_4ulwCd7Tc6Qlmypq2ImT4DtErGDIfqHHmPTr7aOI,1226
|
409
422
|
parsl/tests/test_staging/__init__.py,sha256=WZl9EHSkfYiSoE3Gbulcq2ifmn7IFGUkasJIobL5T5A,208
|
@@ -422,13 +435,13 @@ parsl/tests/test_threads/test_lazy_errors.py,sha256=nGhYfCMHFZYSy6YJ4gnAmiLl9SfY
|
|
422
435
|
parsl/tests/test_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
423
436
|
parsl/tests/test_utils/test_representation_mixin.py,sha256=kUZeIDwA2rlbJ3-beGzLLwf3dOplTMCrWJN87etHcyY,1633
|
424
437
|
parsl/usage_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
425
|
-
parsl/usage_tracking/usage.py,sha256=
|
426
|
-
parsl-2024.2.
|
427
|
-
parsl-2024.2.
|
428
|
-
parsl-2024.2.
|
429
|
-
parsl-2024.2.
|
430
|
-
parsl-2024.2.
|
431
|
-
parsl-2024.2.
|
432
|
-
parsl-2024.2.
|
433
|
-
parsl-2024.2.
|
434
|
-
parsl-2024.2.
|
438
|
+
parsl/usage_tracking/usage.py,sha256=WSfllOV4bDveCaHSG2i39-si1lNHAqi__iY_hbf5OPk,6817
|
439
|
+
parsl-2024.2.26.data/scripts/exec_parsl_function.py,sha256=NtWNeBvRqksej38eRPw8zPBJ1CeW6vgaitve0tfz_qc,7801
|
440
|
+
parsl-2024.2.26.data/scripts/parsl_coprocess.py,sha256=kzX_1RI3V2KMKs6L-il4I1qkLNVodDKFXN_1FHB9fmM,6031
|
441
|
+
parsl-2024.2.26.data/scripts/process_worker_pool.py,sha256=cgnfXpm1s3aVX33hgVL_cz6DQLzDuifHG78KR68A38Q,38434
|
442
|
+
parsl-2024.2.26.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
443
|
+
parsl-2024.2.26.dist-info/METADATA,sha256=QnkK0o9wcEMdov7ekRXMKRPwG-ipixQLQIwe_hKkmnY,3960
|
444
|
+
parsl-2024.2.26.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
445
|
+
parsl-2024.2.26.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
|
446
|
+
parsl-2024.2.26.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
|
447
|
+
parsl-2024.2.26.dist-info/RECORD,,
|
parsl/configs/cooley.py
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
from parsl.config import Config
|
2
|
-
from parsl.executors import HighThroughputExecutor
|
3
|
-
from parsl.launchers import MpiRunLauncher
|
4
|
-
from parsl.providers import CobaltProvider
|
5
|
-
|
6
|
-
|
7
|
-
config = Config(
|
8
|
-
executors=[
|
9
|
-
HighThroughputExecutor(
|
10
|
-
label="cooley_htex",
|
11
|
-
worker_debug=False,
|
12
|
-
cores_per_worker=1,
|
13
|
-
provider=CobaltProvider(
|
14
|
-
queue='debug',
|
15
|
-
account='YOUR_ACCOUNT', # project name to submit the job
|
16
|
-
launcher=MpiRunLauncher(),
|
17
|
-
scheduler_options='', # string to prepend to #COBALT blocks in the submit script to the scheduler
|
18
|
-
worker_init='', # command to run before starting a worker, such as 'source activate env'
|
19
|
-
init_blocks=1,
|
20
|
-
max_blocks=1,
|
21
|
-
min_blocks=1,
|
22
|
-
nodes_per_block=4,
|
23
|
-
cmd_timeout=60,
|
24
|
-
walltime='00:10:00',
|
25
|
-
),
|
26
|
-
)
|
27
|
-
],
|
28
|
-
|
29
|
-
)
|
parsl/configs/theta.py
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
from parsl.config import Config
|
2
|
-
from parsl.providers import CobaltProvider
|
3
|
-
from parsl.launchers import AprunLauncher
|
4
|
-
from parsl.executors import HighThroughputExecutor
|
5
|
-
from parsl.addresses import address_by_interface
|
6
|
-
|
7
|
-
config = Config(
|
8
|
-
executors=[
|
9
|
-
HighThroughputExecutor(
|
10
|
-
label='theta_local_htex_multinode',
|
11
|
-
address=address_by_interface('vlan2360'),
|
12
|
-
max_workers=4,
|
13
|
-
cpu_affinity='block', # Ensures that workers use cores on the same tile
|
14
|
-
provider=CobaltProvider(
|
15
|
-
queue='YOUR_QUEUE',
|
16
|
-
account='YOUR_ACCOUNT',
|
17
|
-
launcher=AprunLauncher(overrides="-d 64 --cc depth"),
|
18
|
-
walltime='00:30:00',
|
19
|
-
nodes_per_block=2,
|
20
|
-
init_blocks=1,
|
21
|
-
min_blocks=1,
|
22
|
-
max_blocks=1,
|
23
|
-
# string to prepend to #COBALT blocks in the submit
|
24
|
-
# script to the scheduler eg: '#COBALT -t 50'
|
25
|
-
scheduler_options='',
|
26
|
-
# Command to be run before starting a worker, such as:
|
27
|
-
# 'module load Anaconda; source activate parsl_env'.
|
28
|
-
worker_init='',
|
29
|
-
cmd_timeout=120,
|
30
|
-
),
|
31
|
-
)
|
32
|
-
],
|
33
|
-
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|