strided-kernel 0.4.0

Cache-optimized kernels for strided multidimensional array operations in Rust (ported from Julia Strided.jl/StridedViews.jl).
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"