WarpX
Classes | Namespaces | Macros | Functions
ProfilerWrapper.H File Reference
#include <AMReX_BLProfiler.H>
#include <AMReX_GpuDevice.H>

Go to the source code of this file.

Classes

struct  ablastr::profiler::SynchronizeOnDestruct
 

Namespaces

 ablastr
 
 ablastr::profiler
 

Macros

#define ABLASTR_PROFILE(fname, sync)   ablastr::profiler::device_synchronize(sync); BL_PROFILE(fname); const ablastr::profiler::SynchronizeOnDestruct BL_PROFILE_PASTE(SYNC_SCOPE_, __COUNTER__){sync}
 
#define ABLASTR_PROFILE_VAR(fname, vname, sync)   ablastr::profiler::device_synchronize(sync); BL_PROFILE_VAR(fname, vname); const ablastr::profiler::SynchronizeOnDestruct SYNC_V_##vname{sync}
 
#define ABLASTR_PROFILE_VAR_NS(fname, vname, sync)   BL_PROFILE_VAR_NS(fname, vname); const ablastr::profiler::SynchronizeOnDestruct SYNC_V_##vname{sync}
 
#define ABLASTR_PROFILE_VAR_START(vname, sync)   ablastr::profiler::device_synchronize(sync); BL_PROFILE_VAR_START(vname)
 
#define ABLASTR_PROFILE_VAR_STOP(vname, sync)   ablastr::profiler::device_synchronize(sync); BL_PROFILE_VAR_STOP(vname)
 
#define ABLASTR_PROFILE_REGION(rname, sync)   ablastr::profiler::device_synchronize(sync); BL_PROFILE_REGION(rname); const ablastr::profiler::SynchronizeOnDestruct BL_PROFILE_PASTE(SYNC_R_, __COUNTER__){sync}
 

Functions

AMREX_FORCE_INLINE void ablastr::profiler::device_synchronize (bool const do_device_synchronize=false)
 

Macro Definition Documentation

◆ ABLASTR_PROFILE

#define ABLASTR_PROFILE (   fname,
  sync 
)    ablastr::profiler::device_synchronize(sync); BL_PROFILE(fname); const ablastr::profiler::SynchronizeOnDestruct BL_PROFILE_PASTE(SYNC_SCOPE_, __COUNTER__){sync}

◆ ABLASTR_PROFILE_REGION

#define ABLASTR_PROFILE_REGION (   rname,
  sync 
)    ablastr::profiler::device_synchronize(sync); BL_PROFILE_REGION(rname); const ablastr::profiler::SynchronizeOnDestruct BL_PROFILE_PASTE(SYNC_R_, __COUNTER__){sync}

◆ ABLASTR_PROFILE_VAR

#define ABLASTR_PROFILE_VAR (   fname,
  vname,
  sync 
)    ablastr::profiler::device_synchronize(sync); BL_PROFILE_VAR(fname, vname); const ablastr::profiler::SynchronizeOnDestruct SYNC_V_##vname{sync}

◆ ABLASTR_PROFILE_VAR_NS

#define ABLASTR_PROFILE_VAR_NS (   fname,
  vname,
  sync 
)    BL_PROFILE_VAR_NS(fname, vname); const ablastr::profiler::SynchronizeOnDestruct SYNC_V_##vname{sync}

◆ ABLASTR_PROFILE_VAR_START

#define ABLASTR_PROFILE_VAR_START (   vname,
  sync 
)    ablastr::profiler::device_synchronize(sync); BL_PROFILE_VAR_START(vname)

◆ ABLASTR_PROFILE_VAR_STOP

#define ABLASTR_PROFILE_VAR_STOP (   vname,
  sync 
)    ablastr::profiler::device_synchronize(sync); BL_PROFILE_VAR_STOP(vname)