|
| | SystolicFixOrbitalOrders (DistributedMatrix< double > &U, int tag=5556) |
| |
| bool | converged (const TaskThreadEnv &env) const |
| | Invoked simultaneously by all threads after each sweep to test for convergence.
|
| |
| void | end_iteration_hook (const TaskThreadEnv &env) |
| | Invoked by all threads at the end of each iteration before convergence test.
|
| |
| void | kernel (int i, int j, double *MADNESS_RESTRICT Ui, double *MADNESS_RESTRICT Uj) |
| |
| void | start_iteration_hook (const TaskThreadEnv &env) |
| | Invoked by all threads at the start of each iteration.
|
| |
| | SystolicMatrixAlgorithm (DistributedMatrix< double > &A, int tag, int nthread=ThreadPool::size()+1) |
| | A must be a column distributed matrix with an even column tile >= 2.
|
| |
| virtual | ~SystolicMatrixAlgorithm () |
| |
| int64_t | get_coldim () const |
| | Returns length of column.
|
| |
| ProcessID | get_rank () const |
| | Returns rank of this process in the world.
|
| |
| int64_t | get_rowdim () const |
| | Returns length of row.
|
| |
| World & | get_world () const |
| | Returns a reference to the world.
|
| |
| virtual void | kernel (int i, int j, double *rowi, double *rowj)=0 |
| | Threadsafe routine to apply the operation to rows i and j of the matrix.
|
| |
| void | run (World &world, const TaskThreadEnv &env) |
| | Invoked by the task queue to run the algorithm with multiple threads.
|
| |
| void | solve_sequential () |
| | Invoked by the user to run the algorithm with one thread mostly for debugging.
|
| |
| | TaskInterface (const TaskAttributes &attr) |
| | Create a new task with zero dependencies and given attributes.
|
| |
| | TaskInterface (int ndepend, const char *caller, const TaskAttributes attr=TaskAttributes()) |
| |
| | TaskInterface (int ndepend=0, const TaskAttributes attr=TaskAttributes()) |
| | Create a new task with ndepend dependencies (default 0) and given attributes.
|
| |
| virtual | ~TaskInterface () |
| |
| World * | get_world () const |
| |
| virtual void | run (World &) |
| | Runs a single-threaded task ... derived classes must implement this.
|
| |
| | PoolTaskInterface () |
| | Default constructor.
|
| |
| | PoolTaskInterface (const TaskAttributes &attr) |
| |
| virtual | ~PoolTaskInterface ()=default |
| | Destructor.
|
| |
| void | execute () |
| |
| void | set_nthread (int nthread) |
| | Call this to reset the number of threads before the task is submitted.
|
| |
| | TaskAttributes (const TaskAttributes &attr) |
| | Copy constructor.
|
| |
| | TaskAttributes (unsigned long flags=0) |
| | Sets the attributes to the desired values.
|
| |
| virtual | ~TaskAttributes () |
| |
| int | get_nthread () const |
| | Get the number of threads.
|
| |
| bool | is_generator () const |
| | Test if the generator attribute is true.
|
| |
| bool | is_high_priority () const |
| | Test if the high priority attribute is true.
|
| |
| bool | is_stealable () const |
| | Test if the stealable attribute is true.
|
| |
| template<typename Archive > |
| void | serialize (Archive &ar) |
| | Serializes the attributes for I/O.
|
| |
| TaskAttributes & | set_generator (bool generator_hint) |
| | Sets the generator attribute.
|
| |
| TaskAttributes & | set_highpriority (bool hipri) |
| | Sets the high priority attribute.
|
| |
| void | set_nthread (int nthread) |
| | Set the number of threads.
|
| |
| TaskAttributes & | set_stealable (bool stealable) |
| | Sets the stealable attribute.
|
| |
| | DependencyInterface (int ndep, const char *caller) |
| |
| | DependencyInterface (int ndep=0) |
| |
| virtual | ~DependencyInterface () |
| | Destructor.
|
| |
| void | dec () |
| | Decrement the number of dependencies and invoke the callback if ndepend==0.
|
| |
| void | dec_debug (const char *caller) |
| |
| void | inc () |
| | Increment the number of dependencies.
|
| |
| void | inc_debug (const char *caller) |
| | Same as inc(), but keeps track of caller; calling dec_debug() will signal error if no matching inc_debug() had been invoked
|
| |
| int | ndep () const |
| | Returns the number of unsatisfied dependencies.
|
| |
| void | notify () |
| | Invoked by callbacks to notify of dependencies being satisfied.
|
| |
| void | notify_debug (const char *caller) |
| | Overload of CallbackInterface::notify_debug(), updates dec()
|
| |
| bool | probe () const |
| | Returns true if ndepend == 0 (no unsatisfied dependencies).
|
| |
| void | register_callback (CallbackInterface *callback) |
| | Registers a callback that will be executed when ndepend==0; immediately invoked if ndepend==0.
|
| |
| void | register_final_callback (CallbackInterface *callback) |
| | Registers the final callback to be executed when ndepend==0; immediately invoked if ndepend==0.
|
| |
| virtual | ~CallbackInterface () |
| |