[package]
edition = "2021"
name = "strided-kernel"
version = "0.4.0"
authors = [
"Satoshi Terasaki",
"Hiroshi Shinaoka",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cache-optimized kernels for strided multidimensional array operations in Rust (ported from Julia Strided.jl/StridedViews.jl)."
readme = "README.md"
keywords = [
"tensor",
"strided",
"kernels",
"numerical",
]
categories = [
"science",
"mathematics",
"algorithms",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/tensor4all/strided-rs"
[features]
default = ["simd"]
parallel = [
"dep:rayon",
"dep:smallvec",
"strided-perm/parallel",
]
simd = ["dep:pulp"]
[lib]
name = "strided_kernel"
path = "src/lib.rs"
bench = false
[[test]]
name = "compare_view"
path = "tests/compare_view.rs"
[[test]]
name = "copy_plan_alloc"
path = "tests/copy_plan_alloc.rs"
[[test]]
name = "correctness_view"
path = "tests/correctness_view.rs"
[[test]]
name = "erased_copy_plan"
path = "tests/erased_copy_plan.rs"
[[test]]
name = "erased_fused_plan"
path = "tests/erased_fused_plan.rs"
[[test]]
name = "erased_gather_plan"
path = "tests/erased_gather_plan.rs"
[[test]]
name = "erased_indexed_write_plan"
path = "tests/erased_indexed_write_plan.rs"
[[test]]
name = "erased_one_shot"
path = "tests/erased_one_shot.rs"
[[test]]
name = "erased_policy_parallel"
path = "tests/erased_policy_parallel.rs"
[[test]]
name = "erased_reduce_plan"
path = "tests/erased_reduce_plan.rs"
[[test]]
name = "erased_static_indexing_plan"
path = "tests/erased_static_indexing_plan.rs"
[[test]]
name = "execution_policy"
path = "tests/execution_policy.rs"
[[test]]
name = "fused_elementwise"
path = "tests/fused_elementwise.rs"
[[test]]
name = "issue_184_uninit_elementwise"
path = "tests/issue_184_uninit_elementwise.rs"
[[test]]
name = "issue_187_source_contract"
path = "tests/issue_187_source_contract.rs"
[[test]]
name = "issue_187_uninit_indexed"
path = "tests/issue_187_uninit_indexed.rs"
[[test]]
name = "issue_187_uninit_reduce"
path = "tests/issue_187_uninit_reduce.rs"
[[test]]
name = "issue_190_bool_overlap"
path = "tests/issue_190_bool_overlap.rs"
[[bench]]
name = "erased_policy_thresholds"
path = "benches/erased_policy_thresholds.rs"
harness = false
required-features = ["parallel"]
[[bench]]
name = "fused_elementwise"
path = "benches/fused_elementwise.rs"
harness = false
[[bench]]
name = "issue_184_uninit_replay"
path = "benches/issue_184_uninit_replay.rs"
harness = false
required-features = ["parallel"]
[[bench]]
name = "issue_187_uninit_indexed"
path = "benches/issue_187_uninit_indexed.rs"
harness = false
required-features = ["parallel"]
[[bench]]
name = "mul_pytorch_compare"
path = "benches/mul_pytorch_compare.rs"
harness = false
[[bench]]
name = "outer_product"
path = "benches/outer_product.rs"
harness = false
[[bench]]
name = "rank25_permute"
path = "benches/rank25_permute.rs"
harness = false
[[bench]]
name = "rust_compare"
path = "benches/rust_compare.rs"
harness = false
[[bench]]
name = "scaling_compare"
path = "benches/scaling_compare.rs"
harness = false
[[bench]]
name = "threaded_compare"
path = "benches/threaded_compare.rs"
harness = false
required-features = ["parallel"]
[dependencies.num-complex]
version = "0.4"
[dependencies.num-traits]
version = "0.2"
[dependencies.pulp]
version = "0.22"
optional = true
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.smallvec]
version = "1"
optional = true
[dependencies.strided-perm]
version = "0.4.0"
[dependencies.strided-view]
version = "0.4.0"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.num-complex]
version = "0.4"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.rand_distr]
version = "0.4"