[[bench]]
name = "matmul_bench"
path = "benches/matmul_bench.rs"
[[bench]]
harness = false
name = "ops_bench"
path = "benches/ops_bench.rs"
[[bench]]
harness = false
name = "promotion_bench"
path = "benches/promotion_bench.rs"
[[bin]]
name = "elementwise_micro"
path = "src/bin/elementwise_micro.rs"
[[bin]]
name = "matmul_bench"
path = "src/bin/matmul_bench.rs"
[[bin]]
name = "numrs-bench"
path = "src/bin/numrs_bench/main.rs"
required-features = []
[[bin]]
name = "numrs-ops"
path = "src/bin/numrs_ops.rs"
required-features = []
[[bin]]
name = "sgemm_cpu_micro"
path = "src/bin/sgemm_cpu_micro.rs"
[[bin]]
name = "sgemm_generic_micro"
path = "src/bin/sgemm_generic_micro.rs"
[[bin]]
name = "sgemm_micro"
path = "src/bin/sgemm_micro.rs"
[[bin]]
name = "sgemm_webgpu_micro"
path = "src/bin/sgemm_webgpu_micro.rs"
[[bin]]
name = "sum_micro"
path = "src/bin/sum_micro.rs"
[build-dependencies.vcpkg]
version = "0.2"
[dependencies.anyhow]
version = "1.0"
[dependencies.blas]
optional = true
version = "0.20"
[dependencies.bytemuck]
features = ["derive"]
version = "1.17"
[dependencies.chrono]
version = "0.4"
[dependencies.futures]
version = "0.3"
[dependencies.num_cpus]
version = "1.15"
[dependencies.once_cell]
version = "1.21"
[dependencies.pollster]
optional = true
version = "0.3"
[dependencies.rayon]
optional = true
version = "1.7"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.sysinfo]
version = "0.30"
[dependencies.thiserror]
version = "1.0"
[dependencies.wgpu]
optional = true
version = "23"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.rand]
version = "0.8"
[[example]]
name = "analyze_overhead"
path = "examples/analyze_overhead.rs"
[[example]]
name = "autograd_demo"
path = "examples/autograd_demo.rs"
[[example]]
name = "axis_reduction_demo"
path = "examples/axis_reduction_demo.rs"
[[example]]
name = "compare_optimizers"
path = "examples/compare_optimizers.rs"
[[example]]
name = "debug_convergence"
path = "examples/debug_convergence.rs"
[[example]]
name = "dispatch_demo"
path = "examples/dispatch_demo.rs"
required-features = []
[[example]]
name = "dtype_demo"
path = "examples/dtype_demo.rs"
[[example]]
name = "end_to_end_demo"
path = "examples/end_to_end_demo.rs"
[[example]]
name = "end_to_end_onnx_complex"
path = "examples/end_to_end_onnx_complex.rs"
[[example]]
name = "end_to_end_onnx_complex_import"
path = "examples/end_to_end_onnx_complex_import.rs"
[[example]]
name = "end_to_end_onnx_create"
path = "examples/end_to_end_onnx_create.rs"
[[example]]
name = "end_to_end_onnx_use"
path = "examples/end_to_end_onnx_use.rs"
[[example]]
name = "fraud_detection"
path = "examples/fraud_detection.rs"
[[example]]
name = "matmul_perf_analysis"
path = "examples/matmul_perf_analysis.rs"
[[example]]
name = "ml_benchmark"
path = "examples/ml_benchmark.rs"
[[example]]
name = "ml_demo"
path = "examples/ml_demo.rs"
[[example]]
name = "onnx_model_demo"
path = "examples/onnx_model_demo.rs"
[[example]]
name = "onnx_numrs_integration"
path = "examples/onnx_numrs_integration.rs"
[[example]]
name = "ops_validation"
path = "examples/ops_validation.rs"
[[example]]
name = "optimizers_demo"
path = "examples/optimizers_demo.rs"
[[example]]
name = "profile_training"
path = "examples/profile_training.rs"
[[example]]
name = "temperature_model"
path = "examples/temperature_model.rs"
[[example]]
name = "timeseries_cnn"
path = "examples/timeseries_cnn.rs"
[[example]]
name = "timeseries_cnn_inference"
path = "examples/timeseries_cnn_inference.rs"
[[example]]
name = "timeseries_forecast_onnx"
path = "examples/timeseries_forecast_onnx.rs"
[[example]]
name = "training_api_demo"
path = "examples/training_api_demo.rs"
[[example]]
name = "training_onnx_demo"
path = "examples/training_onnx_demo.rs"
[[example]]
name = "type_promotion_demo"
path = "examples/type_promotion_demo.rs"
[[example]]
name = "validate_complex_model"
path = "examples/validate_complex_model.rs"
[[example]]
name = "validate_models"
path = "examples/validate_models.rs"
[[example]]
name = "validate_training_v2"
path = "examples/validate_training_v2.rs"
[[example]]
name = "verify_mkl_cfg"
path = "examples/verify_mkl_cfg.rs"
[[example]]
name = "verify_static_blas"
path = "examples/verify_static_blas.rs"
[features]
blas-backend = ["blas", "cblas", "intel-mkl-src", "blis-src"]
default = ["blas-backend", "webgpu", "webgl", "parallel"]
disabled-blas = []
native-gpu = ["wgpu", "pollster"]
parallel = ["rayon"]
wasm-simd = []
webgl = []
webgpu = []
[lib]
name = "numrs"
path = "src/lib.rs"
[package]
authors = ["Rodrigo Aguiluz Mena"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["mathematics", "science", "algorithms"]
description = "A high-performance numerical computing library with multi-backend dispatch (SIMD, BLAS/MKL, WebGPU) and zero-cost abstractions"
documentation = "https://numrs.dev/doc"
edition = "2021"
exclude = ["ARCHITECTURE_DIAGRAM.md", "BENCHMARK*.md", "CHECKLIST*.md", "CLEANUP*.md", "GUIA*.md", "MKL_THREADING.md", "NUMPY_COMPARISON.md", "RESUMEN_EJECUTIVO.md", "STATIC_BLAS_LINKING.md", "KERNEL_SELECTION_FLOW.md", "DISPATCH_SYSTEM.md", "PROGRESS.md", "compare_results.csv", "ops_impl.md", "ops_three.md", "OPS_CHECK.md", ".github/", ".venv/", ".pytest_cache/", "js/", "python/", "scripts/", "diagrams/", "test_*.rs", "*.o", "*.pdb"]
homepage = "https://numrs.dev"
keywords = ["numerical", "array", "numpy", "blas", "simd"]
license = "AGPL-3.0-only"
name = "numrs-core"
readme = "README.md"
repository = "https://github.com/rjaguiluz/numrs"
version = "0.1.13"
[target.'cfg(all(not(target_arch = "x86_64"), not(target_arch = "wasm32")))'.dependencies.blis-src]
optional = true
version = "0.2"
[target.'cfg(all(not(target_arch = "x86_64"), not(target_arch = "wasm32")))'.dependencies.cblas]
optional = true
version = "0.5"
[target.'cfg(all(not(target_arch = "x86_64"), not(target_arch = "wasm32")))'.dependencies.pollster]
optional = false
version = "0.3"
[target.'cfg(all(not(target_arch = "x86_64"), not(target_arch = "wasm32")))'.dependencies.wgpu]
optional = false
version = "23"
[target.'cfg(all(target_arch = "x86_64", not(target_arch = "wasm32")))'.dependencies.cblas]
optional = true
version = "0.5"
[target.'cfg(all(target_arch = "x86_64", not(target_arch = "wasm32")))'.dependencies.intel-mkl-src]
default-features = false
features = ["mkl-static-lp64-seq"]
optional = true
version = "0.8"
[target.'cfg(all(target_arch = "x86_64", not(target_arch = "wasm32")))'.dependencies.pollster]
optional = false
version = "0.3"
[target.'cfg(all(target_arch = "x86_64", not(target_arch = "wasm32")))'.dependencies.wgpu]
optional = false
version = "23"
[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1"
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.pollster]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
features = ["Window", "Document", "HtmlCanvasElement", "WebGl2RenderingContext", "GpuCanvasContext", "console"]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.wgpu]
features = ["webgl", "wgsl"]
version = "23"
[target.'cfg(target_os = "macos")'.dependencies.accelerate-src]
version = "0.3"
[target.'cfg(target_os = "macos")'.dependencies.metal]
version = "0.27"
[target.'cfg(target_os = "macos")'.dependencies.objc]
version = "0.2"
[[test]]
name = "array_broadcasting"
path = "tests/array_broadcasting.rs"
[[test]]
name = "array_generic"
path = "tests/array_generic.rs"
[[test]]
name = "array_implicit_conversion"
path = "tests/array_implicit_conversion.rs"
[[test]]
name = "array_manipulation"
path = "tests/array_manipulation.rs"
[[test]]
name = "autograd"
path = "tests/autograd/main.rs"
[[test]]
name = "autograd_activations"
path = "tests/autograd_activations.rs"
[[test]]
name = "autograd_basic"
path = "tests/autograd_basic.rs"
[[test]]
name = "autograd_loss"
path = "tests/autograd_loss.rs"
[[test]]
name = "autograd_matmul"
path = "tests/autograd_matmul.rs"
[[test]]
name = "autograd_reduction"
path = "tests/autograd_reduction.rs"
[[test]]
name = "backend_dispatch_explicit"
path = "tests/backend_dispatch_explicit.rs"
[[test]]
name = "backend_parallel"
path = "tests/backend_parallel.rs"
[[test]]
name = "backend_scalar"
path = "tests/backend_scalar.rs"
[[test]]
name = "backend_simd"
path = "tests/backend_simd.rs"
[[test]]
name = "dispatch_system"
path = "tests/dispatch_system.rs"
[[test]]
name = "dtype_basic"
path = "tests/dtype_basic.rs"
[[test]]
name = "dtype_dispatch_generic"
path = "tests/dtype_dispatch_generic.rs"
[[test]]
name = "heuristics"
path = "tests/heuristics.rs"
[[test]]
name = "ir_codegen_basic"
path = "tests/ir_codegen_basic.rs"
[[test]]
name = "kernel_selection"
path = "tests/kernel_selection.rs"
[[test]]
name = "matmul_blas_backend"
path = "tests/matmul_blas_backend.rs"
[[test]]
name = "microbench_execution"
path = "tests/microbench_execution.rs"
[[test]]
name = "nn_layers"
path = "tests/nn_layers.rs"
[[test]]
name = "ops_elementwise"
path = "tests/ops_elementwise.rs"
[[test]]
name = "ops_math"
path = "tests/ops_math.rs"
[[test]]
name = "ops_new_ops"
path = "tests/ops_new_ops.rs"
[[test]]
name = "ops_reduction_complex"
path = "tests/ops_reduction_complex.rs"
[[test]]
name = "print_backend_selection"
path = "tests/print_backend_selection.rs"
[[test]]
name = "print_selected_methods"
path = "tests/print_selected_methods.rs"
[[test]]
name = "runtime_blas_preference"
path = "tests/runtime_blas_preference.rs"
[[test]]
name = "startup_log"
path = "tests/startup_log.rs"
[[test]]
name = "static_blas_linking"
path = "tests/static_blas_linking.rs"
[[test]]
name = "type_promotion"
path = "tests/type_promotion.rs"