#pragma once // SPDX-License-Identifier: MIT #include namespace aiter { namespace torch_itfs { std::vector mha_batch_prefill(at::Tensor& q, // [total_q, hq, d] const at::Tensor& k, // [total_k, hk, d] const at::Tensor& v, // [total_k, hk, d] const at::Tensor& cu_seqlens_q, // [b+1] const at::Tensor& kv_indptr, // [b+1] const at::Tensor& kv_page_indices, int max_seqlen_q, int max_seqlen_k, float p_dropout, float softmax_scale, float logits_soft_cap, bool zero_tensors, bool is_causal, int window_size_left, int window_size_right, bool return_softmax_lse, bool return_dropout_randval, std::optional out_, // [total_q, hq, d] std::optional bias_, // [total_q, max_seqlen_k] std::optional alibi_slopes_, // [hq] or [b, hq] std::optional gen_); } // namespace torch_itfs } // namespace aiter