[package]
name = "ringkernel"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
rust-version.workspace = true
description = "GPU-native persistent actor model framework - Rust port of DotCompute Ring Kernel"
keywords = ["gpu", "actor", "cuda", "wgpu", "distributed"]
categories = ["concurrency", "asynchronous", "hardware-support"]
readme = "../../README.md"
[dependencies]
ringkernel-core = { workspace = true }
ringkernel-derive = { workspace = true }
ringkernel-cpu = { workspace = true }
ringkernel-cuda = { workspace = true, optional = true }
ringkernel-wgpu = { workspace = true, optional = true }
ringkernel-metal = { workspace = true, optional = true }
ringkernel-codegen = { workspace = true }
tokio = { workspace = true }
async-trait = { workspace = true }
futures = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
cfg-if = { workspace = true }
inventory = { workspace = true }
[dev-dependencies]
tokio = { workspace = true, features = ["test-util", "macros", "rt-multi-thread"] }
proptest = { workspace = true }
criterion = { workspace = true }
tracing-subscriber = { workspace = true }
rkyv = { workspace = true }
zerocopy = { workspace = true }
bytemuck = { workspace = true }
ringkernel-cuda = { workspace = true }
ringkernel-cuda-codegen = { workspace = true }
syn = { workspace = true, features = ["full", "parsing"] }
axum = "0.7"
tower = "0.5"
tower-http = { version = "0.6", features = ["cors", "trace"] }
tonic = "0.12"
prost = "0.13"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
futures = "0.3"
async-stream = "0.3"
crossterm = "0.28"
reqwest = { version = "0.12", default-features = false, features = ["json"] }
[features]
default = ["cpu"]
cpu = []
cuda = ["ringkernel-cuda/cuda"]
wgpu = ["ringkernel-wgpu/wgpu"]
metal = ["ringkernel-metal/metal"]
all-backends = ["cpu", "cuda", "wgpu", "metal"]
telemetry = []
k2k-messaging = []
topic-pubsub = []
multi-gpu = ["cuda"]
[[bench]]
name = "message_queue"
harness = false
[[bench]]
name = "serialization"
harness = false
[[bench]]
name = "startup"
harness = false
[[bench]]
name = "latency"
harness = false
[[bench]]
name = "memory_layout"
harness = false
[[bench]]
name = "hlc"
harness = false
[[bench]]
name = "k2k_messaging"
harness = false
[[bench]]
name = "claims_validation"
harness = false
[[example]]
name = "vector_add"
path = "examples/vector_add.rs"
[[example]]
name = "ping_pong"
path = "examples/ping_pong.rs"
[[example]]
name = "basic_hello_kernel"
path = "../../examples/basic/hello_kernel.rs"
[[example]]
name = "kernel_states"
path = "../../examples/basic/kernel_states.rs"
[[example]]
name = "request_response"
path = "../../examples/messaging/request_response.rs"
[[example]]
name = "pub_sub"
path = "../../examples/messaging/pub_sub.rs"
[[example]]
name = "kernel_to_kernel"
path = "../../examples/messaging/kernel_to_kernel.rs"
[[example]]
name = "axum_api"
path = "../../examples/web-api/axum_api.rs"
[[example]]
name = "batch_processor"
path = "../../examples/data-processing/batch_processor.rs"
[[example]]
name = "telemetry"
path = "../../examples/monitoring/telemetry.rs"
[[example]]
name = "grpc_server"
path = "../../examples/ecosystem/grpc_server.rs"
[[example]]
name = "config_management"
path = "../../examples/ecosystem/config_management.rs"
[[example]]
name = "ml_pipeline"
path = "../../examples/ecosystem/ml_pipeline.rs"
[[example]]
name = "multi_gpu"
path = "../../examples/advanced/multi_gpu.rs"
[[example]]
name = "derive_example"
path = "../../examples/macros/derive_example.rs"
[[example]]
name = "wgpu_hello"
path = "../../examples/basic/wgpu_hello.rs"
required-features = ["wgpu"]
[[example]]
name = "global_kernel"
path = "../../examples/cuda-codegen/global_kernel.rs"
[[example]]
name = "stencil_kernel"
path = "../../examples/cuda-codegen/stencil_kernel.rs"
[[example]]
name = "ring_kernel_codegen"
path = "../../examples/cuda-codegen/ring_kernel.rs"