HMLP: High-performance Machine Learning Primitives
hmlp::mpigofmm::L2LTask2< NODE, T > Class Template Reference

#include <gofmm_mpi.hpp>

Inheritance diagram for hmlp::mpigofmm::L2LTask2< NODE, T >:
hmlp::Task

Public Member Functions

void Set (NODE *user_arg, vector< NODE * > user_src, int user_p, Lock *user_lock, int *user_num_arrived_subtasks)
 
void DependencyAnalysis ()
 
void Execute (Worker *user_worker)
 
- 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 GetEventRecord ()
 
void DependenciesUpdate ()
 Update the my outgoing and children's incoming edges. More...
 
void Acquire ()
 
void Release ()
 
bool IsNested ()
 

Public Attributes

NODE * arg = NULL
 
vector< NODE * > Sources
 
int p = 0
 
Locklock = NULL
 
int * num_arrived_subtasks
 
- 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

template<typename NODE, typename T>
class hmlp::mpigofmm::L2LTask2< NODE, T >

end class DistSkeletonsToNodesTask

Member Function Documentation

template<typename NODE , typename T >
void hmlp::mpigofmm::L2LTask2< NODE, T >::DependencyAnalysis ( )
inlinevirtual

If p is a distributed process, then depends on the message.

Reimplemented from hmlp::Task.

template<typename NODE , typename T >
void hmlp::mpigofmm::L2LTask2< NODE, T >::Execute ( Worker user_worker)
inlinevirtual

Temporary buffer

Get W view of this treenode. (available for non-LET nodes)

Free KIJ, if !is_cached.

Get U view of this treenode.

Implements hmlp::Task.

template<typename NODE , typename T >
void hmlp::mpigofmm::L2LTask2< NODE, T >::Set ( NODE *  user_arg,
vector< NODE * >  user_src,
int  user_p,
Lock user_lock,
int *  user_num_arrived_subtasks 
)
inline

Compute FLOPS and MOPS.

Setup the event

Assume computation bound

"LOW" priority

Member Data Documentation

template<typename NODE , typename T >
Lock* hmlp::mpigofmm::L2LTask2< NODE, T >::lock = NULL

Write lock

template<typename NODE , typename T >
vector<NODE*> hmlp::mpigofmm::L2LTask2< NODE, T >::Sources

A list of source node pointers.


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