[package]
edition = "2021"
name = "taskflowrs"
version = "0.1.1"
authors = ["ZigRazor"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust implementation of TaskFlow — task-parallel programming with heterogeneous GPU support"
documentation = "https://docs.rs/taskflowrs"
readme = "README.md"
keywords = [
"task",
"graph",
"parallel",
"async",
"scheduler",
]
categories = ["concurrency"]
license = "MIT"
repository = "https://github.com/ZigRazor/taskflow-rs"
[features]
all-gpu = [
"gpu",
"opencl",
"rocm",
]
async = [
"tokio",
"futures",
]
default = []
gpu = [
"cudarc",
"cudarc/cuda-12000",
]
hwloc = ["hwloc2"]
opencl = ["opencl3"]
rocm = []
[lib]
name = "taskflowrs"
path = "src/lib.rs"
[[example]]
name = "advanced_conditions"
path = "examples/advanced_conditions.rs"
[[example]]
name = "advanced_features"
path = "examples/advanced_features.rs"
[[example]]
name = "advanced_tooling_demo"
path = "examples/advanced_tooling_demo.rs"
[[example]]
name = "algo_benchmark"
path = "examples/algo_benchmark.rs"
[[example]]
name = "async_parallel"
path = "examples/async_parallel.rs"
required-features = ["async"]
[[example]]
name = "async_run_variants"
path = "examples/async_run_variants.rs"
required-features = ["async"]
[[example]]
name = "async_tasks"
path = "examples/async_tasks.rs"
required-features = ["async"]
[[example]]
name = "basic"
path = "examples/basic.rs"
[[example]]
name = "benchmark"
path = "examples/benchmark.rs"
[[example]]
name = "benchmark_heavy"
path = "examples/benchmark_heavy.rs"
[[example]]
name = "composition"
path = "examples/composition.rs"
[[example]]
name = "composition_debug"
path = "examples/composition_debug.rs"
[[example]]
name = "debug_test"
path = "examples/debug_test.rs"
[[example]]
name = "dynamic_priority"
path = "examples/dynamic_priority.rs"
[[example]]
name = "enhanced_composition"
path = "examples/enhanced_composition.rs"
[[example]]
name = "gpu_async_streams"
path = "examples/gpu_async_streams.rs"
[[example]]
name = "gpu_pipeline"
path = "examples/gpu_pipeline.rs"
[[example]]
name = "gpu_tasks"
path = "examples/gpu_tasks.rs"
[[example]]
name = "hardware_topology"
path = "examples/hardware_topology.rs"
[[example]]
name = "loop_and_cycle_detection"
path = "examples/loop_and_cycle_detection.rs"
[[example]]
name = "metrics_demo"
path = "examples/metrics_demo.rs"
[[example]]
name = "minimal_test"
path = "examples/minimal_test.rs"
[[example]]
name = "parallel_algorithms"
path = "examples/parallel_algorithms.rs"
[[example]]
name = "parallel_patterns"
path = "examples/parallel_patterns.rs"
[[example]]
name = "parallel_run_n"
path = "examples/parallel_run_n.rs"
[[example]]
name = "parallel_scan"
path = "examples/parallel_scan.rs"
[[example]]
name = "pipeline_advanced"
path = "examples/pipeline_advanced.rs"
[[example]]
name = "pipeline_basic"
path = "examples/pipeline_basic.rs"
[[example]]
name = "pipeline_benchmark"
path = "examples/pipeline_benchmark.rs"
[[example]]
name = "pipeline_minimal"
path = "examples/pipeline_minimal.rs"
[[example]]
name = "preemptive_cancellation"
path = "examples/preemptive_cancellation.rs"
[[example]]
name = "run_variants"
path = "examples/run_variants.rs"
[[example]]
name = "run_variants_practical"
path = "examples/run_variants_practical.rs"
[[example]]
name = "scale_test"
path = "examples/scale_test.rs"
[[example]]
name = "test_tooling_imports"
path = "examples/test_tooling_imports.rs"
[[example]]
name = "tooling_demo"
path = "examples/tooling_demo.rs"
[[example]]
name = "typed_pipeline"
path = "examples/typed_pipeline.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[dependencies.crossbeam]
version = "0.8"
[dependencies.cudarc]
version = "0.11"
features = [
"std",
"driver",
]
optional = true
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.hwloc2]
version = "2.2.0"
optional = true
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
[dependencies.num_cpus]
version = "1.16"
[dependencies.opencl3]
version = "0.9"
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"sync",
"macros",
]
optional = true
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[build-dependencies]