|
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().