12#ifndef SST_CORE_CORE_EXIT_H 
   13#define SST_CORE_CORE_EXIT_H 
   15#include "sst/core/action.h" 
   16#include "sst/core/sst_types.h" 
   17#include "sst/core/threadsafe.h" 
   21#include <unordered_set> 
   25#define _EXIT_DBG(fmt, args...) __DBG(DBG_EXIT, Exit, fmt, ##args) 
   51    Exit(
int num_threads, 
bool single_rank);
 
   55    bool refInc(ComponentId_t, uint32_t thread);
 
   57    bool refDec(ComponentId_t, uint32_t thread);
 
   59    unsigned int getRefCount();
 
   84    void print(
const std::string& header, 
Output& out)
 const override 
   86        out.
output(
"%s Exit Action to be delivered at %" PRIu64 
" with priority %d\n", header.c_str(),
 
 
   91    unsigned int getGlobalCount() { 
return global_count; }
 
  104    Exit& operator=(
const Exit&) = 
delete;  
 
  110    unsigned int                      m_refCount;
 
  111    unsigned int*                     m_thread_counts;
 
  112    unsigned int                      global_count;
 
  113    std::unordered_set<ComponentId_t> m_idSet;
 
  116    Core::ThreadSafe::Spinlock slock;
 
 
SimTime_t getDeliveryTime() const
Return the time at which this Activity will be delivered.
Definition activity.h:148
int getPriority() const
Return the Priority of this Activity.
Definition activity.h:151
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition serializer.h:45
Exit Event Action.
Definition exit.h:36
Exit(int num_threads, bool single_rank)
Create a new ExitEvent.
Definition exit.cc:25
void print(const std::string &header, Output &out) const override
Definition exit.h:84
bool refDec(ComponentId_t, uint32_t thread)
Decrement Reference Count for a given Component ID.
Definition exit.cc:81
SimTime_t computeEndTime()
Computes the end time of the simulation.
Definition exit.cc:137
void execute() override
Function which will be called when the time for this Activity comes to pass.
Definition exit.cc:127
bool refInc(ComponentId_t, uint32_t thread)
Increment Reference Count for a given Component ID.
Definition exit.cc:46
void serialize_order(SST::Core::Serialization::serializer &ser) override
TODO to enable different partitioning on restart, will need to associate m_thread_counts and m_idSet ...
Definition exit.cc:188
void setEndTime(SimTime_t time)
Stores the time the simulation has ended.
Definition exit.h:70
SimTime_t getEndTime()
Gets the end time of the simulation.
Definition exit.h:64
Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file.
Definition output.h:54
void output(uint32_t line, const char *file, const char *func, const char *format,...) const
Output the message with formatting as specified by the format parameter.
Definition output.h:185
A class to convert between a component's view of time and the core's view of time.
Definition timeConverter.h:28