Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: improved documentation #8

Merged
merged 3 commits into from
Mar 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Snakemake executor plugin: HTCondor

A Snakemake executor plugin for submitting jobs with HTCondor.
The documentation can be found in the [Snakemake plugin catalog](https://snakemake.github.io/snakemake-plugin-catalog/plugins/executor/htcondor.html).
24 changes: 20 additions & 4 deletions docs/further.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
It is recommended to use the dedicated snakemake profile for HTCondor, which you can find [here](https://github.com/Snakemake-Profiles/htcondor).
This plugin currently only supports job submission with a shared file system.
As executable the jobs use `bin/bash`.
As default the jobs will be executed with the same set of environment variables that the user had at submit time. If you don't want this behavior set the following in resources `getenv: False`.
- It is recommended to use the dedicated snakemake profile for HTCondor, which you can find [here](https://github.com/Snakemake-Profiles/htcondor).
- This plugin currently only supports job submission with a shared file system.
- The jobs use the python binary of the environment that the user had when starting snakemake as the executable.
- Error messages, the output of stdout and log files are written to `htcondor-jobdir` (see in the usage section above).
- The job directive `threads` is used to set `request_cpu` command for HTCondor.
- As default, the jobs will be executed with the same set of environment variables that the user had at submit time.
If you don't want this behavior, set the following in resources `getenv: False`.
- For the job status, this plugin reports the values of the [job ClassAd Attribute](https://htcondor.readthedocs.io/en/latest/classad-attributes/job-classad-attributes.html) `JobStatus`.
- To determine whether a job was successful, this plugin relies on `htcondor.Schedd.history` (see [API reference](https://htcondor.readthedocs.io/en/latest/apis/python-bindings/api/htcondor.html)) and checks the values of the [job ClassAd Attribute](https://htcondor.readthedocs.io/en/latest/classad-attributes/job-classad-attributes.html) `ExitCode`.


The following [submit description file commands](https://htcondor.readthedocs.io/en/latest/man-pages/condor_submit.html) are supported (add them as user-defined resources):
| Basic | Matchmaking | Matchmaking (GPU) | Policy |
| ----------------- | ---------------- | ------------------------- | -------------------------- |
| `getenv` | `rank` | `request_gpus` | `max_retries` |
| `environment` | `request_disk` | `require_gpus` | `allowed_execute_duration` |
| `input` | `request_memory` | `gpus_minimum_capability` | `allowed_job_duration` |
| `max_materialize` | `requirements` | `gpus_minimum_memory` | `retry_until` |
| `max_idle` | | `gpus_minimum_runtime` | |
| | | `cuda_version` | |
Loading