HMLP: High-performance Machine Learning Primitives
hmlp::MessageTask Class Reference

This task is designed to take care MPI communications. More...

#include <runtime.hpp>

Inheritance diagram for hmlp::MessageTask:
hmlp::Task hmlp::ListenerTask hmlp::SendTask< T, ARG > hmlp::SendTask< T, TREE > hmlp::RecvTask< T, ARG > hmlp::RecvTask< T, TREE > hmlp::mpigofmm::PackFarTask< T, TREE > hmlp::mpigofmm::PackNearTask< T, TREE > hmlp::mpigofmm::UnpackFarTask< T, TREE > hmlp::mpigofmm::UnpackLeafTask< T, TREE >

Public Member Functions

 MessageTask (int src, int tar, int key)
 (Default) MessageTask constructor. More...
 
void Submit ()
 Ask the runtime to create an message task in file.
 
- Public Member Functions inherited from hmlp::Task
 Task ()
 (Default) Task constructor. More...
 
 ~Task ()
 (Default) Task destructor. More...
 
TaskStatus GetStatus ()
 Status is a private member.
 
void SetStatus (TaskStatus status)
 Move foward to the next status.
 
void SetBatchStatus (TaskStatus status)
 
void Submit ()
 Ask the runtime to create an normal task in file.
 
virtual void Set (string user_name, void(*user_function)(Task *), void *user_arg)
 This is only for virtual function pointer.
 
virtual void Prefetch (Worker *)
 
void Enqueue ()
 
void Enqueue (size_t tid)
 
bool TryEnqueue ()
 Try to dispatch the task if there is no dependency left.
 
void ForceEnqueue (size_t tid)
 
void CallBackWhileWaiting ()
 This is the callback function for the owner of thenested task. More...
 
virtual void Execute (Worker *)=0
 
virtual void GetEventRecord ()
 
virtual void DependencyAnalysis ()
 
void DependenciesUpdate ()
 Update the my outgoing and children's incoming edges. More...
 
void Acquire ()
 
void Release ()
 
bool IsNested ()
 

Public Attributes

mpi::Comm comm
 
int tar = 0
 
int src = 0
 
int key = 0
 
- Public Attributes inherited from hmlp::Task
class Workerworker = NULL
 
string name
 
string label
 
int taskid
 
float cost = 0
 
bool priority = false
 
Event event
 
void(* function )(Task *)
 
void * arg
 
volatile int n_dependencies_remaining = 0
 
deque< Task * > in
 
deque< Task * > out
 
Locktask_lock = NULL
 
Tasknext = NULL
 
volatile bool stealable = true
 
volatile int created_by = 0
 

Detailed Description

This task is designed to take care MPI communications.

end class NULLTask class MessageTask

Constructor & Destructor Documentation

hmlp::MessageTask::MessageTask ( int  src,
int  tar,
int  key 
)

(Default) MessageTask constructor.

(Default) constructor.

Member Data Documentation

mpi::Comm hmlp::MessageTask::comm

MPI communicator will be provided during Submit().

int hmlp::MessageTask::tar = 0

Provided during the construction.


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