HMLP: High-performance Machine Learning Primitives
|
Public Member Functions | |
void | Set (NODE *user_arg) |
void | DependencyAnalysis () |
void | Execute (Worker *user_worker) |
![]() | |
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 |
![]() | |
class Worker * | worker = 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 |
Lock * | task_lock = NULL |
Task * | next = NULL |
volatile bool | stealable = true |
volatile int | created_by = 0 |
|
inlinevirtual |
Get node MPI size and rank.
Recv Ur from my sibling.
TODO: implement symmetric ULV factorization.
Recv Zr from my sibing.
Get the skeleton rows and columns.
Get the skeleton row and column basis.
Send Ur to my sibling.
Send Zr to my sibing.
Evluate the skeleton rows and columns.
Implements hmlp::Task.
|
inline |
We don't know the exact cost here