12 #ifndef SST_CORE_PROFILE_SYNCPROFILETOOL_H 13 #define SST_CORE_PROFILE_SYNCPROFILETOOL_H 15 #include "sst/core/eli/elementinfo.h" 16 #include "sst/core/profile/profiletool.h" 17 #include "sst/core/sst_types.h" 18 #include "sst/core/ssthandler.h" 19 #include "sst/core/warnmacros.h" 35 SST_ELI_DOCUMENT_PARAMS(
42 virtual void syncManagerStart() {}
43 virtual void syncManagerEnd() {}
55 SST_ELI_REGISTER_PROFILETOOL(
60 SST_ELI_ELEMENT_VERSION(0, 1, 0),
61 "Profiler that will count calls to sync" 68 void syncManagerStart()
override;
70 void outputData(FILE* fp)
override;
73 uint64_t syncmanager_count = 0;
88 void syncManagerStart()
override { start_time_ = T::now(); }
90 void syncManagerEnd()
override 92 auto total_time = T::now() - start_time_;
93 syncmanager_time += std::chrono::duration_cast<std::chrono::nanoseconds>(total_time).count();
97 void outputData(FILE* fp)
override;
100 uint64_t syncmanager_time = 0;
101 uint64_t syncmanager_count = 0;
103 typename T::time_point start_time_;
108 #endif // SST_CORE_PROFILE_SYNCPROFILETOOL_H
Parameter store.
Definition: params.h:63