Skip to content

Commit

Permalink
Bump versions and changelog for release 2.25.0
Browse files Browse the repository at this point in the history
  • Loading branch information
khk-globus authored and LeiGlobus committed Aug 7, 2024
1 parent fd87bbd commit ddf09e8
Show file tree
Hide file tree
Showing 9 changed files with 86 additions and 79 deletions.

This file was deleted.

15 changes: 0 additions & 15 deletions changelog.d/20240711_182944_yadudoc1729_shell_functions.rst

This file was deleted.

18 changes: 0 additions & 18 deletions changelog.d/20240711_190719_yadudoc1729_mpi_engine_2.rst

This file was deleted.

26 changes: 0 additions & 26 deletions changelog.d/20240725_104852_yadudoc1729_mpi_functions_2.rst

This file was deleted.

This file was deleted.

2 changes: 1 addition & 1 deletion compute_endpoint/globus_compute_endpoint/version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# single source of truth for package version,
# see https://packaging.python.org/en/latest/single_source_version/
__version__ = "2.24.0"
__version__ = "2.25.0"

# TODO: remove after a `globus-compute-sdk` release
# this is needed because it's imported by `globus-compute-sdk` to do the version check
Expand Down
2 changes: 1 addition & 1 deletion compute_endpoint/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
REQUIRES = [
"requests>=2.31.0,<3",
"globus-sdk", # version will be bounded by `globus-compute-sdk`
"globus-compute-sdk==2.24.0",
"globus-compute-sdk==2.25.0",
"globus-compute-common==0.4.1",
"globus-identity-mapping==0.3.0",
# table printing used in list-endpoints
Expand Down
2 changes: 1 addition & 1 deletion compute_sdk/globus_compute_sdk/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# single source of truth for package version,
# see https://packaging.python.org/en/latest/single_source_version/
__version__ = "2.24.0"
__version__ = "2.25.0"


def compare_versions(
Expand Down
86 changes: 83 additions & 3 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,90 @@ Changelog

.. scriv-insert-here
.. _changelog-2.24.0a0:
.. _changelog-2.25.0:

globus-compute-sdk & globus-compute-endpoint v2.25.0
----------------------------------------------------

New Functionality
^^^^^^^^^^^^^^^^^

- Added a new ``ShellFunction`` class to support remote execution of commandline strings.

.. code:: python
bf = ShellFunction("echo '{message}'")
future = executor.submit(bf, message="Hello World!")
shell_result = future.result() # ShellFunction returns a ShellResult
print(shell_result.returncode) # Exitcode
print(shell_result.cmd) # Reports the commandline string executed
print(shell_result.stdout) # Snippet of stdout captured
print(shell_result.stderr) # Snippet of stderr captured
- Adding ``GlobusMPIEngine`` with better support for MPI applications.
``GlobusMPIEngine`` uses Parsl's `MPIExecutor
<https://parsl.readthedocs.io/en/stable/stubs/parsl.executors.MPIExecutor.html>`_
under the hood to dynamically partition a single batch job to schedule MPI
tasks.

Here's an example endpoint configuration that uses ``GlobusMPIEngine``

.. code-block:: yaml
display_name: MPIEngine@Expanse.SDSC
engine:
type: GlobusMPIEngine
mpi_launcher: srun
provider:
...
- Added a new ``MPIFunction`` class to support MPI applications.
``MPIFunction`` extends ``ShellFunction`` to use an MPI launcher to use a
subset of nodes within a batch job to run MPI applications. To partition a
batch job, ``MPIFunction`` must be sent to an endpoint configured with
``GlobusMPIEngine``. Here is a usage example:

.. code-block:: python
from globus_compute_sdk import MPIFunction, Executor
mpi_func = MPIFunction("hostname")
with Executor(endpoint_id=<ENDPOINT_ID>) as ex:
ex.resource_specification = {
"num_nodes": 2,
"ranks_per_node": 2
}
future = ex.submit(mpi_func)
print(future.result().stdout)
# Example output:
node001
node001
node002
node002
Bug Fixes
^^^^^^^^^

- Pulling tasks from RabbitMQ is now performed via a thread within the main
endpoint process, rather than a separate process. This reduces the endpoint's
overall memory footprint and fixes sporadic issues in which the formerly
forked process would inherit thread locks.

Deprecated
^^^^^^^^^^

- ``globus-compute-sdk`` and ``globus-compute-endpoint`` drop support for
Python3.7. Python3.7 reached `end-of-life on 2023-06-27
<https://devguide.python.org/versions/>`_. We discontinue support for
Python3.7 since Parsl, an upstream core dependency, has also dropped support
for it (in ``parsl==2024.7.1``).

.. _changelog-2.24.0:

globus-compute-sdk & globus-compute-endpoint v2.24.0
------------------------------------------------------
----------------------------------------------------

New Functionality
^^^^^^^^^^^^^^^^^
Expand All @@ -31,7 +111,7 @@ Changed
.. _changelog-2.23.0:

globus-compute-sdk & globus-compute-endpoint v2.23.0
------------------------------------------------------
----------------------------------------------------

New Functionality
^^^^^^^^^^^^^^^^^
Expand Down

0 comments on commit ddf09e8

Please sign in to comment.