[package]
authors = ["louisfd <louisfd94@gmail.com>"]
categories = ["science", "mathematics", "algorithms"]
description = "CubeCL Attention Kernels Engine"
edition.workspace = true
keywords = []
license.workspace = true
name = "cubecl-attention"
readme.workspace = true
repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-attention"
version.workspace = true

[features]
default = ["std", "cubecl-runtime/default", "cubecl-core/default"]
export_tests = ["pretty_assertions"]
std = ["cubecl-runtime/std", "cubecl-core/std"]

attention_tests_f16 = []
attention_tests_f32 = []
attention_tests_unit = []
attention_tests_blackbox_accelerated = []
attention_tests_all = [
    "attention_tests_f16",
    "attention_tests_f32",
    "attention_tests_unit",
    "attention_tests_blackbox_accelerated",
]

[dependencies]
bytemuck = { workspace = true }
cubecl-common = { path = "../cubecl-common", version = "=0.9.0-pre.4", default-features = false }
cubecl-core = { path = "../cubecl-core", version = "=0.9.0-pre.4", default-features = false }
cubecl-runtime = { path = "../cubecl-runtime", version = "=0.9.0-pre.4", default-features = false }
cubecl-std = { path = "../cubecl-std", version = "=0.9.0-pre.4", default-features = false }
cubecl-matmul = { path = "../cubecl-matmul", version = "=0.9.0-pre.4", default-features = false }
cubecl-random = { path = "../cubecl-random", version = "=0.9.0-pre.4", default-features = false }
half = { workspace = true, features = ["bytemuck"] }
pretty_assertions = { workspace = true, optional = true }
serde = { workspace = true }

[dev-dependencies]
trybuild = "1"
