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.
Files changed (52) hide show
  1. parsl/channels/errors.py +1 -4
  2. parsl/configs/{comet.py → expanse.py} +5 -5
  3. parsl/dataflow/dflow.py +12 -12
  4. parsl/executors/flux/executor.py +5 -3
  5. parsl/executors/high_throughput/executor.py +56 -10
  6. parsl/executors/high_throughput/mpi_prefix_composer.py +137 -0
  7. parsl/executors/high_throughput/mpi_resource_management.py +217 -0
  8. parsl/executors/high_throughput/process_worker_pool.py +65 -9
  9. parsl/executors/radical/executor.py +6 -3
  10. parsl/executors/radical/rpex_worker.py +2 -2
  11. parsl/jobs/states.py +5 -5
  12. parsl/monitoring/db_manager.py +2 -1
  13. parsl/monitoring/monitoring.py +7 -4
  14. parsl/multiprocessing.py +3 -4
  15. parsl/providers/cobalt/cobalt.py +6 -0
  16. parsl/providers/pbspro/pbspro.py +18 -4
  17. parsl/providers/pbspro/template.py +2 -2
  18. parsl/providers/slurm/slurm.py +17 -4
  19. parsl/providers/slurm/template.py +2 -2
  20. parsl/serialize/__init__.py +7 -2
  21. parsl/serialize/facade.py +32 -1
  22. parsl/tests/test_error_handling/test_resource_spec.py +6 -0
  23. parsl/tests/test_htex/test_htex.py +66 -3
  24. parsl/tests/test_monitoring/test_incomplete_futures.py +65 -0
  25. parsl/tests/test_mpi_apps/__init__.py +0 -0
  26. parsl/tests/test_mpi_apps/test_bad_mpi_config.py +41 -0
  27. parsl/tests/test_mpi_apps/test_mpi_mode_disabled.py +51 -0
  28. parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py +171 -0
  29. parsl/tests/test_mpi_apps/test_mpi_prefix.py +71 -0
  30. parsl/tests/test_mpi_apps/test_mpi_scheduler.py +158 -0
  31. parsl/tests/test_mpi_apps/test_resource_spec.py +145 -0
  32. parsl/tests/test_providers/test_cobalt_deprecation_warning.py +16 -0
  33. parsl/tests/test_providers/test_pbspro_template.py +28 -0
  34. parsl/tests/test_providers/test_slurm_template.py +29 -0
  35. parsl/tests/test_radical/test_mpi_funcs.py +1 -0
  36. parsl/tests/test_scaling/test_scale_down.py +6 -5
  37. parsl/tests/test_serialization/test_htex_code_cache.py +57 -0
  38. parsl/tests/test_serialization/test_pack_resource_spec.py +22 -0
  39. parsl/usage_tracking/usage.py +29 -55
  40. parsl/utils.py +12 -35
  41. parsl/version.py +1 -1
  42. {parsl-2024.2.12.data → parsl-2024.2.26.data}/scripts/process_worker_pool.py +65 -9
  43. {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/METADATA +2 -2
  44. {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/RECORD +50 -37
  45. parsl/configs/cooley.py +0 -29
  46. parsl/configs/theta.py +0 -33
  47. {parsl-2024.2.12.data → parsl-2024.2.26.data}/scripts/exec_parsl_function.py +0 -0
  48. {parsl-2024.2.12.data → parsl-2024.2.26.data}/scripts/parsl_coprocess.py +0 -0
  49. {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/LICENSE +0 -0
  50. {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/WHEEL +0 -0
  51. {parsl-2024.2.12.dist-info → parsl-2024.2.26.dist-info}/entry_points.txt +0 -0
  52. {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 unpack_apply_message, serialize
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.pending_task_queue.put(task)
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.pending_result_queue.get(block=True, timeout=push_poll_period)
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 execute_task(bufs):
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 = unpack_apply_message(bufs, user_ns, copy=False)
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.12
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.12.tar.gz
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=w3t1pFkHo4oZpznc2KF6Ff-Jj8MvXqvjm-hoiRqZDDQ,1984
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=TTM6gFgW2EscFsNNDGNRmHdXSMIo7TO5yYt8PdyRqVI,11767
11
- parsl/version.py,sha256=SeyTJ35wRv4sUap9ihWu5H2B-lGPHYKLMZhS4-NAahs,131
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=Pr7TS5jbE3BXAdrq9ZuV5NprZG4_3sHgifa9E3oEkVE,3345
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=uUlalq9XCaj8JrqclU24C1A-s8CVkMABpNjCKqzKfDg,63876
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=tf9xPmWgEsgEjzs89dJ-sMx-QaqRpM1R1crX3tp0-Oc,16893
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=jo8rDM5VttbWhDjvgSKdKmJWwBOLop_Gp98hvoen_j0,33773
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=8WHY1byJWdhHzUvFWW1JTMPN6brK_4UCRIreWtere2M,35858
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=u0GhRk4dzAX8lmTGjBYmztg1yT02AsEmsSnUg84MnwU,20823
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=xPkjYdlXc3kjN-95NTMiQ5s-yU3JFDCA3sruPTxF3XU,1834
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=WdOt4hxJluKNkgC1lnb3kfrp2NRtWBH0k1ftffUpYWU,4926
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=Uz_yxEDufpBjkgyzWQbpdMk-RUYaV801QgJVNMx8ft8,36247
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=cqApvzkRtuWwYxuZK0p5S7ef4T2FuKRQRaNV2ytHUbM,24682
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=DRGcwxhkdVTbxx1bk1BIcW3CAXSNxnDGVbyn0dqXKgE,8220
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=zXsb45LhgCkLEwwKXjdjsm2jv884j1fXHJ2hky9auD0,7789
184
- parsl/providers/pbspro/template.py,sha256=ozMbrx0HNsLnSoWbkZhy-55yJoTX5gpdRrDuVn6TFWA,369
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=zIIWJDgoZrKWU6HDTG7sMkVe5DO-QEAEDfo7kAU850E,12729
187
- parsl/providers/slurm/template.py,sha256=cc-3l5wnThEWfqzpniPgi3FP6934Ni05UZ9r0A1RA8s,369
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=-SQi-Uy4mOUFt_Ils48sk6pojgUX_eNqBxinWdTq3yY,219
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=0A--_bB_8e5RRT-weYu5Ak33zN_lqZeaJU1x7JXaoBQ,5637
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=1oOJC6fnG_TuaGBfGjaucJjxwL9GIUSXc8K-e_zSyus,1185
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=8bEP5uFcUXUEpXLGBCx04HpI9kYrlN0_4SwYiXasFHQ,1690
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=rLC01pdq6354pzHHm4PHMtePg0xOcQO2_2DwivoHvFg,765
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=waHoceBxuCPf2mvUKODBPXdIAiox8DRKcz9bYjhXfU8,2786
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=TEuAIm_U_G2ojZxvd0bbVa6gZlU61_mVRa2yJC9mGiI,7555
426
- parsl-2024.2.12.data/scripts/exec_parsl_function.py,sha256=NtWNeBvRqksej38eRPw8zPBJ1CeW6vgaitve0tfz_qc,7801
427
- parsl-2024.2.12.data/scripts/parsl_coprocess.py,sha256=kzX_1RI3V2KMKs6L-il4I1qkLNVodDKFXN_1FHB9fmM,6031
428
- parsl-2024.2.12.data/scripts/process_worker_pool.py,sha256=IXjyqW5vztdlPcs1Wjs7UjJN6ThMTxjUAbWl_V_U1ZY,35844
429
- parsl-2024.2.12.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
430
- parsl-2024.2.12.dist-info/METADATA,sha256=ujrjR_n9zlTZpQh4ii4TO5m94yiSbxIk_JyWtL-hlWE,3960
431
- parsl-2024.2.12.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
432
- parsl-2024.2.12.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
433
- parsl-2024.2.12.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
434
- parsl-2024.2.12.dist-info/RECORD,,
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
- )