mircuda-sys 0.3.0

Private native CUDA integration for mircuda
use super::super::{Context, DeviceBuffer, Stream, unsupported};
use crate::Result;

#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct FmhaBf16Spec {
    pub query_heads: usize,
    pub kv_heads: usize,
    pub head_dim: usize,
    pub value_head_dim: usize,
}

#[derive(Debug)]
pub struct FmhaBf16Plan;

impl Context {
    pub const fn create_fmha_bf16_plan(
        &self,
        _stream: &Stream,
        _spec: FmhaBf16Spec,
    ) -> Result<FmhaBf16Plan> {
        Err(unsupported())
    }
}

impl FmhaBf16Plan {
    #[allow(clippy::too_many_arguments)]
    pub const fn execute_paged_varlen(
        &self,
        _stream: &Stream,
        _query: &DeviceBuffer,
        _key_pages: &DeviceBuffer,
        _value_pages: &DeviceBuffer,
        _output: &DeviceBuffer,
        _query_starts: &DeviceBuffer,
        _token_counts: &DeviceBuffer,
        _context_starts: &DeviceBuffer,
        _block_table: &DeviceBuffer,
        _softmax_lse: &DeviceBuffer,
        _batch_size: usize,
        _total_query_tokens: usize,
        _max_query_tokens: usize,
        _max_context_tokens: usize,
        _max_blocks: usize,
        _page_block_size: usize,
        _scale: f32,
    ) -> Result<()> {
        Err(unsupported())
    }

    #[allow(clippy::too_many_arguments)]
    pub const fn execute(
        &self,
        _stream: &Stream,
        _query: &DeviceBuffer,
        _keys: &DeviceBuffer,
        _values: &DeviceBuffer,
        _output: &DeviceBuffer,
        _query_tokens: usize,
        _context_tokens: usize,
        _key_offset_bytes: usize,
        _value_offset_bytes: usize,
        _scale: f32,
    ) -> Result<()> {
        Err(unsupported())
    }

    #[allow(clippy::too_many_arguments)]
    pub const fn execute_varlen(
        &self,
        _stream: &Stream,
        _query: &DeviceBuffer,
        _keys: &DeviceBuffer,
        _values: &DeviceBuffer,
        _output: &DeviceBuffer,
        _query_starts: &DeviceBuffer,
        _key_starts: &DeviceBuffer,
        _batch_size: usize,
        _total_query_tokens: usize,
        _total_context_tokens: usize,
        _max_query_tokens: usize,
        _max_context_tokens: usize,
        _scale: f32,
    ) -> Result<()> {
        Err(unsupported())
    }
}