Skip to main content

A python lib to schedule deep learning tasks on available GPUs.

Project description

GPU Task Scheduler

A simple Python lib to schedule and execute deep learning tasks on available GPUs. It supports:

  • Custom selection of GPUs.
  • Maximum concurrency per GPU.
  • Dynamic task dispatch using threading.

📦 Installation

pip install gpu_task_scheduler

🚀 Usage Example

from gpu_task_scheduler import GPUTaskScheduler

tasks = [
    "python train_model.py --epochs 10",
    "bash run_simulation.sh",
    "python evaluate.py --model checkpoint.pth"
]

scheduler = GPUTaskScheduler(
    wait_interval=10,
    allowed_gpu_ids=[0, 1],
    max_tasks_per_gpu=2,
    min_memory=0.8
)
scheduler.run_tasks(tasks)

⚙️ Parameters

GPUTaskScheduler(wait_interval=30, allowed_gpu_ids=None, max_tasks_per_gpu=1, min_memory=0.8)

Parameter Type Default Description
wait_interval int 30 Number of seconds to wait before checking again if no GPU is available.
allowed_gpu_ids list[int] None List of GPU indices (e.g., [0, 1]) that the scheduler is allowed to use. If None, all GPUs are considered.
max_tasks_per_gpu int 1 Maximum number of concurrent tasks allowed on a single GPU. Helps share GPU among multiple tasks.
min_memory int or float 0.8 Minimum free memory (in MiB or as a ratio) required on a GPU to be considered available.

🛠️ Requirements

  • Python 3.6+
  • nvidia-smi available in PATH (NVIDIA drivers installed)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpu_task_scheduler-0.4.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gpu_task_scheduler-0.4.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file gpu_task_scheduler-0.4.0.tar.gz.

File metadata

  • Download URL: gpu_task_scheduler-0.4.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gpu_task_scheduler-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c9545167671e0b035f5c49849500ad5340f65af6540d76fbabd0ecdd994d12c8
MD5 a1d6db6137045b0c27a63f8f57d0a7c2
BLAKE2b-256 367f91bb1ea209223e1db170b99825a0d78d4020186240f7b6d2a32c8625dd2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for gpu_task_scheduler-0.4.0.tar.gz:

Publisher: pypi-publish.yml on sangyx/gpu_task_scheduler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gpu_task_scheduler-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gpu_task_scheduler-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 259ebf87e4456f4f39d18c51e4ef5c98723125b2a8505b8c45122c58f7c98e03
MD5 0d85af9895ff61d4b088cf6691eebb5f
BLAKE2b-256 02f5a21ecb93144edaab29d906c5360bead4563ae2296ad9c5026fbcfe2b08d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gpu_task_scheduler-0.4.0-py3-none-any.whl:

Publisher: pypi-publish.yml on sangyx/gpu_task_scheduler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page