[package]
name = "gemm"
version = "0.17.1"
edition = "2021"
authors = ["sarah <>"]
description = "Playground for matrix multiplication algorithms"
readme = "../README.md"
repository = "https://github.com/sarah-ek/gemm/"
license = "MIT"
keywords = ["linear-algebra"]
[dependencies]
raw-cpuid = { workspace = true }
seq-macro = { workspace = true }
dyn-stack = { workspace = true, default-features = false }
num-traits = { workspace = true, default-features = false }
num-complex = { workspace = true, default-features = false }
paste = { workspace = true }
gemm-common = { version = "0.17.1", path = "../gemm-common", default-features = false }
gemm-f32 = { version = "0.17.1", path = "../gemm-f32", default-features = false }
gemm-f64 = { version = "0.17.1", path = "../gemm-f64", default-features = false }
gemm-c32 = { version = "0.17.1", path = "../gemm-c32", default-features = false }
gemm-c64 = { version = "0.17.1", path = "../gemm-c64", default-features = false }
gemm-f16 = { version = "0.17.1", path = "../gemm-f16", default-features = false, optional = true }
[features]
default = ["std", "rayon", "f16"]
f16 = ["gemm-f16", "gemm-common/f16"]
std = [
"dyn-stack/std",
"gemm-common/std",
"gemm-f32/std",
"gemm-f64/std",
"gemm-c32/std",
"gemm-c64/std",
"gemm-f16?/std",
]
nightly = [
"gemm-common/nightly",
"gemm-f32/nightly",
"gemm-f64/nightly",
"gemm-c32/nightly",
"gemm-c64/nightly",
"gemm-f16?/nightly",
]
experimental-apple-amx = [
"gemm-common/experimental-apple-amx",
"gemm-f32/experimental-apple-amx",
"gemm-f64/experimental-apple-amx",
"gemm-c32/experimental-apple-amx",
"gemm-c64/experimental-apple-amx",
"gemm-f16?/experimental-apple-amx",
]
rayon = [
"std",
"gemm-common/rayon",
"gemm-f32/rayon",
"gemm-f64/rayon",
"gemm-c32/rayon",
"gemm-c64/rayon",
"gemm-f16?/rayon",
]
wasm-simd128-enable = ["gemm-common/wasm-simd128-enable"]
[dev-dependencies]
criterion = { version = "0.5", default-features = false }
nalgebra = "0.32.2"
assert_approx_eq = "1.1.0"
rand = "0.8.5"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
getrandom = { version = "0.2", features = ["js"] }
[[bench]]
name = "bench"
harness = false