{"record":{"id":"592d26c75db148b7","repo":"huggingface/candle","slug":"flash-attn-varlen-cpu-is-cpu-only","errorCode":null,"errorMessage":"flash_attn_varlen_cpu is CPU only","messagePattern":"flash_attn_varlen_cpu is CPU only","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"candle-nn/src/attention/cpu_flash/varlen.rs","lineNumber":42,"sourceCode":"///\n/// **Output shape:** `[total_q, Hq, D]`\n#[allow(clippy::too_many_arguments)]\npub fn flash_attn_varlen_cpu(\n    q: &Tensor,                    // [total_q, Hq, D]\n    k: &Tensor,                    // [total_k, Hk, D]\n    v: &Tensor,                    // [total_k, Hv, D]\n    alibi_slopes: Option<&Tensor>, // [Hq]\n    seqlens_q: &Tensor,            // [B]\n    seqlens_k: &Tensor,            // [B]\n    _max_seqlen_q: usize,\n    _max_seqlen_k: usize,\n    softmax_scale: f32,\n    causal: bool,\n    window_left: Option<usize>,\n    window_right: Option<usize>,\n) -> Result<Tensor> {\n    if !q.device().is_cpu() {\n        candle::bail!(\"flash_attn_varlen_cpu is CPU only\");\n    }\n\n    let dt = q.dtype();\n    if k.dtype() != dt || v.dtype() != dt {\n        candle::bail!(\n            \"q/k/v must have the same dtype (got q={:?}, k={:?}, v={:?})\",\n            dt,\n            k.dtype(),\n            v.dtype()\n        );\n    }\n    if dt != DType::F32 && dt != DType::F16 {\n        candle::bail!(\"flash_attn_varlen_cpu supports f32 or f16 only\");\n    }\n\n    let (total_q, hq, d) = q.dims3()?;\n    let (total_k, hk, dk) = k.dims3()?;\n    let (_total_v, hv, dv) = v.dims3()?;","sourceCodeStart":24,"sourceCodeEnd":60,"githubUrl":"https://github.com/huggingface/candle/blob/d5fee525bfde3273eb7c9b75fd2bc4937be867ca/candle-nn/src/attention/cpu_flash/varlen.rs#L24-L60","documentation":"Error \"flash_attn_varlen_cpu is CPU only\" thrown in huggingface/candle.","triggerScenarios":"Thrown at candle-nn/src/attention/cpu_flash/varlen.rs:42 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d5fee525bfde3273eb7c9b75fd2bc4937be867ca","analyzedAt":"2026-09-02T00:15:47.023Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T06:17:21.866Z"}