ch4/ofi: remove contig restriction in gpu pipeline

Sender and receiver don't have to agree on the datatypes thus it can
easily result in deadlock restricting the sender to contiguous
datatypes.

Remove the contig condition seems work. It now passes the test
pt2pt/sendrecv1 2 arg=-sendmem=device arg=-recvmem=device
env=MPIR_CVAR_CH4_OFI_ENABLE_GPU_PIPELINE=1.
Esse commit está contido em:
Hui Zhou
2024-10-01 09:05:29 -05:00
commit 838bd3dc9b
+1 -3
Ver Arquivo
@@ -394,8 +394,6 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_OFI_send_pipeline(const void *buf, MPI_Aint c
int mpi_errno = MPI_SUCCESS;
MPIR_FUNC_ENTER;
MPIR_Assert(dt_contig);
int sender_nic =
MPIDI_OFI_multx_sender_nic_index(comm, comm->context_id, comm->rank, dst_rank, tag);
int receiver_nic =
@@ -579,7 +577,7 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_OFI_send(const void *buf, MPI_Aint count, MPI
}
}
if (need_pack && dt_contig && MPIR_CVAR_CH4_OFI_ENABLE_GPU_PIPELINE &&
if (need_pack && MPIR_CVAR_CH4_OFI_ENABLE_GPU_PIPELINE &&
data_sz >= MPIR_CVAR_CH4_OFI_GPU_PIPELINE_THRESHOLD) {
do_gpu_pipelining = true;
need_pack = false;