[package]
edition = "2021"
name = "strided-einsum2"
version = "0.4.0"
authors = [
"Satoshi Terasaki",
"Hiroshi Shinaoka",
]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Binary einsum (pairwise tensor contraction) on strided views."
readme = "README.md"
keywords = [
"tensor",
"einsum",
"contraction",
"linear-algebra",
]
categories = [
"science",
"mathematics",
"algorithms",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/tensor4all/strided-rs"
[features]
blas = [
"dep:cblas-sys",
"dep:num-complex",
]
blas-accelerate = ["blas"]
blas-inject = [
"dep:cblas-inject",
"dep:num-complex",
]
blas-mkl = ["blas"]
blas-openblas = ["blas"]
default = ["faer"]
faer = [
"dep:faer",
"dep:faer-traits",
]
faer-traits = ["dep:faer-traits"]
parallel = [
"dep:rayon",
"strided-kernel/parallel",
"strided-perm/parallel",
]
[lib]
name = "strided_einsum2"
path = "src/lib.rs"
bench = false
[[test]]
name = "blas_inject_fallback"
path = "tests/blas_inject_fallback.rs"
[[test]]
name = "dot_general"
path = "tests/dot_general.rs"
[[test]]
name = "feature_contract"
path = "tests/feature_contract.rs"
[[bench]]
name = "dot_general_pytorch_compare"
path = "benches/dot_general_pytorch_compare.rs"
harness = false
[dependencies.cblas-inject]
version = "0.1.2"
optional = true
[dependencies.cblas-sys]
version = "0.2"
optional = true
[dependencies.faer]
version = "0.24"
features = [
"std",
"rayon",
]
optional = true
default-features = false
[dependencies.faer-traits]
version = "0.24"
optional = true
[dependencies.num-complex]
version = "0.4"
optional = true
[dependencies.num-traits]
version = "0.2"
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.smallvec]
version = "1"
[dependencies.strided-kernel]
version = "0.4.0"
[dependencies.strided-perm]
version = "0.4.0"
[dependencies.strided-traits]
version = "0.4.0"
[dependencies.strided-view]
version = "0.4.0"
[dependencies.thiserror]
version = "1.0"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.num-complex]
version = "0.4"
[dev-dependencies.rand]
version = "0.8"