[package] name = "rtx-metal" version = "1.0.0" edition.workspace = true rust-version = "1.92" authors.workspace = true license.workspace = true repository.workspace = true description = "Metal GPU backend for RustyTorch++ - Apple Silicon acceleration" [dependencies] # Core utilities thiserror = { workspace = true } tracing = { workspace = true } anyhow = { workspace = true } parking_lot = { workspace = true } # Serialization serde = { workspace = true, features = ["derive"] } # Async runtime tokio = { workspace = true, features = ["rt", "sync"] } # Caching and performance dashmap = { workspace = true } chrono = { workspace = true } # Numeric types half = { workspace = true } # Metal bindings (macOS only - these are the actual dependencies) [target.'cfg(target_os = "macos")'.dependencies] objc2 = { version = "0.6", features = ["std"] } objc2-foundation = { version = "0.3", features = [ "NSError", "NSString", "NSData", "NSDictionary", "NSObject", "NSArray", "NSBundle" ]} objc2-metal = { version = "0.3" } objc2-metal-performance-shaders = { version = "0.3", features = [ "MPSMatrix", "MPSCore", "MPSKernel", "MPSNDArray", "MPSNeuralNetwork" ]} block2 = { version = "0.6" } [dev-dependencies] criterion = { workspace = true } tempfile = { workspace = true } tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } [features] default = [] # Enable Metal Performance Shaders integration mps = [] # Enable float16 support for memory-efficient operations f16 = [] [[bench]] name = "metal_parity_bench" harness = false [lints] workspace = true