[package]
edition = "2024"
name = "fuel-tensor"
version = "0.20.14"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """Fuel's user-facing Tensor handle and Device abstraction — the central, near-universal consumer surface of the former fuel-core (board #109; CireSnave: "Move Tensor into fuel-tensor. We can worry about a semantic split later.")"""
readme = false
keywords = [
"blas",
"tensor",
"machine-learning",
]
categories = ["science"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ciresnave/fuel"
resolver = "2"
[features]
accelerate = [
"dep:libc",
"dep:accelerate-src",
"fuel-cpu-backend/accelerate",
]
aocl = ["dep:fuel-aocl-cpu-backend"]
cuda = [
"dep:fuel-cuda-backend",
"dep:baracuda-types",
"dep:baracuda-core",
"dep:baracuda-driver",
"fuel-dispatch/cuda",
"fuel-memory/cuda",
"fuel-hardware/cuda",
]
cudnn = [
"cuda",
"dep:baracuda-cudnn",
"fuel-cuda-backend?/cudnn",
]
default = []
metal = [
"dep:fuel-metal-backend",
"dep:objc2-metal",
"dep:objc2-foundation",
"dep:fuel-metal-kernels",
"fuel-dispatch/metal",
"fuel-memory/metal",
]
mkl = [
"dep:libc",
"dep:intel-mkl-src",
"fuel-cpu-backend/mkl",
]
nccl = [
"cuda",
"dep:baracuda-nccl",
"fuel-cuda-backend?/nccl",
]
onemkl = ["dep:fuel-mkl-cpu-backend"]
telemetry = ["fuel-dispatch/telemetry"]
vulkan = [
"dep:fuel-vulkan-backend",
"fuel-dispatch/vulkan",
"fuel-memory/vulkan",
"fuel-hardware/vulkan",
]
[lib]
name = "fuel_tensor"
path = "src/lib.rs"
[[example]]
name = "gap315_probe"
path = "examples/gap315_probe.rs"
[[example]]
name = "gap315_reconciliation_test"
path = "examples/gap315_reconciliation_test.rs"
[[test]]
name = "cuda_async_realize_live"
path = "tests/cuda_async_realize_live.rs"
[[test]]
name = "cuda_composed_bisect"
path = "tests/cuda_composed_bisect.rs"
[[test]]
name = "cuda_multidevice_realize_live"
path = "tests/cuda_multidevice_realize_live.rs"
[[test]]
name = "cuda_vulkan_multidevice_realize_live"
path = "tests/cuda_vulkan_multidevice_realize_live.rs"
[[test]]
name = "cuda_vulkan_overlap_bench_live"
path = "tests/cuda_vulkan_overlap_bench_live.rs"
[[test]]
name = "fixture_capture_roundtrip"
path = "tests/fixture_capture_roundtrip.rs"
[[test]]
name = "flash_attn_oracle"
path = "tests/flash_attn_oracle.rs"
[[test]]
name = "fuse_linear_oracle"
path = "tests/fuse_linear_oracle.rs"
[[test]]
name = "gap029_step0_q4_0_cuda_prefill_probe"
path = "tests/gap029_step0_q4_0_cuda_prefill_probe.rs"
[[test]]
name = "incc_conv_im2col_grouped_oracle"
path = "tests/incc_conv_im2col_grouped_oracle.rs"
[[test]]
name = "incc_conv_im2col_oracle"
path = "tests/incc_conv_im2col_oracle.rs"
[[test]]
name = "incc_conv_transpose_im2col_oracle"
path = "tests/incc_conv_transpose_im2col_oracle.rs"
[[test]]
name = "incc_qmatmul_q4_0_oracle"
path = "tests/incc_qmatmul_q4_0_oracle.rs"
[[test]]
name = "kiss_nan_conformance"
path = "tests/kiss_nan_conformance.rs"
[[test]]
name = "lazy_conv_transpose1d_oracle"
path = "tests/lazy_conv_transpose1d_oracle.rs"
[[test]]
name = "lazy_interpolate2d_oracle"
path = "tests/lazy_interpolate2d_oracle.rs"
[[test]]
name = "nonzero_indices"
path = "tests/nonzero_indices.rs"
[[test]]
name = "paged_attn_oracle"
path = "tests/paged_attn_oracle.rs"
[[test]]
name = "phase6a_structured_panics"
path = "tests/phase6a_structured_panics.rs"
[[test]]
name = "phase7b_aocl_anchor"
path = "tests/phase7b_aocl_anchor.rs"
[[test]]
name = "phase7b_conv2d_oracle"
path = "tests/phase7b_conv2d_oracle.rs"
[[test]]
name = "phase7b_mkl_anchor"
path = "tests/phase7b_mkl_anchor.rs"
[[test]]
name = "phase_c_rotating_kv"
path = "tests/phase_c_rotating_kv.rs"
[[test]]
name = "phase_c_rotating_kv_cuda"
path = "tests/phase_c_rotating_kv_cuda.rs"
[[test]]
name = "recip_abs_realize_live"
path = "tests/recip_abs_realize_live.rs"
[[test]]
name = "strict_reproducibility_realize"
path = "tests/strict_reproducibility_realize.rs"
[[test]]
name = "vulkan_bridge_realize_live"
path = "tests/vulkan_bridge_realize_live.rs"
[[test]]
name = "write_slice_doff_kv"
path = "tests/write_slice_doff_kv.rs"
[[test]]
name = "write_slice_doff_kv_cuda"
path = "tests/write_slice_doff_kv_cuda.rs"
[dependencies.accelerate-src]
version = "0.3.2"
optional = true
[dependencies.baracuda-core]
version = "0.0.1-alpha.116"
optional = true
[dependencies.baracuda-cudnn]
version = "0.0.1-alpha.116"
features = ["half-crate"]
optional = true
[dependencies.baracuda-driver]
version = "0.0.1-alpha.116"
optional = true
[dependencies.baracuda-nccl]
version = "0.0.1-alpha.116"
features = ["half-crate"]
optional = true
[dependencies.baracuda-types]
version = "0.0.1-alpha.116"
features = [
"half-crate",
"f8-crate",
]
optional = true
[dependencies.bytemuck]
version = "1.25"
[dependencies.byteorder]
version = "1.4.3"
[dependencies.float8]
version = "0.7.0"
features = [
"num-traits",
"rand_distr",
]
[dependencies.fuel-aocl-cpu-backend]
version = "0.20.14"
optional = true
[dependencies.fuel-backend-contract]
version = "0.20.14"
[dependencies.fuel-correctness-fixtures]
version = "0.20.14"
features = [
"serde",
"capture",
]
[dependencies.fuel-cpu-backend]
version = "0.20.14"
[dependencies.fuel-cpu-kernels]
version = "0.20.14"
[dependencies.fuel-cuda-backend]
version = "0.20.14"
optional = true
[dependencies.fuel-dispatch]
version = "0.20.14"
[dependencies.fuel-formats]
version = "0.20.14"
[dependencies.fuel-graph]
version = "0.20.14"
[dependencies.fuel-hardware]
version = "0.20.14"
[dependencies.fuel-ir]
version = "0.20.14"
features = ["serde"]
[dependencies.fuel-kv-pool]
version = "0.20.14"
[dependencies.fuel-loaders]
version = "0.20.14"
[dependencies.fuel-memory]
version = "0.20.14"
[dependencies.fuel-metal-backend]
version = "0.20.14"
optional = true
[dependencies.fuel-metal-kernels]
version = "0.20.14"
optional = true
[dependencies.fuel-mkl-cpu-backend]
version = "0.20.14"
optional = true
[dependencies.fuel-quantized]
version = "0.20.14"
[dependencies.fuel-vulkan-backend]
version = "0.20.14"
optional = true
[dependencies.gemm]
version = "0.19.0"
[dependencies.half]
version = "2.5.0"
features = [
"num-traits",
"use-intrinsics",
"rand_distr",
"bytemuck",
]
[dependencies.hf-hub]
version = "0.5.0"
[dependencies.image]
version = "0.25.2"
features = [
"jpeg",
"png",
]
default-features = false
[dependencies.intel-mkl-src]
version = "0.8.1"
features = ["mkl-static-lp64-iomp"]
optional = true
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.libm]
version = "0.2.15"
[dependencies.memmap2]
version = "0.9.3"
features = ["stable_deref_trait"]
[dependencies.num-traits]
version = "0.2.15"
[dependencies.num_cpus]
version = "1.15.0"
[dependencies.objc2-foundation]
version = "0.3.1"
optional = true
[dependencies.objc2-metal]
version = "0.3.1"
optional = true
[dependencies.rand]
version = "0.10"
[dependencies.rand_distr]
version = "0.6"
[dependencies.rayon]
version = "1.12"
[dependencies.safetensors]
version = "0.8.0"
[dependencies.serde]
version = "1.0.171"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.99"
[dependencies.smallvec]
version = "1"
features = ["const_new"]
[dependencies.thiserror]
version = "2"
[dependencies.yoke]
version = "0.8"
features = ["derive"]
[dependencies.zip]
version = "8.5.0"
default-features = false
[dev-dependencies.anyhow]
version = "1"
features = ["backtrace"]
[dev-dependencies.clap]
version = "4"
features = ["derive"]
[dev-dependencies.criterion]
version = "0.8"
default-features = false
[dev-dependencies.tempfile]
version = "3.27"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokenizers]
version = "0.23.1"
features = ["fancy-regex"]
default-features = false