[package] name = "rtx-memory" version = "1.0.0" edition.workspace = true rust-version = "1.92" authors.workspace = true license.workspace = true repository.workspace = true description = "Advanced memory pool manager for zero-allocation transformer inference" keywords = ["memory", "pool", "allocator", "transformer", "gpu"] categories = ["memory-management", "no-std", "embedded", "performance"] [dependencies] # Core dependencies anyhow.workspace = true thiserror.workspace = true tracing.workspace = true # Concurrency parking_lot.workspace = true crossbeam.workspace = true rayon.workspace = true # Collections and utilities indexmap.workspace = true dashmap.workspace = true # Math and algorithms num-complex.workspace = true # Async support tokio = { version = "1.0", features = ["full"] } once_cell = "1.19" # RTX integration # rtx-tensor = { path = "../rtx-tensor" } # rtx-runtime = { path = "../rtx-runtime" } # GPU support - using workspace cudarc 0.18.1 cudarc = { workspace = true, optional = true } # Concurrency testing framework loom = { workspace = true, optional = true } # Metal support (macOS only) [target.'cfg(target_os = "macos")'.dependencies] objc2 = { version = "0.6", optional = true, features = ["std"] } objc2-metal = { version = "0.3", optional = true } objc2-foundation = { version = "0.3", optional = true } block2 = { version = "0.6", optional = true } [dev-dependencies] tokio-test.workspace = true proptest.workspace = true criterion.workspace = true tempfile = "3.8" futures = "0.3" [features] default = ["std"] std = [] no_std = [] gpu = [] cuda = ["gpu", "cudarc"] metal = ["gpu", "dep:objc2", "dep:objc2-metal", "dep:objc2-foundation", "dep:block2"] # Advanced allocation strategies buddy-allocator = [] slab-allocator = [] stack-allocator = [] # Performance features zero-copy = [] numa-aware = [] prefetch = [] # Debug features debug-allocations = [] allocation-tracking = [] memory-poisoning = [] # Concurrency testing with loom loom = ["dep:loom"] [[bench]] name = "memory_pool_bench" harness = false path = "benches/memory_pool_bench.rs" [[bench]] name = "allocation_strategies_bench" harness = false path = "benches/allocation_strategies_bench.rs" [[bench]] name = "fragmentation_bench" harness = false path = "benches/fragmentation_bench.rs" [[bench]] name = "simple_gpu_bench" harness = false path = "benches/simple_gpu_bench.rs" [lints] workspace = true