PaCO++
0.05
|
#include <paco_direct_comScheduling.h>
Public Member Functions | |
virtual void | clearAllSchedules () |
virtual void | clearScheduleId (long id) throw (InvalidArgument) |
paco_comSchedule * | computeScheduling (unsigned rank, PaCO::PacoTopology_t *srctopo, PaCO::PacoTopology_t *dsttopo, unsigned **com_matrix, void **info_vector[]) |
virtual void | displayStatus () |
paco_comSchedule * | getSchedule (long id) |
paco_comScheduling_direct () | |
void | propageComMatrix (PaCO_operation *op, unsigned **comMatrix) |
virtual void | setSchedule (long id, paco_comSchedule *cs) |
virtual | ~paco_comScheduling_direct () |
Protected Types | |
typedef map< long, paco_comSchedule * > | _schedule_info_map_t |
Protected Attributes | |
PaCO::PacoTopology_t * | _client_topo |
_schedule_info_map_t | _schedule_info_map |
PaCO::PacoTopology_t * | _server_topo |
Definition at line 27 of file paco_direct_comScheduling.h.
typedef map<long, paco_comSchedule*> paco_comScheduling::_schedule_info_map_t [protected, inherited] |
Definition at line 56 of file CommunicationScheduling.h.
paco_comScheduling_direct::paco_comScheduling_direct | ( | ) | [inline] |
Definition at line 31 of file paco_direct_comScheduling.h.
{};
paco_comScheduling_direct::~paco_comScheduling_direct | ( | ) | [virtual] |
Definition at line 33 of file paco_direct_comScheduling.cc.
{ }
void paco_comScheduling::clearAllSchedules | ( | ) | [virtual, inherited] |
Definition at line 44 of file CommunicationScheduling.cc.
References paco_comScheduling::_schedule_info_map.
Referenced by PaCO_operation::clearAllScheduleMemory(), paco_comScheduling_libgraph::set_beta(), and paco_comScheduling_libgraph::set_k().
{ #ifdef DEBUG_INTERNAL std::cerr <<"[INFO] clearing all schedule memories\n"; #endif for(_schedule_info_map_t::iterator it = _schedule_info_map.begin(); it!= _schedule_info_map.end(); it++) { delete it->second; } _schedule_info_map.clear(); }
void paco_comScheduling::clearScheduleId | ( | long | id | ) | throw (InvalidArgument) [virtual, inherited] |
Definition at line 26 of file CommunicationScheduling.cc.
{ if (id<0) throw new InvalidArgument("clearScheduleMemeoryId expects an id >0"); #ifdef DEBUG_INTERNAL std::cerr <<"[INFO] clearing schedule memory Id "<<id<<endl; #endif _schedule_info_map_t::iterator it = _schedule_info_map.find(id); if (it != _schedule_info_map.end()) { delete _schedule_info_map[id]; _schedule_info_map.erase(it); } }
paco_comSchedule * paco_comScheduling_direct::computeScheduling | ( | unsigned | rank, |
PaCO::PacoTopology_t * | srctopo, | ||
PaCO::PacoTopology_t * | dsttopo, | ||
unsigned ** | com_matrix, | ||
void ** | info_vector[] | ||
) | [virtual] |
Implements paco_comScheduling.
Definition at line 38 of file paco_direct_comScheduling.cc.
References PaCO::PacoTopology_s::total.
{ // cerr << __FUNCTION__ << " : rank: "<<rank<<" srvtopo: "<<dsttopo->total<<endl; return new paco_comSchedule_direct(rank, dsttopo->total, com_matrix[rank], info_vector); }
void paco_comScheduling::displayStatus | ( | ) | [virtual, inherited] |
Definition at line 70 of file CommunicationScheduling.cc.
References paco_comScheduling::_client_topo, paco_comScheduling::_schedule_info_map, paco_comScheduling::_server_topo, and PaCO::PacoTopology_s::total.
{ cerr << this << " ctopo: "<<_client_topo<<" - "<<_client_topo->total<< " stopo: "<<_server_topo<<" - "<<_server_topo->total << " map: "<< _schedule_info_map.size() << endl; }
paco_comSchedule * paco_comScheduling::getSchedule | ( | long | id | ) | [inherited] |
return NULL if schedule id is unknown
Definition at line 8 of file CommunicationScheduling.cc.
References paco_comScheduling::_schedule_info_map.
{ _schedule_info_map_t::iterator it = _schedule_info_map.find(id); if (it != _schedule_info_map.end()) { return it->second; } else return NULL; }
void paco_comScheduling_direct::propageComMatrix | ( | PaCO_operation * | op, |
unsigned ** | comMatrix | ||
) | [inline, virtual] |
Reimplemented from paco_comScheduling.
Definition at line 38 of file paco_direct_comScheduling.h.
{ /* overloading all-2-all: no propagation needed for direct */}
void paco_comScheduling::setSchedule | ( | long | id, |
paco_comSchedule * | cs | ||
) | [virtual, inherited] |
Definition at line 20 of file CommunicationScheduling.cc.
{
// _schedule_info_map[id] = cs;
}
PaCO::PacoTopology_t* paco_comScheduling::_client_topo [protected, inherited] |
Definition at line 52 of file CommunicationScheduling.h.
Referenced by paco_comScheduling::displayStatus().
_schedule_info_map_t paco_comScheduling::_schedule_info_map [protected, inherited] |
Definition at line 57 of file CommunicationScheduling.h.
Referenced by paco_comScheduling::clearAllSchedules(), paco_comScheduling::displayStatus(), and paco_comScheduling::getSchedule().
PaCO::PacoTopology_t* paco_comScheduling::_server_topo [protected, inherited] |
Definition at line 53 of file CommunicationScheduling.h.
Referenced by paco_comScheduling::displayStatus().