15 #ifndef HIPACE_PROFILERWRAPPER_H_
16 #define HIPACE_PROFILERWRAPPER_H_
24 template<
int detail_level>
33 template<
int detail_level>
37 doStreamSynchronize<detail_level>();
41 #define HIPACE_PROFILE(fname) doStreamSynchronize<1>(); BL_PROFILE(fname); synchronizeOnDestruct<1> BL_PROFILE_PASTE(SYNC_SCOPE_, __COUNTER__){}
42 #define HIPACE_PROFILE_VAR(fname, vname) doStreamSynchronize<1>(); BL_PROFILE_VAR(fname, vname); synchronizeOnDestruct<1> SYNC_V_##vname{}
43 #define HIPACE_PROFILE_VAR_NS(fname, vname) BL_PROFILE_VAR_NS(fname, vname); synchronizeOnDestruct<1> SYNC_V_##vname{}
44 #define HIPACE_PROFILE_VAR_START(vname) doStreamSynchronize<1>(); BL_PROFILE_VAR_START(vname)
45 #define HIPACE_PROFILE_VAR_STOP(vname) doStreamSynchronize<1>(); BL_PROFILE_VAR_STOP(vname)
46 #define HIPACE_PROFILE_REGION(rname) doStreamSynchronize<1>(); BL_PROFILE_REGION(rname); synchronizeOnDestruct<1> BL_PROFILE_PASTE(SYNC_R_, __COUNTER__){}
48 #define HIPACE_DETAIL_PROFILE(fname) doStreamSynchronize<2>(); BL_PROFILE(fname); synchronizeOnDestruct<2> BL_PROFILE_PASTE(SYNC_SCOPE_, __COUNTER__){}
49 #define HIPACE_DETAIL_PROFILE_VAR(fname, vname) doStreamSynchronize<2>(); BL_PROFILE_VAR(fname, vname); synchronizeOnDestruct<2> SYNC_V_##vname{}
50 #define HIPACE_DETAIL_PROFILE_VAR_NS(fname, vname) BL_PROFILE_VAR_NS(fname, vname); synchronizeOnDestruct<2> SYNC_V_##vname{}
51 #define HIPACE_DETAIL_PROFILE_VAR_START(vname) doStreamSynchronize<2>(); BL_PROFILE_VAR_START(vname)
52 #define HIPACE_DETAIL_PROFILE_VAR_STOP(vname) doStreamSynchronize<2>(); BL_PROFILE_VAR_STOP(vname)
53 #define HIPACE_DETAIL_PROFILE_REGION(rname) doStreamSynchronize<2>(); BL_PROFILE_REGION(rname); synchronizeOnDestruct<2> BL_PROFILE_PASTE(SYNC_R_, __COUNTER__){}
#define AMREX_FORCE_INLINE
AMREX_FORCE_INLINE void doStreamSynchronize()
Definition: HipaceProfilerWrapper.H:26
int DO_DEVICE_SYNCHRONIZE
Definition: HipaceProfilerWrapper.H:22
void streamSynchronize() noexcept
Definition: HipaceProfilerWrapper.H:34
AMREX_FORCE_INLINE ~synchronizeOnDestruct()
Definition: HipaceProfilerWrapper.H:36