pelib  2.0.0
pelib::Platform Class Reference

#include <Platform.hpp>

Inheritance diagram for pelib::Platform:
[legend]

List of all members.

Classes

struct  LessIslandByFirstCoreId

Public Types

typedef std::set< const Core
*, Core::LessCorePtrByCoreId
island
typedef std::set< island,
LessIslandByFirstCoreId
islands

Public Member Functions

 Platform ()
 Platform (size_t p, const Core *ref)
 Platform (const island &cores)
 Platform (const island &cores, const islands &shared, const islands &main, const islands &priv, const islands &voltage, const islands &freq)
 Platform (const Platform *arch)
 Platform (const Platform &arch)
 Platform (const Algebra &arch)
virtual Platformclone () const
virtual const std::set< const
Core
*, Core::LessCorePtrByCoreId > & 
getCores () const
virtual bool isHomogeneous () const
virtual const islandsgetSharedMemoryIslands () const
virtual const islands getSharedMemoryIslands (size_t core_id) const
virtual const islands getSharedMemoryIslands (const std::set< int > &islands) const
virtual const std::set< intgetSharedMemoryIslands (const islands &isls) const
virtual const islandsgetMainMemoryIslands () const
virtual const islands getMainMemoryIslands (size_t core_id) const
virtual const islandsgetPrivateMemoryIslands () const
virtual const islands getPrivateMemoryIslands (size_t core_id) const
virtual const islandsgetVoltageIslands () const
virtual const islandgetVoltageIsland (size_t core_id) const
virtual const islandsgetFrequencyIslands () const
virtual const islandgetFrequencyIsland (size_t core_id) const
virtual const CoregetCore (size_t id) const
virtual size_t getCoreId (const Core *) const
virtual Algebra buildAlgebra () const
virtual ~Platform ()
virtual Platformoperator= (const Platform &copy)

Protected Attributes

island cores
islands shared
islands main
islands priv
islands voltage
islands freq

Detailed Description

Models an execution platform

Definition at line 34 of file Platform.hpp.


Member Typedef Documentation

Definition at line 37 of file Platform.hpp.


Constructor & Destructor Documentation

Internal type of a platform core island Constructor

Definition at line 36 of file Platform.cpp.

pelib::Platform::Platform ( size_t  p,
const Core ref 
)

Constructor

Parameters:
pNumber of cores in this platform. Each core is its own shared memory, main memory, private memory, voltage and frequency island
refPointer to an instance of pelib::Core duplicated p times and stored in the Platform instance being build

Definition at line 82 of file Platform.cpp.

pelib::Platform::Platform ( const island cores)

Constructor

Parameters:
coresCollection of derivative instances of pelib::Core that model all execution cores in the platform. Each core is its own shared memory, main memory, private memory, voltage and frequency island

Definition at line 51 of file Platform.cpp.

pelib::Platform::Platform ( const island cores,
const islands shared,
const islands main,
const islands priv,
const islands voltage,
const islands freq 
)

Constructor

Parameters:
coresCollection of derivative instances of pelib::Core that model all execution cores in the platform. Each core is its own shared memory, main memory, private memory, voltage and frequency island
sharedOn-chip shared memory islands
mainOff-chip shared memory islands
privOff-chip Private memory islands
voltageVoltage scaling islands
freqFrequency scaling islands

Definition at line 72 of file Platform.cpp.

Copy constructor

Definition at line 174 of file Platform.cpp.

Copy constructor

Definition at line 179 of file Platform.cpp.

Constructor

Parameters:
archAlgebraic representation of a platform: Scalar p is the number of cores, set F is the set of frequency each core can run at. Each core is its own shared memory, main memory, private memory, voltage and frequency island

Definition at line 184 of file Platform.cpp.

Destructor

Definition at line 315 of file Platform.cpp.


Member Function Documentation

Builds an algebraic representation of this platform: p is the number of cores and F is the set of frequency they can run at

Definition at line 359 of file Platform.cpp.

Platform * pelib::Platform::clone ( ) const [virtual]

Returns a pointer to a copy of this platform

Implements pelib::Record.

Definition at line 324 of file Platform.cpp.

const Core * pelib::Platform::getCore ( size_t  id) const [virtual]

Returns a pointer to core corresponding to its number id in the platform

Definition at line 396 of file Platform.cpp.

size_t pelib::Platform::getCoreId ( const Core core) const [virtual]

Returns the core id in the platform that corresponds to a pointer to core; throws a CastException if the core doesn't belong to this plaform

Definition at line 408 of file Platform.cpp.

const Platform::island & pelib::Platform::getCores ( ) const [virtual]

Returns all cores in the platform

Definition at line 331 of file Platform.cpp.

const Platform::island & pelib::Platform::getFrequencyIsland ( size_t  core_id) const [virtual]

Returns the frequency memory island corresponding to the core_id-th core of the platform, starting with 1

Definition at line 553 of file Platform.cpp.

Returns all frequency memory islands

Definition at line 547 of file Platform.cpp.

Returns all main memory islands

Definition at line 482 of file Platform.cpp.

Returns the main memory island corresponding to the core_id-th core of the platform, starting with 1

Definition at line 488 of file Platform.cpp.

Returns all private memory islands

Definition at line 504 of file Platform.cpp.

Returns the private memory island corresponding to the core_id-th core of the platform, starting with 1

Definition at line 510 of file Platform.cpp.

Returns all shared memory islands

Definition at line 419 of file Platform.cpp.

Returns the shared memory island corresponding to the core_id-th core of the platform, starting with 1

Definition at line 425 of file Platform.cpp.

const Platform::islands pelib::Platform::getSharedMemoryIslands ( const std::set< int > &  islands) const [virtual]

Returns the shared memory islands a set of cores belongs to

Parameters:
islandsSet of core id the shared memory islands' are requested

Definition at line 464 of file Platform.cpp.

const std::set< int > pelib::Platform::getSharedMemoryIslands ( const islands isls) const [virtual]

Returns the core ids contained in a shared memory island

Parameters:
islandsShared memory islands that contains the cores to be returned

Definition at line 445 of file Platform.cpp.

const Platform::island & pelib::Platform::getVoltageIsland ( size_t  core_id) const [virtual]

Returns the voltage memory island corresponding to the core_id-th core of the platform, starting with 1

Definition at line 532 of file Platform.cpp.

Returns all voltage memory islands

Definition at line 526 of file Platform.cpp.

bool pelib::Platform::isHomogeneous ( ) const [virtual]

Returns true if all cores are identical and false otherwise

Definition at line 337 of file Platform.cpp.

Platform & pelib::Platform::operator= ( const Platform copy) [virtual]

Definition at line 568 of file Platform.cpp.


Member Data Documentation

Collection of cores

Definition at line 151 of file Platform.hpp.

Definition at line 153 of file Platform.hpp.

Definition at line 153 of file Platform.hpp.

Definition at line 153 of file Platform.hpp.

Islands

Definition at line 153 of file Platform.hpp.

Definition at line 153 of file Platform.hpp.


The documentation for this class was generated from the following files: