nuvec-distributed 0.6.1

MLX's TCP ring and JACCL (Thunderbolt 5 RDMA) backends for nuvec's distributed collectives
Documentation
[package]
name = "nuvec-distributed"
description = "MLX's TCP ring and JACCL (Thunderbolt 5 RDMA) backends for nuvec's distributed collectives"
exclude.workspace = true
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
homepage.workspace = true
readme.workspace = true
keywords.workspace = true
categories.workspace = true

[features]
# The experimental JACCL backend (RDMA over Thunderbolt 5); see the crate docs.
jaccl = []

[dependencies]
nuvec-core.workspace = true
# Pre-shared-key authentication of every connection (HMAC-SHA256).
sha2.workspace = true
hmac.workspace = true
# Block-wise float16 conversions in the half-precision sum (already in the graph via nuvec-core).
half.workspace = true

[target.'cfg(unix)'.dependencies]
# TCP keepalive on every connection; with `jaccl`, `dlopen` of the system RDMA library and the
# macOS version.
libc.workspace = true

[dev-dependencies]
# Compiled functions with collectives (tests/ring.rs).
nuvec-compile.workspace = true
# Sharded layers (tests/sharded.rs). Path-only, so the published package has no cycle.
nuvec = { path = "../nuvec" }
nuvec-nn = { path = "../nuvec-nn" }

[package.metadata.docs.rs]
targets = ["aarch64-apple-darwin"]
all-features = true

[lints]
workspace = true

[[bench]]
name = "all_sum"
harness = false