SST common interface collaborative development


Introduction

Each of the SST API items of primary interest to developers are listed here.

SST APIs of Primary Interest

class SST::Action

(Description goes here)

void 	print (const std::string &header) const
void 	endSimulation ()
class 	boost::serialization::access

class SST::Event

(Description goes here)

class Handler
class Handler< classT, void >
class HandlerBase
void execute (void)
void setDeliveryLink (LinkId_t id, Link *link)
void setRemoteEvent ()
LinkId_t getLinkId (void) const
void print (const std::string &header) const 
Link * 	delivery_link
class boost::serialization::access

class SST::Component

(Description goes here)

typedef Params 	Params_t
Component (ComponentId_t id)
ComponentId_t 	getId () const
const std::string & 	getName () const
virtual void 	init (unsigned int phase)
virtual void 	setup ()
virtual void 	finish ()
virtual bool 	Status ()
bool 	isPortConnected (const std::string &name) const
Link * 	configureLink (std::string name, TimeConverter *time_base, Event::HandlerBase *handler=NULL)
Link * 	configureLink (std::string name, std::string time_base, Event::HandlerBase *handler=NULL)
Link * 	configureLink (std::string name, Event::HandlerBase *handler=NULL)
Link * 	configureSelfLink (std::string name, TimeConverter *time_base, Event::HandlerBase *handler=NULL)
Link * 	configureSelfLink (std::string name, std::string time_base, Event::HandlerBase *handler=NULL)
Link * 	configureSelfLink (std::string name, Event::HandlerBase *handler=NULL)
TimeConverter * 	registerClock (std::string freq, Clock::HandlerBase *handler, bool regAll=true)
void 	unregisterClock (TimeConverter *tc, Clock::HandlerBase *handler)
TimeConverter * 	registerTimeBase (std::string base, bool regAll=true)
SimTime_t 	getCurrentSimTime (TimeConverter *tc)
SimTime_t 	getCurrentSimTime ()
SimTime_t 	getCurrentSimTime (std::string base)
SimTime_t 	getCurrentSimTimeNano ()
SimTime_t 	getCurrentSimTimeMicro ()
SimTime_t 	getCurrentSimTimeMilli ()

bool 	registerExit ()
bool 	unregisterExit ()
void 	registerAsPrimaryComponent ()
void 	primaryComponentDoNotEndSim ()
void 	primaryComponentOKToEndSim ()
Module * 	loadModule (std::string type, Params &params)

std::string 	type
void 	setDefaultTimeBase (TimeConverter *tc)
Link * 	selfLink (std::string name, Event::HandlerBase *handler=NULL)
TimeConverter * 	defaultTimeBase
class 	boost::serialization::access

struct SST::ElementInfoComponent

(Description goes here)

const char * 	name
const char * 	description
void(* 	printHelp )(FILE *output)
componentAllocate 	alloc
const ElementInfoParam * 	params

struct SST::ElementInfoEvent

(Description goes here)

const char * 	name
const char * 	description
void(* 	printHelp )(FILE *output)
eventInitialize 	init

struct SST::ElementInfoGenerator

(Description goes here)

const char * 	name
const char * 	description
void(* 	printHelp )(FILE *output)
generateFunction 	func

struct SST::ElementInfoIntrospector

(Description goes here)

const char * 	name
const char * 	description
void(* 	printHelp )(FILE *output)
introspectorAllocate 	alloc
ElementInfoParam * 	params

struct SST::ElementInfoModule

(Description goes here)

const char * 	name
const char * 	description
void(* 	printHelp )(FILE *output)
moduleAllocate 	alloc
ElementInfoParam * 	params

struct SST::ElementInfoParam

(Description goes here)

const char * 	name
const char * 	description

struct SST::ElementInfoPartitioner

(Description goes here)

const char * 	name
const char * 	description
void(* 	printHelp )(FILE *output)
partitionFunction 	func

struct SST::ElementLibraryInfo

(Description goes here)

const char * 	name
const char * 	description
struct ElementInfoComponent * 	components
struct ElementInfoEvent * 	events
struct ElementInfoIntrospector * 	introspectors
struct ElementInfoModule * 	modules
struct ElementInfoPartitioner * 	partitioners
struct ElementInfoGenerator * 	generators

class SST::Clock::HandlerBase

(Description goes here)

virtual bool 	operator() (Cycle_t)=0

class SST::Event::HandlerBase

(Description goes here)

 virtual void 	operator() (Event *)=0

class SST::Introspector

(Description goes here)

enum  	collect_type {
  GATHER, ALLGATHER, BROADCAST, REDUCE,
  ALLREDUCE
}

enum  	mpi_operation { MINIMUM, MAXIMUM, SUM, NOT_APPLICABLE }

Introspector ()
virtual void 	setup ()
virtual void 	finish ()
std::list < IntrospectedComponent * > 	getModelsByName (const std::string CompName)
std::list < IntrospectedComponent * > 	getModelsByType (const std::string CompType)
template<typename typeT > typeT 	getData (IntrospectedComponent *c, std::string dataname)
virtual bool 	triggeredUpdate ()
void 	collectInt (collect_type ctype, uint64_t invalue, mpi_operation op=NOT_APPLICABLE, int rank=0)
void 	oneTimeCollect (SimTime_t time, Event::HandlerBase *functor)
TimeConverter * 	registerClock (std::string freq, Clock::HandlerBase *handler)
void 	unregisterClock (TimeConverter *tc, Clock::HandlerBase *handler)
SimTime_t 	getFreq ()
std::list < IntrospectedComponent * > 	MyCompList
uint64_t 	minvalue
uint64_t 	maxvalue
uint64_t 	value
std::vector< uint64_t > 	arrayvalue
TimeConverter * 	defaultTimeBase
 class 	boost::serialization::access

(Description goes here)

Link (LinkId_t id)
void 	setLatency (Cycle_t lat)
void 	addOutputLatency (int cycles, std::string timebase)
void 	addOutputLatency (SimTime_t cycles, TimeConverter *timebase)
void 	setFunctor (Event::HandlerBase *functor)
void 	setPolling ()
void 	send (SimTime_t delay, TimeConverter *tc, Event *event)
void 	send (SimTime_t delay, Event *event)
void 	send (Event *event)
Event * 	recv ()
void 	setDefaultTimeBase (TimeConverter *tc)
TimeConverter * 	getDefaultTimeBase ()
void 	deliverEvent (Event *event)
LinkId_t 	getId ()
void 	sendInitData (Event *init_data)
Event * 	recvInitData ()
ActivityQueue * 	recvQueue
ActivityQueue * 	initQueue
ActivityQueue * 	configuredQueue
Event::HandlerBase * 	rFunctor
TimeConverter * 	defaultTimeBase
SimTime_t 	latency
Link * 	pair_link
static ActivityQueue * 	uninitQueue = NULL
static ActivityQueue * 	afterInitQueue = NULL
class 	LinkPair
class 	Simulation
class 	Sync
class 	boost::serialization::access

(Description goes here)

template<class Archive > void 	serialize (Archive &ar, const unsigned int version)

class SST::Module

(Description goes here)

Module ()

class SST::Params

(Description goes here)

typedef std::map< std::string, std::string >::key_type 	key_type
typedef std::map< std::string, std::string >::mapped_type 	mapped_type
typedef std::map< std::string, std::string >::value_type 	value_type
typedef std::map< std::string, std::string >::key_compare 	key_compare
typedef std::map< std::string, std::string >::value_compare 	value_compare
typedef std::map< std::string, std::string >::pointer 	pointer
typedef std::map< std::string, std::string >::reference 	reference
typedef std::map< std::string, std::string >::const_reference 	const_reference
typedef std::map< std::string, std::string >::size_type 	size_type
typedef std::map< std::string, std::string >::difference_type 	difference_type
typedef std::map< std::string, std::string >::iterator 	iterator
typedef std::map< std::string, std::string >::const_iterator 	const_iterator
typedef std::map< std::string, std::string >::reverse_iterator 	reverse_iterator
typedef std::map< std::string, std::string >::const_reverse_iterator 	const_reverse_iterator
iterator 	begin ()
iterator 	end ()
const_iterator 	begin () const
const_iterator 	end () const
reverse_iterator 	rbegin ()
reverse_iterator 	rend ()
const_reverse_iterator 	rbegin () const
const_reverse_iterator 	rend () const
size_type 	size () const
size_type 	max_size () const
bool 	empty () const
key_compare 	key_comp () const
value_compare 	value_comp () const
 	Params (const key_compare &comp)
template<class InputIterator >
 	Params (InputIterator f, InputIterator l)
template<class InputIterator >
 	Params (InputIterator f, InputIterator l, const key_compare &comp)
Params (const Params &old)
Params & 	operator= (const Params &old)
void 	swap (Params &old)
std::pair< iterator, bool > 	insert (const value_type &x)
iterator 	insert (iterator pos, const value_type &x)
template<class InputIterator >
 	void 	insert (InputIterator f, InputIterator l)
void 	erase (iterator pos)
size_type 	erase (const key_type &k)
void 	clear ()
iterator 	find (const key_type &k)
const_iterator 	find (const key_type &k) const
size_type 	count (const key_type &k)
iterator 	lower_bound (const key_type &k)
const_iterator 	lower_bound (const key_type &k) const
iterator 	upper_bound (const key_type &k)
const_iterator 	upper_bound (const key_type &k) const
std::pair< iterator, iterator > 	equal_range (const key_type &k)
std::pair< const_iterator, const_iterator > 	equal_range (const key_type &k) const
mapped_type & 	operator[] (const key_type &k)
long 	find_integer (const key_type &k, long default_value, bool &found) const
long 	find_integer (const key_type &k, long default_value=-1) const
double 	find_floating (const key_type &k, double default_value, bool &found) const
double 	find_floating (const key_type &k, double default_value=-1.0) const
std::string 	find_string (const key_type &k, std::string default_value, bool &found) const
std::string 	find_string (const key_type &k, std::string default_value="") const
void 	print_all_params (std::ostream &os) const
Params 	find_prefix_params (std::string prefix) const
std::map< std::string, std::string > 	get_map () const
void 	verify_params (std::set< std::string > info_params, std::string obj_name)
class 	boost::serialization::access
bool 	operator== (const Params &a, const Params &b)
bool 	operator< (const Params &a, const Params &b)

class SST::Simulation

(Description goes here)

 typedef std::map< SimTime_t, Clock * > 	clockMap_t
 typedef std::map< unsigned int, Sync * > 	SyncMap_t
int 	performWireUp (ConfigGraph &graph, int myRank)
void 	initialize ()
void 	run ()
SimTime_t 	getCurrentSimCycle () const
int 	getRank () const
int 	getNumRanks () const
TimeConverter * 	registerClock (std::string freq, Clock::HandlerBase *handler)
void 	unregisterClock (TimeConverter *tc, Clock::HandlerBase *handler)
void 	insertActivity (SimTime_t time, Activity *ev)
Exit * 	getExit () const
LinkMap * 	getComponentLinkMap (ComponentId_t id) const
void 	removeComponentLinkMap (ComponentId_t id)
const CompMap_t & 	getComponentMap (void) const
const CompIdMap_t & 	getComponentIdMap (void) const
Component * 	getComponent (const std::string &name) const
Component * 	getComponent (const ComponentId_t &id) const
Introspector * 	getIntrospector (const std::string &name) const
void 	requireEvent (std::string name)
static Simulation * 	createSimulation (Config *config, int my_rank, int num_ranks)
static Simulation * 	getSimulation ()
static void 	printStatus (bool print_timevortex)
class 	Link
class 	Action
class 	boost::serialization::access
template<class Archive >
         void 	save_construct_data (Archive &ar, const Simulation *t, const unsigned int file_version)
template<class Archive >
         void 	load_construct_data (Archive &ar, Simulation *t, const unsigned int file_version)

class SST::RNG::SSTRandom

(Description goes here)

virtual double 	nextUniform ()=0
virtual uint32_t 	generateNextUInt32 ()=0
virtual uint64_t 	generateNextUInt64 ()=0
virtual int64_t 	generateNextInt64 ()=0
virtual int32_t 	generateNextInt32 ()=0

class SST::TimeConverter

(Description goes here)

SimTime_t 	convertToCoreTime (SimTime_t time)
SimTime_t 	convertFromCoreTime (SimTime_t time)
SimTime_t 	getFactor ()
class 	TimeLord
class 	boost::serialization::access