Skip to content
12 changes: 12 additions & 0 deletions flagcx/adaptor/include/flagcx_net_adaptor.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ typedef enum {
// regMr, regMrDmaBuf, deregMr, isend, irecv, iflush, test,
// iput, iget, iputSignal, getDevFromName
// v2 — adds iputBatch (optional one-sided batch WRITE)
// latest — adds optional batch helpers for one-sided transfers

struct flagcxNetAdaptor_v1 {
// Basic functions
Expand Down Expand Up @@ -135,6 +136,17 @@ struct flagcxNetAdaptor_latest {
const size_t *sizes, int srcRank, int dstRank,
void **srcHandles, void **dstHandles,
void **requests, int *posted);
// Optional batch completion test — polls CQ once for multiple requests.
// If NULL, caller falls back to per-request test().
flagcxResult_t (*testBatch)(void **requests, int nRequests, int *doneFlags,
int *doneCount);
// Optional one-side batch READ. Success returns one logical request for the
// full batch.
flagcxResult_t (*igetBatch)(void *sendComm, int count,
const uint64_t *srcOffs, const uint64_t *dstOffs,
const size_t *sizes, int srcRank, int dstRank,
void *const *srcHandles, void *const *dstHandles,
void **request);
Comment on lines +139 to +149
};

#define flagcxNetAdaptor flagcxNetAdaptor_latest
Expand Down
Loading
Loading