diff --git a/src/sst/core/configGraphOutput.h b/src/sst/core/configGraphOutput.h index 4bf322c54..754e971ca 100644 --- a/src/sst/core/configGraphOutput.h +++ b/src/sst/core/configGraphOutput.h @@ -23,6 +23,10 @@ class ConfigGraph; namespace Core { +/** + * Exception handler class for graph configuration. + * Provides the interface to handle errors through the throw exception. + */ class ConfigGraphOutputException : public std::exception { public: @@ -32,12 +36,21 @@ class ConfigGraphOutputException : public std::exception std::strcpy(exMsg, msg); } + /** + * @return Exception Message + */ virtual const char* what() const noexcept override { return exMsg; } + /** + * Exception message generated on call. + */ protected: char* exMsg; }; +/** + * Outputs configuration data to a specified file path. + */ class ConfigGraphOutput { public: @@ -45,6 +58,11 @@ class ConfigGraphOutput virtual ~ConfigGraphOutput() { fclose(outputFile); } + /** + * @param cfg Constant pointer to SST configuration + * @param graph Constant pointer to SST configuration graph + * @return void + */ virtual void generate(const Config* cfg, ConfigGraph* graph) = 0; protected: diff --git a/src/sst/core/cputimer.h b/src/sst/core/cputimer.h index a2d850699..bd6f9a260 100644 --- a/src/sst/core/cputimer.h +++ b/src/sst/core/cputimer.h @@ -14,6 +14,9 @@ #include +/** + * @return Current CPU time using the time of day. Timezone information is not filled. + */ double sst_get_cpu_time(); #endif // SST_CORE_CPU_TIMER_H diff --git a/src/sst/core/event.h b/src/sst/core/event.h index cb096a0fe..adb639b08 100644 --- a/src/sst/core/event.h +++ b/src/sst/core/event.h @@ -155,6 +155,7 @@ class Event : public Activity For links that are going to a sync, the delivery_info is used on the remote side to send the event on the proper link. For local links, delivery_info contains the delivery functor. + @return void */ inline void setDeliveryInfo(LinkId_t tag, uintptr_t delivery_info) { diff --git a/src/sst/core/exit.h b/src/sst/core/exit.h index cc8966bfa..11942e0fc 100644 --- a/src/sst/core/exit.h +++ b/src/sst/core/exit.h @@ -36,8 +36,8 @@ class Exit : public Action public: /** * Create a new ExitEvent - * @param sim - Simulation Object - * @param single_rank - True if there are no parallel ranks + * @param sim Simulation object + * @param single_rank True if there are no parallel ranks * * Exit needs to register a handler during constructor time, which * requires a simulation object. But the simulation class creates @@ -56,13 +56,30 @@ class Exit : public Action bool refDec(ComponentId_t, uint32_t thread); unsigned int getRefCount(); - SimTime_t getEndTime() { return end_time; } - void setEndTime(SimTime_t time) { end_time = time; } + /** Gets the end time of the simulation + * @return Time when simulation ends + */ + SimTime_t getEndTime() { return end_time; } + + /** Stores the time the simulation has ended + * @param time Current simulation time + * @return void + */ + void setEndTime(SimTime_t time) { end_time = time; } + + /** Computes the end time of the simulation + * @return End time of the simulation + */ SimTime_t computeEndTime(); void execute(void) override; void check(); + /** + * @param header String to preface the exit action log + * @param out SST Output logger object + * @return void + */ void print(const std::string& header, Output& out) const override { out.output( @@ -70,6 +87,7 @@ class Exit : public Action getPriority()); } + unsigned int getGlobalCount() { return global_count; } private: diff --git a/src/sst/core/linkPair.h b/src/sst/core/linkPair.h index 2c80e0c73..ca761bb5b 100644 --- a/src/sst/core/linkPair.h +++ b/src/sst/core/linkPair.h @@ -23,7 +23,9 @@ namespace SST { class LinkPair { public: - /** Create a new LinkPair. This is used when the endpoints are in the same partition. */ + /** Create a new LinkPair. This is used when the endpoints are in the same partition. + * @param order Value used to enforce the link order. + */ LinkPair(LinkId_t order) : left(new Link(order)), right(new Link(order)) { my_id = order; @@ -32,7 +34,10 @@ class LinkPair right->pair_link = left; } - /** Create a new LinkPair. This is used when the endpoints are in different partitions. */ + /** Create a new LinkPair. This is used when the endpoints are in different partitions. + * @param order Value used to enforce the link order. + * @param remote_tag Used to look up the correct link on the other side. + */ LinkPair(LinkId_t order, LinkId_t remote_tag) : left(new Link(remote_tag)), right(new Link(order)) { my_id = order; @@ -43,10 +48,14 @@ class LinkPair virtual ~LinkPair() {} - /** Return the Left Link */ + /** Return the Left Link + * @return Left link + */ inline Link* getLeft() { return left; } - /** Return the Right Link */ + /** Return the Right Link + * @return Right link + */ inline Link* getRight() { return right; } private: