Skip to content

Commit e05fd70

Browse files
committed
api: Version all API functions
Change our API version name scheme so that all interface functions include a version in the function name. The version is the version in which that api was introduced (rather than the previous scheme, in which the version in the name was the last version in which the API was used). This should make adding new API calls easier, in that the only required change will be adding a new API, and we no longer have to rename the old API to add the version. Signed-off-by: Brian Barrett <[email protected]>
1 parent 7ddf53b commit e05fd70

File tree

4 files changed

+256
-257
lines changed

4 files changed

+256
-257
lines changed

include/nccl_ofi_api.h

Lines changed: 42 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11,44 +11,53 @@
1111

1212
struct nccl_ofi_properties;
1313

14-
ncclResult_t nccl_net_ofi_init(ncclDebugLogger_t logFunction);
15-
ncclResult_t nccl_net_ofi_devices(int *ndev);
14+
ncclResult_t nccl_net_ofi_init_v2(ncclDebugLogger_t logFunction);
15+
ncclResult_t nccl_net_ofi_devices_v2(int *ndev);
1616
ncclResult_t nccl_net_ofi_get_properties(int dev, struct nccl_ofi_properties *ofi_properties);
17-
ncclResult_t nccl_net_ofi_listen(int dev, void *handle, void **listenComm);
18-
ncclResult_t nccl_net_ofi_listen_v4(int dev, void* handle, void** listenComm);
17+
ncclResult_t nccl_net_ofi_listen_v2(int dev, void *handle, void **listenComm);
18+
ncclResult_t nccl_net_ofi_listen_v5(int dev, void* handle, void **listenComm);
1919
// Nvidia introduced the ability to have part of the communication driven by a
2020
// cuda kernel, which requires a version-specific device pointer be passed
2121
// through the accept/connect APIs. Rather than list all those connect calls
2222
// here, we just declare them in the nvidia interface file to keep this list sane.
23-
ncclResult_t nccl_net_ofi_connect(int dev, void* handle, void** sendComm);
24-
ncclResult_t nccl_net_ofi_connect_v4(int dev, void* handle, void** sendComm);
25-
ncclResult_t nccl_net_ofi_accept(void *listenComm, void **recvComm);
26-
ncclResult_t nccl_net_ofi_accept_v4(void* listenComm, void** recvComm);
27-
ncclResult_t nccl_net_ofi_regMr_v7(void *comm, void *data, int size, int type,
23+
ncclResult_t nccl_net_ofi_connect_v2(int dev, void* handle, void **sendComm);
24+
ncclResult_t nccl_net_ofi_connect_v5(int dev, void* handle, void **sendComm);
25+
ncclResult_t nccl_net_ofi_accept_v2(void *listenComm, void **recvComm);
26+
ncclResult_t nccl_net_ofi_accept_v5(void* listenComm, void** recvComm);
27+
ncclResult_t nccl_net_ofi_regMr_v2(void *comm, void *data, int size, int type,
2828
void **mhandle);
29-
ncclResult_t nccl_net_ofi_regMr(void *comm, void *data, size_t size, int type,
30-
void **mhandle);
31-
ncclResult_t nccl_net_ofi_regMrDmaBuf(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);
32-
ncclResult_t nccl_net_ofi_deregMr(void *comm, void *mhandle);
33-
ncclResult_t nccl_net_ofi_isend(void *sendComm, void* data, int size, int tag, void *mhandle, void** request);
34-
ncclResult_t nccl_net_ofi_isend_v4(void* sendComm, void* data, int size, void* mhandle, void** request);
35-
ncclResult_t nccl_net_ofi_isend_v9(void *sendComm, void* data, size_t size, int tag, void *mhandle, void** request);
36-
ncclResult_t nccl_net_ofi_irecv(void* recvComm, int n, void** buffers, int* sizes, int *tags, void** mhandles, void** request);
37-
ncclResult_t nccl_net_ofi_irecv_v4(void* recvComm, void* data, int size, void* mhandle, void** request);
38-
ncclResult_t nccl_net_ofi_irecv_v9(void* recvComm, int n, void** buffers, size_t* sizes, int *tags, void** mhandles, void** request);
39-
ncclResult_t nccl_net_ofi_test(void *request, int *done, int *size);
40-
ncclResult_t nccl_net_ofi_iflush(void* recvComm, int n, void** buffers, int* sizes, void** mhandles, void** request);
41-
ncclResult_t nccl_net_ofi_flush_v3(void* recvComm, void* data, int size, void* mhandle);
42-
ncclResult_t nccl_net_ofi_iflush_v4(void* recvComm, void* data, int size, void* mhandle, void** request);
43-
ncclResult_t nccl_net_ofi_closeSend(void *sendComm);
44-
ncclResult_t nccl_net_ofi_closeRecv(void *recvComm);
45-
ncclResult_t nccl_net_ofi_closeListen(void *listenComm);
46-
ncclResult_t nccl_net_ofi_get_mr_key(void* mhandle, uint64_t* mr_key);
47-
ncclResult_t nccl_net_ofi_iwrite(void* sComm, void* src, size_t size, void* mhandle,
48-
uint64_t dest, uint64_t mr_key, void** req);
49-
ncclResult_t nccl_net_ofi_iwrite_inline(void* sComm, void* src, size_t size,
50-
uint64_t dest, uint64_t mr_key, void** req);
51-
ncclResult_t nccl_net_ofi_iread(void* rComm, void* dest, size_t size, void* mhandle,
52-
uint64_t src, uint64_t mr_key, void** req);
29+
ncclResult_t nccl_net_ofi_regMr_v8(void *comm, void *data, size_t size, int type,
30+
void **mhandle);
31+
ncclResult_t nccl_net_ofi_regMrDmaBuf_v6(void* comm, void* data, size_t size, int type,
32+
uint64_t offset, int fd, void** mhandle);
33+
ncclResult_t nccl_net_ofi_deregMr_v2(void *comm, void *mhandle);
34+
ncclResult_t nccl_net_ofi_isend_v2(void* sendComm, void* data, int size, void* mhandle,
35+
void** request);
36+
ncclResult_t nccl_net_ofi_isend_v5(void *sendComm, void* data, int size, int tag, void *mhandle,
37+
void** request);
38+
ncclResult_t nccl_net_ofi_isend_v9(void *sendComm, void* data, size_t size, int tag, void *mhandle,
39+
void** request);
40+
ncclResult_t nccl_net_ofi_irecv_v2(void* recvComm, void* data, int size, void* mhandle,
41+
void** request);
42+
ncclResult_t nccl_net_ofi_irecv_v5(void* recvComm, int n, void** buffers, int* sizes, int *tags,
43+
void** mhandles, void** request);
44+
ncclResult_t nccl_net_ofi_irecv_v9(void* recvComm, int n, void** buffers, size_t* sizes, int *tags,
45+
void** mhandles, void** request);
46+
ncclResult_t nccl_net_ofi_test_v2(void *request, int *done, int *size);
47+
ncclResult_t nccl_net_ofi_flush_v2(void* recvComm, void* data, int size, void* mhandle);
48+
ncclResult_t nccl_net_ofi_iflush_v4(void* recvComm, void* data, int size, void* mhandle,
49+
void** request);
50+
ncclResult_t nccl_net_ofi_iflush_v5(void* recvComm, int n, void** buffers, int* sizes,
51+
void** mhandles, void** request);
52+
ncclResult_t nccl_net_ofi_closeSend_v2(void *sendComm);
53+
ncclResult_t nccl_net_ofi_closeRecv_v2(void *recvComm);
54+
ncclResult_t nccl_net_ofi_closeListen_v2(void *listenComm);
55+
ncclResult_t nccl_net_ofi_get_mr_key_v5(void* mhandle, uint64_t* mr_key);
56+
ncclResult_t nccl_net_ofi_iwrite_v5(void* sComm, void* src, size_t size, void* mhandle,
57+
uint64_t dest, uint64_t mr_key, void** req);
58+
ncclResult_t nccl_net_ofi_iwrite_inline_v5(void* sComm, void* src, size_t size,
59+
uint64_t dest, uint64_t mr_key, void** req);
60+
ncclResult_t nccl_net_ofi_iread_v5(void* rComm, void* dest, size_t size, void* mhandle,
61+
uint64_t src, uint64_t mr_key, void** req);
5362

5463
#endif // End NET_OFI_API_H_

0 commit comments

Comments
 (0)