Skip to content

Commit

Permalink
tmp readme
Browse files Browse the repository at this point in the history
  • Loading branch information
justanhduc committed Mar 15, 2023
1 parent d6ec526 commit 3a26597
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 11 deletions.
38 changes: 29 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,36 @@
# GPU Task Spooler

## Contents

* [About](https://github.com/justanhduc/task-spooler#about)
* [Setup](https://github.com/justanhduc/task-spooler#setup)
* [Changelog](https://github.com/justanhduc/task-spooler#changelog)

## About

**GPU Task Spooler**, or `ts` for short, is a spooling system that helps you manage CPU/GPU tasks easily.
You can think of [SLURM](https://slurm.schedmd.com/elastic_computing.html) but for small individual servers rather
than high-performance clusters.

### Features
`ts` can offer you the following features

* Queue and execute jobs, be it on CPUs or GPUs.
* Automatically allocate free GPUs for your jobs:
just forget `CUDA_VISIBLE_DEVICES`.
* Control number of jobs running in parallel.
* View your job outputs in terminal and/or `txt`.
* Very minimalistic: easy setup and almost no configuration.
* Terminal agnostic: queue in one terminal and view in another.
* Jobs can be set to run in foreground or background.
* Simple CLI, but there is a [GUI addon]().


## Setup

See the installation steps in [INSTALL.md](INSTALL.md).

### Changelog
## Changelog

See [CHANGELOG](CHANGELOG.md).

Expand Down Expand Up @@ -63,20 +83,20 @@ Env vars:
TS_SLOTS amount of jobs which can run at once, read on server start.
TMPDIR directory where to place the output files and the default socket.
Long option actions:
--getenv [var] get the value of the specified variable in server environment.
--setenv [var] set the specified flag to server environment.
--unsetenv [var] remove the specified flag from server environment.
--set_gpu_free_perc [num] set the value of GPU memory threshold above which GPUs are considered available (90 by default).
--getenv [var] get the value of the specified variable in server environment.
--setenv [var] set the specified flag to server environment.
--unsetenv [var] remove the specified flag from server environment.
--set_gpu_free_perc [num] set the value of GPU memory threshold above which GPUs are considered available (90 by default).
--get_gpu_free_perc get the value of GPU memory threshold above which GPUs are considered available.
--get_label || -a [id] show the job label. Of the last added, if not specified.
--full_cmd || -F [id] show full command. Of the last added, if not specified.
--count_running || -R return the number of running jobs
--last_queue_id || -q show the job ID of the last added.
--get_logdir get the path containing log files.
--set_logdir <path> set the path containing log files.
--set_logdir [path] set the path containing log files.
Long option adding jobs:
--gpus || -G [num] number of GPUs required by the job (1 default).
--gpu_indices || -g <id,...> the job will be on these GPU indices without checking whether they are free.
--gpu_indices || -g [id,...] the job will be on these GPU indices without checking whether they are free.
Actions (can be performed only one at a time):
-K kill the task spooler server
-C clear the list of finished jobs
Expand All @@ -94,7 +114,7 @@ Actions (can be performed only one at a time):
-k [id] send SIGTERM to the job process group. The last run, if not specified.
-T send SIGTERM to all running job groups.
-u [id] put that job first. The last added, if not specified.
-U <id-id> swap two jobs in the queue.
-U [id-id] swap two jobs in the queue.
-B in case of full queue on the server, quit (2) instead of waiting.
-h show this help
-V show the program version
Expand All @@ -112,7 +132,7 @@ Options adding jobs:
-N <num> number of slots required by the job (1 default).
```

## Contributors
## People

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
Expand Down
4 changes: 2 additions & 2 deletions man.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ int main() {
}
char manPage[100000];
#ifndef CPU
sprintf(manPage, ".\\\" Copyright Lluís Batlle i Rossell\n"
sprintf(manPage, ".\\\" Copyright @ Duc Nguyen & Lluís Batlle i Rossell\n"
".\\\"\n"
".\\\" This file may be copied under the conditions described\n"
".\\\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998\n"
Expand Down Expand Up @@ -420,7 +420,7 @@ int main() {
"found in the distribution package can show some ideas on special uses of\n"
".B ts.", tm.tm_year + 1900, tm.tm_mon + 1, TS_MAKE_STR(TS_VERSION), TS_MAKE_STR(TS_VERSION));
#else
sprintf(manPage, ".\\\" Copyright Lluís Batlle i Rossell\n"
sprintf(manPage, ".\\\" Copyright @ Duc Nguyen & Lluís Batlle i Rossell\n"
".\\\"\n"
".\\\" This file may be copied under the conditions described\n"
".\\\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998\n"
Expand Down

0 comments on commit 3a26597

Please sign in to comment.