From 74ab0719f697cbf6ec9af55d97c5e35611b13e02 Mon Sep 17 00:00:00 2001 From: Weiqun Zhang Date: Thu, 23 May 2024 20:23:49 -0700 Subject: [PATCH] FabArray: Make some functions static (#3958) These communication help functions can now be used outside FabArray. --- Src/Base/AMReX_FabArray.H | 18 ++++++++++-------- Src/Base/AMReX_FabArrayCommI.H | 8 ++++---- Src/Base/AMReX_NonLocalBCImpl.H | 4 ++-- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Src/Base/AMReX_FabArray.H b/Src/Base/AMReX_FabArray.H index 07422c3cfa1..55ae541ca74 100644 --- a/Src/Base/AMReX_FabArray.H +++ b/Src/Base/AMReX_FabArray.H @@ -1349,42 +1349,44 @@ public: //! Prepost nonblocking receives template - void PostRcvs (const MapOfCopyComTagContainers& RcvTags, + static void PostRcvs (const MapOfCopyComTagContainers& RcvTags, char*& the_recv_data, Vector& recv_data, Vector& recv_size, Vector& recv_from, Vector& recv_reqs, int ncomp, - int SeqNum) const; + int SeqNum); template - AMREX_NODISCARD TheFaArenaPointer PostRcvs (const MapOfCopyComTagContainers& RcvTags, + AMREX_NODISCARD + static TheFaArenaPointer PostRcvs (const MapOfCopyComTagContainers& RcvTags, Vector& recv_data, Vector& recv_size, Vector& recv_from, Vector& recv_reqs, int ncomp, - int SeqNum) const; + int SeqNum); template - void PrepareSendBuffers (const MapOfCopyComTagContainers& SndTags, + static void PrepareSendBuffers (const MapOfCopyComTagContainers& SndTags, char*& the_send_data, Vector& send_data, Vector& send_size, Vector& send_rank, Vector& send_reqs, Vector& send_cctc, - int ncomp) const; + int ncomp); template - AMREX_NODISCARD TheFaArenaPointer PrepareSendBuffers (const MapOfCopyComTagContainers& SndTags, + AMREX_NODISCARD + static TheFaArenaPointer PrepareSendBuffers (const MapOfCopyComTagContainers& SndTags, Vector& send_data, Vector& send_size, Vector& send_rank, Vector& send_reqs, Vector& send_cctc, - int ncomp) const; + int ncomp); static void PostSnds (Vector const& send_data, Vector const& send_size, diff --git a/Src/Base/AMReX_FabArrayCommI.H b/Src/Base/AMReX_FabArrayCommI.H index 307ca490505..dac3849b9d2 100644 --- a/Src/Base/AMReX_FabArrayCommI.H +++ b/Src/Base/AMReX_FabArrayCommI.H @@ -622,7 +622,7 @@ FabArray::PrepareSendBuffers (const MapOfCopyComTagContainers& SndTags, Vector& send_rank, Vector& send_reqs, Vector& send_cctc, - int ncomp) const + int ncomp) { char* pointer = nullptr; PrepareSendBuffers(SndTags, pointer, send_data, send_size, send_rank, send_reqs, send_cctc, ncomp); @@ -639,7 +639,7 @@ FabArray::PrepareSendBuffers (const MapOfCopyComTagContainers& SndTags, Vector& send_rank, Vector& send_reqs, Vector& send_cctc, - int ncomp) const + int ncomp) { send_data.clear(); send_size.clear(); @@ -723,7 +723,7 @@ TheFaArenaPointer FabArray::PostRcvs (const MapOfCopyComTagContainers& Vector& recv_from, Vector& recv_reqs, int ncomp, - int SeqNum) const + int SeqNum) { char* pointer = nullptr; PostRcvs(RcvTags, pointer, recv_data, recv_size, recv_from, recv_reqs, ncomp, SeqNum); @@ -740,7 +740,7 @@ FabArray::PostRcvs (const MapOfCopyComTagContainers& RcvTags, Vector& recv_from, Vector& recv_reqs, int ncomp, - int SeqNum) const + int SeqNum) { recv_data.clear(); recv_size.clear(); diff --git a/Src/Base/AMReX_NonLocalBCImpl.H b/Src/Base/AMReX_NonLocalBCImpl.H index 60798f85a34..d2bf545eabc 100644 --- a/Src/Base/AMReX_NonLocalBCImpl.H +++ b/Src/Base/AMReX_NonLocalBCImpl.H @@ -439,13 +439,13 @@ Comm_nowait (FabArray& mf, int scomp, int ncomp, FabArrayBase::CommMetaData handler.mpi_tag = SeqNum; if (N_rcvs > 0) { - handler.recv.the_data = mf.PostRcvs(*cmd.m_RcvTags, handler.recv.data, handler.recv.size, + handler.recv.the_data = FabArray::PostRcvs(*cmd.m_RcvTags, handler.recv.data, handler.recv.size, handler.recv.rank, handler.recv.request, ncomp, SeqNum); } if (N_snds > 0) { handler.send.the_data = - mf.PrepareSendBuffers(*cmd.m_SndTags, handler.send.data, handler.send.size, + FabArray::PrepareSendBuffers(*cmd.m_SndTags, handler.send.data, handler.send.size, handler.send.rank, handler.send.request, handler.send.cctc, ncomp); #ifdef AMREX_USE_GPU