From b4a440baad846e3fe02e33e0fe3997f6f3121410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Mon, 10 Aug 2026 10:05:17 +0200 Subject: [PATCH] Give each notebook a short, distinct headline and add a README ToC Three notebooks shared the same "executorlib with SLURM" H1, which was confusing in the combined Jupyter Book sidebar. Give each notebook a unique headline under 25 characters, fix a README typo, and add a Table of Contents linking to each page of the deployed site. No Python code was changed. Co-Authored-By: Claude Sonnet 5 --- README.md | 9 ++++++++- slurm_demo_v1.ipynb | 2 +- slurm_error_v1.ipynb | 2 +- slurm_with_flux_v1.ipynb | 2 +- slurm_with_lammps_v1.ipynb | 2 +- slurm_with_nested_executor.ipynb | 2 +- 6 files changed, 13 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2346162..341f204 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,9 @@ # executorlib with SLURM -A number of example for applying [executorlib](https://executorlib.readthedocs.io/) on [CMTI](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html). +A number of examples for applying [executorlib](https://executorlib.readthedocs.io/) on [CMTI](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html). + +## Table of Contents +* [Getting Started](https://pyiron-dev.github.io/executorlib-with-slurm/slurm_demo_v1.html) - submit a serial function, an MPI-parallel function, and nested executors via SLURM +* [Submission Errors](https://pyiron-dev.github.io/executorlib-with-slurm/slurm_error_v1.html) - inspect `sbatch` submission failures raised through a `Future` +* [SLURM with Flux](https://pyiron-dev.github.io/executorlib-with-slurm/slurm_with_flux_v1.html) - run a nested [Flux](https://flux-framework.org) instance inside a SLURM allocation +* [SLURM with LAMMPS](https://pyiron-dev.github.io/executorlib-with-slurm/slurm_with_lammps_v1.html) - couple executorlib with [pylammpsmpi](https://pylammpsmpi.readthedocs.io) for interactive MPI-parallel LAMMPS +* [Nested SLURM Jobs](https://pyiron-dev.github.io/executorlib-with-slurm/slurm_with_nested_executor.html) - fan out many short tasks as job steps inside one SLURM allocation diff --git a/slurm_demo_v1.ipynb b/slurm_demo_v1.ipynb index 450d1a2..34be7a3 100644 --- a/slurm_demo_v1.ipynb +++ b/slurm_demo_v1.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "id": "c1177617-771e-46bb-ae67-f5bf6d7b914f", "metadata": {}, - "source": "# executorlib with SLURM \n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster, without having to rewrite the functions themselves. This notebook walks through submitting a serial function, an MPI-parallel function, and nested executors via SLURM.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials." + "source": "# Getting Started\n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster, without having to rewrite the functions themselves. This notebook walks through submitting a serial function, an MPI-parallel function, and nested executors via SLURM.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials." }, { "cell_type": "code", diff --git a/slurm_error_v1.ipynb b/slurm_error_v1.ipynb index 2739b6d..bcc6bcd 100644 --- a/slurm_error_v1.ipynb +++ b/slurm_error_v1.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "id": "c1177617-771e-46bb-ae67-f5bf6d7b914f", "metadata": {}, - "source": "# executorlib with SLURM \n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster. This notebook deliberately submits a job with an incomplete `resource_dict` to show how `SlurmClusterExecutor` surfaces `sbatch` submission failures through the returned `Future`. See the [resource dictionary troubleshooting page](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#resource-dictionary) for the required keys.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials." + "source": "# Submission Errors\n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster. This notebook deliberately submits a job with an incomplete `resource_dict` to show how `SlurmClusterExecutor` surfaces `sbatch` submission failures through the returned `Future`. See the [resource dictionary troubleshooting page](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#resource-dictionary) for the required keys.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials." }, { "cell_type": "code", diff --git a/slurm_with_flux_v1.ipynb b/slurm_with_flux_v1.ipynb index 2d1605e..6b0d3f5 100644 --- a/slurm_with_flux_v1.ipynb +++ b/slurm_with_flux_v1.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "id": "c1177617-771e-46bb-ae67-f5bf6d7b914f", "metadata": {}, - "source": "# executorlib with SLURM \n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster. This notebook shows how to run a [Flux](https://flux-framework.org) instance nested inside a SLURM allocation, see the [Flux section of the HPC Cluster Executor documentation](https://executorlib.readthedocs.io/en/latest/2-hpc-cluster.html#flux) for background.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials." + "source": "# SLURM with Flux\n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster. This notebook shows how to run a [Flux](https://flux-framework.org) instance nested inside a SLURM allocation, see the [Flux section of the HPC Cluster Executor documentation](https://executorlib.readthedocs.io/en/latest/2-hpc-cluster.html#flux) for background.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials." }, { "cell_type": "markdown", diff --git a/slurm_with_lammps_v1.ipynb b/slurm_with_lammps_v1.ipynb index 6d1dc8e..d6b0f5e 100644 --- a/slurm_with_lammps_v1.ipynb +++ b/slurm_with_lammps_v1.ipynb @@ -3,7 +3,7 @@ { "cell_type": "markdown", "id": "595b7bbc", - "source": "# executorlib with SLURM and LAMMPS\n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster. This notebook couples executorlib with [pylammpsmpi](https://pylammpsmpi.readthedocs.io) to run an interactive, MPI-parallel [LAMMPS](https://www.lammps.org) molecular dynamics simulation inside a single persistent SLURM allocation. See the [pylammpsmpi integration guide](https://executorlib.readthedocs.io/en/latest/coupling.html#pylammpsmpi) for background.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials.", + "source": "# SLURM with LAMMPS\n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster. This notebook couples executorlib with [pylammpsmpi](https://pylammpsmpi.readthedocs.io) to run an interactive, MPI-parallel [LAMMPS](https://www.lammps.org) molecular dynamics simulation inside a single persistent SLURM allocation. See the [pylammpsmpi integration guide](https://executorlib.readthedocs.io/en/latest/coupling.html#pylammpsmpi) for background.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials.", "metadata": {} }, { diff --git a/slurm_with_nested_executor.ipynb b/slurm_with_nested_executor.ipynb index 13380a2..0a56e47 100644 --- a/slurm_with_nested_executor.ipynb +++ b/slurm_with_nested_executor.ipynb @@ -3,7 +3,7 @@ { "cell_type": "markdown", "id": "2148ffa0", - "source": "# executorlib with SLURM: Nested Executors\n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster. This notebook submits a single outer SLURM job via `SlurmClusterExecutor`, which itself opens a second, nested `SlurmJobExecutor` to fan out many short-lived tasks as job steps within that same allocation. See the [HPC Job Executor documentation](https://executorlib.readthedocs.io/en/latest/3-hpc-job.html) for details on nesting executors.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials.", + "source": "# Nested SLURM Jobs\n[executorlib](https://executorlib.readthedocs.io) extends the `Executor` interface from the Python standard library's [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html) to distribute Python functions as jobs on an HPC cluster. This notebook submits a single outer SLURM job via `SlurmClusterExecutor`, which itself opens a second, nested `SlurmJobExecutor` to fan out many short-lived tasks as job steps within that same allocation. See the [HPC Job Executor documentation](https://executorlib.readthedocs.io/en/latest/3-hpc-job.html) for details on nesting executors.\n\nBased on the [cmti and cmmg clusters](https://docs.mpcdf.mpg.de/doc/computing/clusters/systems/Sustainable_Materials.html) hosted at the MPCDF for the MPI for Sustainable Materials.", "metadata": {} }, {