pub unsafe extern "C" fn cudnnMultiHeadAttnForward(
    handle: *mut cudnnContext,
    attnDesc: *mut cudnnAttnStruct,
    currIdx: i32,
    loWinIdx: *const i32,
    hiWinIdx: *const i32,
    devSeqLengthsQO: *const i32,
    devSeqLengthsKV: *const i32,
    qDesc: *mut cudnnSeqDataStruct,
    queries: *const c_void,
    residuals: *const c_void,
    kDesc: *mut cudnnSeqDataStruct,
    keys: *const c_void,
    vDesc: *mut cudnnSeqDataStruct,
    values: *const c_void,
    oDesc: *mut cudnnSeqDataStruct,
    out: *mut c_void,
    weightSizeInBytes: usize,
    weights: *const c_void,
    workSpaceSizeInBytes: usize,
    workSpace: *mut c_void,
    reserveSpaceSizeInBytes: usize,
    reserveSpace: *mut c_void
) -> cudnnStatus_t