pelib
2.0.0
|
#include <Platform.hpp>
Models an execution platform
Definition at line 34 of file Platform.hpp.
typedef std::set<const Core*, Core::LessCorePtrByCoreId> pelib::Platform::island |
Definition at line 37 of file Platform.hpp.
Definition at line 57 of file Platform.hpp.
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
p | Number of cores in this platform. Each core is its own shared memory, main memory, private memory, voltage and frequency island |
ref | Pointer 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
cores | Collection 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
cores | Collection 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 |
shared | On-chip shared memory islands |
main | Off-chip shared memory islands |
priv | Off-chip Private memory islands |
voltage | Voltage scaling islands |
freq | Frequency scaling islands |
Definition at line 72 of file Platform.cpp.
pelib::Platform::Platform | ( | const Platform * | arch | ) |
Copy constructor
Definition at line 174 of file Platform.cpp.
pelib::Platform::Platform | ( | const Platform & | arch | ) |
Copy constructor
Definition at line 179 of file Platform.cpp.
pelib::Platform::Platform | ( | const Algebra & | arch | ) |
Constructor
arch | Algebraic 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.
pelib::Platform::~Platform | ( | ) | [virtual] |
Destructor
Definition at line 315 of file Platform.cpp.
Algebra pelib::Platform::buildAlgebra | ( | ) | const [virtual] |
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.
const Platform::islands & pelib::Platform::getFrequencyIslands | ( | ) | const [virtual] |
Returns all frequency memory islands
Definition at line 547 of file Platform.cpp.
const Platform::islands & pelib::Platform::getMainMemoryIslands | ( | ) | const [virtual] |
Returns all main memory islands
Definition at line 482 of file Platform.cpp.
const Platform::islands pelib::Platform::getMainMemoryIslands | ( | size_t | core_id | ) | const [virtual] |
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.
const Platform::islands & pelib::Platform::getPrivateMemoryIslands | ( | ) | const [virtual] |
Returns all private memory islands
Definition at line 504 of file Platform.cpp.
const Platform::islands pelib::Platform::getPrivateMemoryIslands | ( | size_t | core_id | ) | const [virtual] |
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.
const Platform::islands & pelib::Platform::getSharedMemoryIslands | ( | ) | const [virtual] |
Returns all shared memory islands
Definition at line 419 of file Platform.cpp.
const Platform::islands pelib::Platform::getSharedMemoryIslands | ( | size_t | core_id | ) | const [virtual] |
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
islands | Set 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
islands | Shared 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.
const Platform::islands & pelib::Platform::getVoltageIslands | ( | ) | const [virtual] |
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.
Definition at line 568 of file Platform.cpp.
island pelib::Platform::cores [protected] |
Collection of cores
Definition at line 151 of file Platform.hpp.
islands pelib::Platform::freq [protected] |
Definition at line 153 of file Platform.hpp.
islands pelib::Platform::main [protected] |
Definition at line 153 of file Platform.hpp.
islands pelib::Platform::priv [protected] |
Definition at line 153 of file Platform.hpp.
islands pelib::Platform::shared [protected] |
Islands
Definition at line 153 of file Platform.hpp.
islands pelib::Platform::voltage [protected] |
Definition at line 153 of file Platform.hpp.