parsl 2024.10.21__py3-none-any.whl → 2024.11.4__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 (59) hide show
  1. parsl/channels/base.py +0 -11
  2. parsl/channels/errors.py +0 -17
  3. parsl/channels/local/local.py +3 -16
  4. parsl/channels/ssh/ssh.py +0 -11
  5. parsl/dataflow/dflow.py +6 -6
  6. parsl/executors/high_throughput/executor.py +0 -1
  7. parsl/executors/high_throughput/interchange.py +8 -5
  8. parsl/executors/high_throughput/mpi_resource_management.py +0 -12
  9. parsl/executors/high_throughput/process_worker_pool.py +0 -8
  10. parsl/monitoring/db_manager.py +1 -1
  11. parsl/monitoring/monitoring.py +9 -11
  12. parsl/monitoring/radios.py +5 -16
  13. parsl/monitoring/remote.py +3 -5
  14. parsl/monitoring/router.py +4 -7
  15. parsl/monitoring/types.py +3 -6
  16. parsl/providers/__init__.py +0 -2
  17. parsl/providers/base.py +1 -17
  18. parsl/tests/conftest.py +4 -0
  19. parsl/tests/site_tests/site_config_selector.py +1 -6
  20. parsl/tests/test_bash_apps/test_basic.py +3 -0
  21. parsl/tests/test_bash_apps/test_error_codes.py +4 -0
  22. parsl/tests/test_bash_apps/test_kwarg_storage.py +1 -0
  23. parsl/tests/test_bash_apps/test_memoize.py +2 -6
  24. parsl/tests/test_bash_apps/test_memoize_ignore_args.py +3 -0
  25. parsl/tests/test_bash_apps/test_memoize_ignore_args_regr.py +1 -0
  26. parsl/tests/test_bash_apps/test_multiline.py +1 -0
  27. parsl/tests/test_bash_apps/test_stdout.py +2 -0
  28. parsl/tests/{integration/test_channels → test_channels}/test_local_channel.py +4 -8
  29. parsl/tests/test_docs/test_from_slides.py +3 -0
  30. parsl/tests/test_docs/test_kwargs.py +3 -0
  31. parsl/tests/test_monitoring/test_basic.py +13 -1
  32. parsl/tests/test_python_apps/test_outputs.py +1 -0
  33. parsl/tests/test_regression/test_226.py +1 -0
  34. parsl/tests/test_scaling/test_worker_interchange_bad_messages_3262.py +92 -0
  35. parsl/tests/test_serialization/test_3495_deserialize_managerlost.py +1 -1
  36. parsl/tests/test_staging/test_docs_1.py +1 -0
  37. parsl/tests/test_staging/test_output_chain_filenames.py +3 -0
  38. parsl/tests/test_staging/test_staging_ftp.py +1 -0
  39. parsl/tests/test_staging/test_staging_https.py +3 -0
  40. parsl/tests/test_staging/test_staging_stdout.py +2 -0
  41. parsl/version.py +1 -1
  42. {parsl-2024.10.21.data → parsl-2024.11.4.data}/scripts/interchange.py +8 -5
  43. {parsl-2024.10.21.data → parsl-2024.11.4.data}/scripts/process_worker_pool.py +0 -8
  44. {parsl-2024.10.21.dist-info → parsl-2024.11.4.dist-info}/METADATA +2 -2
  45. {parsl-2024.10.21.dist-info → parsl-2024.11.4.dist-info}/RECORD +51 -58
  46. parsl/providers/cobalt/__init__.py +0 -0
  47. parsl/providers/cobalt/cobalt.py +0 -236
  48. parsl/providers/cobalt/template.py +0 -17
  49. parsl/tests/configs/cooley_htex.py +0 -37
  50. parsl/tests/configs/theta.py +0 -37
  51. parsl/tests/integration/test_channels/test_channels.py +0 -17
  52. parsl/tests/manual_tests/test_fan_in_out_htex_remote.py +0 -88
  53. parsl/tests/test_providers/test_cobalt_deprecation_warning.py +0 -18
  54. {parsl-2024.10.21.data → parsl-2024.11.4.data}/scripts/exec_parsl_function.py +0 -0
  55. {parsl-2024.10.21.data → parsl-2024.11.4.data}/scripts/parsl_coprocess.py +0 -0
  56. {parsl-2024.10.21.dist-info → parsl-2024.11.4.dist-info}/LICENSE +0 -0
  57. {parsl-2024.10.21.dist-info → parsl-2024.11.4.dist-info}/WHEEL +0 -0
  58. {parsl-2024.10.21.dist-info → parsl-2024.11.4.dist-info}/entry_points.txt +0 -0
  59. {parsl-2024.10.21.dist-info → parsl-2024.11.4.dist-info}/top_level.txt +0 -0
@@ -1,88 +0,0 @@
1
- import logging
2
-
3
- import parsl
4
- from parsl.app.app import python_app
5
- from parsl.config import Config
6
- from parsl.executors import HighThroughputExecutor
7
- from parsl.launchers import AprunLauncher
8
- from parsl.monitoring.monitoring import MonitoringHub
9
- from parsl.providers import CobaltProvider
10
-
11
-
12
- def local_setup():
13
- threads_config = Config(
14
- executors=[
15
- HighThroughputExecutor(
16
- label="theta_htex",
17
- # worker_debug=True,
18
- cores_per_worker=4,
19
- encrypted=True,
20
- provider=CobaltProvider(
21
- queue='debug-flat-quad',
22
- account='CSC249ADCD01',
23
- launcher=AprunLauncher(overrides="-d 64"),
24
- worker_init='source activate parsl-issues',
25
- init_blocks=1,
26
- max_blocks=1,
27
- min_blocks=1,
28
- nodes_per_block=4,
29
- cmd_timeout=60,
30
- walltime='00:10:00',
31
- ),
32
- )
33
- ],
34
- monitoring=MonitoringHub(
35
- hub_port=55055,
36
- logging_level=logging.DEBUG,
37
- resource_monitoring_interval=10),
38
- strategy='none')
39
- parsl.load(threads_config)
40
-
41
-
42
- def local_teardown():
43
- parsl.clear()
44
-
45
-
46
- @python_app
47
- def inc(x):
48
- import time
49
- start = time.time()
50
- sleep_duration = 30.0
51
- while True:
52
- x += 1
53
- end = time.time()
54
- if end - start >= sleep_duration:
55
- break
56
- return x
57
-
58
-
59
- @python_app
60
- def add_inc(inputs=[]):
61
- import time
62
- start = time.time()
63
- sleep_duration = 30.0
64
- res = sum(inputs)
65
- while True:
66
- res += 1
67
- end = time.time()
68
- if end - start >= sleep_duration:
69
- break
70
- return res
71
-
72
-
73
- if __name__ == "__main__":
74
-
75
- total = 200
76
- half = int(total / 2)
77
- one_third = int(total / 3)
78
- two_third = int(total / 3 * 2)
79
- futures_1 = [inc(i) for i in range(total)]
80
- futures_2 = [add_inc(inputs=futures_1[0:half]),
81
- add_inc(inputs=futures_1[half:total])]
82
- futures_3 = [inc(futures_2[0]) for _ in range(half)] + [inc(futures_2[1]) for _ in range(half)]
83
- futures_4 = [add_inc(inputs=futures_3[0:one_third]),
84
- add_inc(inputs=futures_3[one_third:two_third]),
85
- add_inc(inputs=futures_3[two_third:total])]
86
-
87
- print([f.result() for f in futures_4])
88
- print("Done")
@@ -1,18 +0,0 @@
1
- import warnings
2
-
3
- import pytest
4
-
5
- from parsl.providers import CobaltProvider
6
-
7
-
8
- @pytest.mark.local
9
- def test_deprecation_warning():
10
-
11
- with warnings.catch_warnings(record=True) as w:
12
- warnings.simplefilter("always")
13
-
14
- CobaltProvider()
15
-
16
- assert len(w) == 1
17
- assert issubclass(w[-1].category, DeprecationWarning)
18
- assert "CobaltProvider" in str(w[-1].message)