Skip to content

Commit eb8cb29

Browse files
Update readme (#506)
* Update readme * More updates * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 6adbf5f commit eb8cb29

File tree

8 files changed

+85
-215
lines changed

8 files changed

+85
-215
lines changed

README.md

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@ with the [ProcessPoolExecutor](https://docs.python.org/3/library/concurrent.futu
2323
[ThreadPoolExecutor](https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor) for parallel
2424
execution of Python functions on a single computer. executorlib extends this functionality to distribute Python
2525
functions over multiple computers within a high performance computing (HPC) cluster. This can be either achieved by
26-
submitting each function as individual job to the HPC job scheduler - [HPC Submission Mode]() - or by requesting a
27-
compute allocation of multiple nodes and then distribute the Python functions within this allocation - [HPC Allocation Mode]().
28-
Finally, to accelerate the development process executorlib also provides a - [Local Mode]() - to use the executorlib
29-
functionality on a single workstation for testing. Starting with the [Local Mode]() set by setting the backend parameter
30-
to local - `backend="local"`:
26+
submitting each function as individual job to the HPC job scheduler - [HPC Submission Mode](https://executorlib.readthedocs.io/en/latest/2-hpc-submission.html) -
27+
or by requesting a compute allocation of multiple nodes and then distribute the Python functions within this - allocation -
28+
[HPC Allocation Mode](https://executorlib.readthedocs.io/en/latest/3-hpc-allocation.html). Finally, to accelerate the
29+
development process executorlib also provides a - [Local Mode](https://executorlib.readthedocs.io/en/latest/1-local.html) -
30+
to use the executorlib functionality on a single workstation for testing. Starting with the [Local Mode](https://executorlib.readthedocs.io/en/latest/1-local.html)
31+
set by setting the backend parameter to local - `backend="local"`:
3132
```python
3233
from executorlib import Executor
3334

@@ -60,8 +61,7 @@ Python function. In addition to the compute cores `cores`, the resource dictiona
6061
as `threads_per_core`, the GPUs per core as `gpus_per_core`, the working directory with `cwd`, the option to use the
6162
OpenMPI oversubscribe feature with `openmpi_oversubscribe` and finally for the [Simple Linux Utility for Resource
6263
Management (SLURM)](https://slurm.schedmd.com) queuing system the option to provide additional command line arguments
63-
with the `slurm_cmd_args` parameter - [resource dictionary]().
64-
64+
with the `slurm_cmd_args` parameter - [resource dictionary](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#resource-dictionary
6565
This flexibility to assign computing resources on a per-function-call basis simplifies the up-scaling of Python programs.
6666
Only the part of the Python functions which benefit from parallel execution are implemented as MPI parallel Python
6767
funtions, while the rest of the program remains serial.
@@ -87,7 +87,7 @@ with Executor(backend="slurm_submission") as exe:
8787
```
8888
In this case the [Python simple queuing system adapter (pysqa)](https://pysqa.readthedocs.io) is used to submit the
8989
`calc()` function to the [SLURM](https://slurm.schedmd.com) job scheduler and request an allocation with two CPU cores
90-
for the execution of the function - [HPC Submission Mode](). In the background the [sbatch](https://slurm.schedmd.com/sbatch.html)
90+
for the execution of the function - [HPC Submission Mode](https://executorlib.readthedocs.io/en/latest/2-hpc-submission.html). In the background the [sbatch](https://slurm.schedmd.com/sbatch.html)
9191
command is used to request the allocation to execute the Python function.
9292

9393
Within a given [SLURM](https://slurm.schedmd.com) allocation executorlib can also be used to assign a subset of the
@@ -116,23 +116,39 @@ In addition, to support for [SLURM](https://slurm.schedmd.com) executorlib also
116116
to address the needs for the up-coming generation of Exascale computers. Still even on traditional HPC clusters the
117117
hierarchical approach of the [flux](http://flux-framework.org) is beneficial to distribute hundreds of tasks within a
118118
given allocation. Even when [SLURM](https://slurm.schedmd.com) is used as primary job scheduler of your HPC, it is
119-
recommended to use [SLURM with flux]() as hierarchical job scheduler within the allocations.
119+
recommended to use [SLURM with flux](https://executorlib.readthedocs.io/en/latest/3-hpc-allocation.html#slurm-with-flux)
120+
as hierarchical job scheduler within the allocations.
120121

121122
## Documentation
122123
* [Installation](https://executorlib.readthedocs.io/en/latest/installation.html)
123-
* [Compatible Job Schedulers](https://executorlib.readthedocs.io/en/latest/installation.html#compatible-job-schedulers)
124-
* [executorlib with Flux Framework](https://executorlib.readthedocs.io/en/latest/installation.html#executorlib-with-flux-framework)
125-
* [Test Flux Framework](https://executorlib.readthedocs.io/en/latest/installation.html#test-flux-framework)
126-
* [Without Flux Framework](https://executorlib.readthedocs.io/en/latest/installation.html#without-flux-framework)
127-
* [Examples](https://executorlib.readthedocs.io/en/latest/examples.html)
128-
* [Compatibility](https://executorlib.readthedocs.io/en/latest/examples.html#compatibility)
129-
* [Resource Assignment](https://executorlib.readthedocs.io/en/latest/examples.html#resource-assignment)
130-
* [Data Handling](https://executorlib.readthedocs.io/en/latest/examples.html#data-handling)
131-
* [Up-Scaling](https://executorlib.readthedocs.io/en/latest/examples.html#up-scaling)
132-
* [Coupled Functions](https://executorlib.readthedocs.io/en/latest/examples.html#coupled-functions)
133-
* [SLURM Job Scheduler](https://executorlib.readthedocs.io/en/latest/examples.html#slurm-job-scheduler)
134-
* [Workstation Support](https://executorlib.readthedocs.io/en/latest/examples.html#workstation-support)
135-
* [Development](https://executorlib.readthedocs.io/en/latest/development.html)
136-
* [Contributions](https://executorlib.readthedocs.io/en/latest/development.html#contributions)
137-
* [License](https://executorlib.readthedocs.io/en/latest/development.html#license)
138-
* [Integration](https://executorlib.readthedocs.io/en/latest/development.html#integration)
124+
* [Minimal](https://executorlib.readthedocs.io/en/latest/installation.html#minimal)
125+
* [MPI Support](https://executorlib.readthedocs.io/en/latest/installation.html#mpi-support)
126+
* [Caching](https://executorlib.readthedocs.io/en/latest/installation.html#caching)
127+
* [HPC Submission Mode](https://executorlib.readthedocs.io/en/latest/installation.html#hpc-submission-mode)
128+
* [HPC Allocation Mode](https://executorlib.readthedocs.io/en/latest/installation.html#hpc-allocation-mode)
129+
* [Visualisation](https://executorlib.readthedocs.io/en/latest/installation.html#visualisation)
130+
* [For Developers](https://executorlib.readthedocs.io/en/latest/installation.html#for-developers)
131+
* [Local Mode](https://executorlib.readthedocs.io/en/latest/1-local.html)
132+
* [Basic Functionality](https://executorlib.readthedocs.io/en/latest/1-local.html#basic-functionality)
133+
* [Parallel Functions](https://executorlib.readthedocs.io/en/latest/1-local.html#parallel-functions)
134+
* [Performance Optimization](https://executorlib.readthedocs.io/en/latest/1-local.html#performance-optimization)
135+
* [HPC Submission Mode](https://executorlib.readthedocs.io/en/latest/2-hpc-submission.html)
136+
* [SLURM](https://executorlib.readthedocs.io/en/latest/2-hpc-submission.html#slurm)
137+
* [Flux](https://executorlib.readthedocs.io/en/latest/2-hpc-submission.html#flux)
138+
* [HPC Allocation Mode](https://executorlib.readthedocs.io/en/latest/3-hpc-allocation.html)
139+
* [SLURM](https://executorlib.readthedocs.io/en/latest/3-hpc-allocation.html#slurm)
140+
* [SLURM with Flux](https://executorlib.readthedocs.io/en/latest/3-hpc-allocation.html#slurm-with-flux)
141+
* [Flux](https://executorlib.readthedocs.io/en/latest/3-hpc-allocation.html#flux)
142+
* [Trouble Shooting](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html)
143+
* [Filesystem Usage](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#filesystem-usage)
144+
* [Firewall Issues](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#firewall-issues)
145+
* [Message Passing Interface](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#message-passing-interface)
146+
* [Python Version](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#python-version)
147+
* [Resource Dictionary](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#resource-dictionary)
148+
* [SSH Connection](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#ssh-connection)
149+
* [Developer](https://executorlib.readthedocs.io/en/latest/4-developer.html)
150+
* [Communication](https://executorlib.readthedocs.io/en/latest/4-developer.html#communication)
151+
* [External Executables](https://executorlib.readthedocs.io/en/latest/4-developer.html#external-executables)
152+
* [License](https://executorlib.readthedocs.io/en/latest/4-developer.html#license)
153+
* [Modules](https://executorlib.readthedocs.io/en/latest/4-developer.html#modules)
154+
* [Interface](https://executorlib.readthedocs.io/en/latest/api.html)

docs/development.md

Lines changed: 0 additions & 147 deletions
This file was deleted.

0 commit comments

Comments
 (0)