@@ -782,7 +782,9 @@ FabArray<FAB>::fabDevicePtr (const MFIter& mfi)
782782{
783783 BL_ASSERT (mfi.LocalIndex () < indexArray.size ());
784784 BL_ASSERT (DistributionMap () == mfi.DistributionMap ());
785- return m_fabs_v[mfi.LocalIndex ()];
785+ int li = mfi.LocalIndex ();
786+ AMREX_GPU_ASSERT (m_fabs_v[li]->dataPtr () == m_host_fabs_v[li]->dataPtr ());
787+ return m_fabs_v[li];
786788}
787789
788790template <class FAB >
@@ -791,7 +793,9 @@ FabArray<FAB>::fabDevicePtr (const MFIter& mfi) const
791793{
792794 BL_ASSERT (mfi.LocalIndex () < indexArray.size ());
793795 BL_ASSERT (DistributionMap () == mfi.DistributionMap ());
794- return m_fabs_v[mfi.LocalIndex ()];
796+ int li = mfi.LocalIndex ();
797+ AMREX_GPU_ASSERT (m_fabs_v[li]->dataPtr () == m_host_fabs_v[li]->dataPtr ());
798+ return m_fabs_v[li];
795799}
796800
797801template <class FAB >
@@ -800,6 +804,7 @@ FabArray<FAB>::fabDevicePtr (int K)
800804{
801805 int li = localindex (K);
802806 BL_ASSERT (li >=0 && li < indexArray.size ());
807+ AMREX_GPU_ASSERT (m_fabs_v[li]->dataPtr () == m_host_fabs_v[li]->dataPtr ());
803808 return m_fabs_v[li];
804809}
805810
@@ -818,10 +823,12 @@ FabArray<FAB>::fabHostPtr (const MFIter& mfi)
818823{
819824 BL_ASSERT (mfi.LocalIndex () < indexArray.size ());
820825 BL_ASSERT (DistributionMap () == mfi.DistributionMap ());
826+ int li = mfi.LocalIndex ();
827+ AMREX_GPU_ASSERT (m_fabs_v[li]->dataPtr () == m_host_fabs_v[li]->dataPtr ());
821828#if AMREX_USE_GPU
822- return m_host_fabs_v[mfi. LocalIndex () ];
829+ return m_host_fabs_v[li ];
823830#else
824- return m_fabs_v[mfi. LocalIndex () ];
831+ return m_fabs_v[li ];
825832#endif
826833}
827834
@@ -831,10 +838,12 @@ FabArray<FAB>::fabHostPtr (const MFIter& mfi) const
831838{
832839 BL_ASSERT (mfi.LocalIndex () < indexArray.size ());
833840 BL_ASSERT (DistributionMap () == mfi.DistributionMap ());
841+ int li = mfi.LocalIndex ();
842+ AMREX_GPU_ASSERT (m_fabs_v[li]->dataPtr () == m_host_fabs_v[li]->dataPtr ());
834843#if AMREX_USE_GPU
835- return m_host_fabs_v[mfi. LocalIndex () ];
844+ return m_host_fabs_v[li ];
836845#else
837- return m_fabs_v[mfi. LocalIndex () ];
846+ return m_fabs_v[li ];
838847#endif
839848}
840849
@@ -844,6 +853,7 @@ FabArray<FAB>::fabHostPtr (int K)
844853{
845854 int li = localindex (K);
846855 BL_ASSERT (li >=0 && li < indexArray.size ());
856+ AMREX_GPU_ASSERT (m_fabs_v[li]->dataPtr () == m_host_fabs_v[li]->dataPtr ());
847857#if AMREX_USE_GPU
848858 return m_host_fabs_v[li];
849859#else
@@ -857,6 +867,7 @@ FabArray<FAB>::fabHostPtr (int K) const
857867{
858868 int li = localindex (K);
859869 BL_ASSERT (li >=0 && li < indexArray.size ());
870+ AMREX_GPU_ASSERT (m_fabs_v[li]->dataPtr () == m_host_fabs_v[li]->dataPtr ());
860871#if AMREX_USE_GPU
861872 return m_host_fabs_v[li];
862873#else
0 commit comments