From af00dd10b262b14114982bd640b980f38324609e Mon Sep 17 00:00:00 2001 From: Nicholas Sielicki Date: Mon, 12 Aug 2024 12:52:46 -0700 Subject: [PATCH] rdma: fi_{send,write}data: do arithmetic on uintptr void pointer arithmetic is illegal in c++; cast to uintptr, do the offset, then cast to void* to pass to libfabric. stack-info: PR: https://github.com/aws/aws-ofi-nccl/pull/558, branch: aws-nslick/stack/5 Signed-off-by: Nicholas Sielicki --- src/nccl_ofi_rdma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nccl_ofi_rdma.c b/src/nccl_ofi_rdma.c index ce4ec23aa..dee120ecf 100644 --- a/src/nccl_ofi_rdma.c +++ b/src/nccl_ofi_rdma.c @@ -4259,7 +4259,7 @@ static int post_rdma_write(nccl_net_ofi_rdma_req_t *req, ssize_t rc; /* Post RDMA write */ - rc = fi_writedata(comm_rail->local_ep, send_data->buff + xfer_info->offset, + rc = fi_writedata(comm_rail->local_ep, (void*)((uintptr_t)send_data->buff + xfer_info->offset), xfer_info->msg_size, desc, send_data->wdata, comm_rail->remote_addr, send_data->remote_buff + xfer_info->offset, @@ -4287,7 +4287,7 @@ static int post_rdma_eager_send(nccl_net_ofi_rdma_req_t *req, ssize_t rc; /* Post eager send */ - rc = fi_senddata(comm_rail->local_ep, send_data->buff + xfer_info->offset, xfer_info->msg_size, desc, + rc = fi_senddata(comm_rail->local_ep, (void*)(((uintptr_t)send_data->buff) + xfer_info->offset), xfer_info->msg_size, desc, send_data->wdata, comm_rail->remote_addr, req); if ((rc != 0) && (rc != -FI_EAGAIN)) {