pub unsafe extern "C" fn cudnnMultiHeadAttnBackwardData(
    handle: cudnnHandle_t,
    attnDesc: cudnnAttnDescriptor_t,
    loWinIdx: *const c_int,
    hiWinIdx: *const c_int,
    devSeqLengthsDQDO: *const c_int,
    devSeqLengthsDKDV: *const c_int,
    doDesc: cudnnSeqDataDescriptor_t,
    dout: *const c_void,
    dqDesc: cudnnSeqDataDescriptor_t,
    dqueries: *mut c_void,
    queries: *const c_void,
    dkDesc: cudnnSeqDataDescriptor_t,
    dkeys: *mut c_void,
    keys: *const c_void,
    dvDesc: cudnnSeqDataDescriptor_t,
    dvalues: *mut c_void,
    values: *const c_void,
    weightSizeInBytes: usize,
    weights: *const c_void,
    workSpaceSizeInBytes: usize,
    workSpace: *mut c_void,
    reserveSpaceSizeInBytes: usize,
    reserveSpace: *mut c_void
) -> cudnnStatus_t