PaCO++  0.05
paco_comScheduling_direct Class Reference

#include <paco_direct_comScheduling.h>

Inheritance diagram for paco_comScheduling_direct:
Collaboration diagram for paco_comScheduling_direct:

List of all members.

Public Member Functions

virtual void clearAllSchedules ()
virtual void clearScheduleId (long id) throw (InvalidArgument)
paco_comSchedulecomputeScheduling (unsigned rank, PaCO::PacoTopology_t *srctopo, PaCO::PacoTopology_t *dsttopo, unsigned **com_matrix, void **info_vector[])
virtual void displayStatus ()
paco_comSchedulegetSchedule (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

Detailed Description

Definition at line 27 of file paco_direct_comScheduling.h.


Member Typedef Documentation

typedef map<long, paco_comSchedule*> paco_comScheduling::_schedule_info_map_t [protected, inherited]

Definition at line 56 of file CommunicationScheduling.h.


Constructor & Destructor Documentation


Member Function Documentation

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]

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;
}

Member Data Documentation


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