Template Class TaskWorker

Class Documentation

template<typename CombiDataType = double>
class TaskWorker

The TaskWorker class is responsible for managing the component grids, and for operations that use them within the process group only.

Public Functions

inline void dehierarchizeFullGrids(const std::vector<BoundaryType> &boundary, const std::vector<bool> &hierarchizationDims, const std::vector<BasisFunctionType> &hierarchicalBases, const LevelVector &lmin, HierarchizationBackend backend = HierarchizationBackend::DISCOTEC)

dehierarchize all full grids

inline void deleteTasks()

delete all tasks

inline std::unique_ptr<Task<CombiDataType>> &getLastTask()

get a reference to the last task

inline std::vector<double> getLpNorms(int p) const

get the Lp norms of the current component grids

inline const std::vector<std::unique_ptr<Task<CombiDataType>>> &getTasks() const

get a reference to the tasks container

inline void hierarchizeFullGrids(const std::vector<BoundaryType> &boundary, const std::vector<bool> &hierarchizationDims, const std::vector<BasisFunctionType> &hierarchicalBases, const LevelVector &lmin, HierarchizationBackend backend = HierarchizationBackend::DISCOTEC)

hierarchize all full grids

inline void initializeTask(std::unique_ptr<Task<CombiDataType>> t, LevelVectorList const &taskDecomposition, CommunicatorType taskCommunicator)

initialize a task, takes over ownership of the task too

inline void removeTask(size_t index)

remove a task from the task storage

inline void runAllTasks()

run all tasks by calling their run method