Skip to content

HTS

Heterogeneous Task Scheduler

C++17 DAG scheduling for mixed CPU and GPU workloads

HTS Logo

Why use HTS

  • Compose dependency-aware workloads with a single C++ API.
  • Keep the default contributor path CPU-only while still supporting CUDA-backed execution.
  • Use examples and public headers to evaluate the library without reverse-engineering the repository.

Architecture at a glance

LayerResponsibilities
Builder APITaskGraph, TaskBuilder, task groups, barriers, and futures
SchedulerDependency resolution, policy selection, retries, profiling, and events
ExecutionCPU worker threads, CUDA execution path, stream management, and resource limits
Device servicesMemory pool, CUDA helpers, CPU-only stubs, and runtime utilities

Quick start

bash
git clone https://github.com/LessUp/heterogeneous-task-scheduler.git
cd heterogeneous-task-scheduler
scripts/build.sh --cpu-only
scripts/test.sh

For editor/LSP integration, the repository provides a cpu-only-debug CMake preset and workspace settings in .vscode/.

Where to go next


MIT Licensed | Copyright © 2024-2026 HTS Contributors

Released under the MIT License.