ruCCL 0.21.1

Ruda collective communication algorithms and orchestration.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "ruCCL"
version = "0.21.1"
authors = ["nathanielsimard <nathaniel.simard.42@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ruda collective communication algorithms and orchestration."
readme = "README.md"
keywords = [
    "deep-learning",
    "machine-learning",
    "collective",
]
categories = ["science"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/shuqi2077/RUDA/tree/main/ruCCL"
resolver = "3"

[package.metadata.docs.rs]
features = ["doc"]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
cuda = ["dep:ruda-tensor-device"]
default = []
doc = []
orchestrator = ["ruda-communication/websocket"]
ruda = []
test-cuda = ["cuda"]
test-metal = ["dep:ruda-tensor-wgpu"]
test-vulkan = ["dep:ruda-tensor-wgpu"]
test-wgpu = ["dep:ruda-tensor-wgpu"]
tracing = [
    "dep:tracing",
    "ruda-core/tracing",
    "ruda-tensor-config/tracing",
    "ruda-tensor/tracing",
    "ruda-communication/tracing",
]

[lib]
name = "ruccl"
path = "src/lib.rs"

[[example]]
name = "all_reduce"
path = "examples/all_reduce.rs"
required-features = ["cuda"]

[[example]]
name = "tensor_collectives"
path = "examples/tensor_collectives.rs"

[dependencies.bytes]
version = "1.11.1"
default-features = false

[dependencies.crc32fast]
version = "=1.5.1"

[dependencies.futures]
version = "0.3"

[dependencies.log]
version = "0.4.29"
default-features = false

[dependencies.rmp-serde]
version = "1.3.1"
default-features = false

[dependencies.ruda-communication]
version = "0.21.1"
features = [
    "data-service",
    "websocket",
]
default-features = false

[dependencies.ruda-core]
version = "0.1.3"
features = [
    "std",
    "serde",
    "shared-bytes",
    "tensor-data",
    "id",
    "id-tests-std",
]
default-features = false

[dependencies.ruda-tensor]
version = "0.21.1"
features = ["std"]
default-features = false

[dependencies.ruda-tensor-config]
version = "0.21.1"
features = ["std"]
default-features = false

[dependencies.ruda-tensor-device]
version = "0.21.1"
features = ["cuda-default"]
optional = true
default-features = false

[dependencies.ruda-tensor-wgpu]
version = "0.21.1"
features = ["default"]
optional = true
default-features = false

[dependencies.serde]
version = "1.0.228"
features = [
    "derive",
    "alloc",
    "derive",
    "std",
]
default-features = false

[dependencies.serde_json]
version = "1.0"

[dependencies.tokio]
version = "1.51.1"
features = [
    "rt",
    "macros",
    "rt-multi-thread",
    "sync",
    "signal",
    "time",
    "tracing",
]

[dependencies.tokio-util]
version = "0.7"

[dependencies.tracing]
version = "0.1.44"
optional = true
default-features = false

[dev-dependencies.serial_test]
version = "3.2.0"

[lints.clippy]

[lints.rustdoc]
broken_intra_doc_links = "deny"
invalid_html_tags = "deny"