|
Peano
|
#include <string>#include <set>#include <vector>#include <list>#include <limits>#include "config.h"#include "tarch/compiler/CompilerSpecificSettings.h"#include "tarch/multicore/orchestration/Strategy.h"

Go to the source code of this file.
Namespaces | |
| namespace | tarch |
| Have to include this header, as I need access to the SYCL_EXTERNAL keyword. | |
| namespace | tarch::multicore |
| This page describes Peano 4's multithreading namespace. | |
| namespace | tarch::multicore::native |
Macros | |
| #define | SharedMemoryParallelisation |
Typedefs | |
| using | tarch::multicore::TaskNumber = int |
Enumerations | |
| enum class | tarch::multicore::TaskWaitType { tarch::multicore::Mixed , tarch::multicore::ExclusivelyFusedTasks , tarch::multicore::OnlyNativeTasks } |
| This is a hint type which can be used to accelerate any taskwaits. More... | |
Functions | |
| std::string | tarch::multicore::toString (const std::set< TaskNumber > &taskNumbers) |
| Construct string representation. | |
| void | tarch::multicore::initSmartMPI () |
| Switch on SmartMPI. | |
| void | tarch::multicore::shutdownSmartMPI () |
| void | tarch::multicore::setOrchestration (tarch::multicore::orchestration::Strategy *realisation) |
| tarch::multicore::orchestration::Strategy * | tarch::multicore::swapOrchestration (tarch::multicore::orchestration::Strategy *realisation) |
| Swap the active orchestration. | |
| tarch::multicore::orchestration::Strategy & | tarch::multicore::getOrchestration () |
| void | tarch::multicore::spawnTask (Task *task, const std::set< TaskNumber > &inDependencies=tarch::multicore::NoInDependencies, const TaskNumber &taskNumber=tarch::multicore::NoOutDependencies) |
| Spawns a single task in a non-blocking fashion. | |
| void | tarch::multicore::waitForTasks (const std::set< TaskNumber > &inDependencies, TaskWaitType taskWaitType=TaskWaitType::Mixed) |
| Wait for set of tasks. | |
| void | tarch::multicore::waitForTask (const int taskNumber, TaskWaitType taskWaitType=TaskWaitType::Mixed) |
| Wrapper around waitForTasks() with a single-element set. | |
| void | tarch::multicore::spawnAndWait (const std::vector< Task * > &tasks) |
| Fork-join task submission pattern. | |
| void | tarch::multicore::native::spawnAndWaitAsTaskLoop (const std::vector< tarch::multicore::Task * > &tasks) |
| Map onto native tasking. | |
| void | tarch::multicore::native::spawnTask (Task *task, const std::set< TaskNumber > &inDependencies, const TaskNumber &taskNumber) |
| Spawn a new task into the tasking backend. | |
| void | tarch::multicore::native::waitForTasks (const std::set< TaskNumber > &inDependencies) |
| Wait for other task. | |
| void | tarch::multicore::native::waitForAllTasks () |
| Slightly different than the umbrella version in the general namespace. | |
| void | tarch::multicore::waitForAllTasks () |
| Wait for all tasks notably has to take fused tasks into account. | |
Variables | |
| constexpr TaskNumber | tarch::multicore::NoOutDependencies = -1 |
| const std::set< TaskNumber > | tarch::multicore::NoInDependencies = std::set<TaskNumber>() |
| const std::string | tarch::multicore::SpawnedTasksStatisticsIdentifier |
| Statistics identifier for spawned tasks. | |
| const std::string | tarch::multicore::SpawnedFusableTasksStatisticsIdentifier |
| Number of fusable tasks over time Please consult std::string SpawnedTasksStatisticsIdentifier for a description. | |
| const std::string | tarch::multicore::BSPConcurrencyLevelStatisticsIdentifier |
| Statistics identifier for active BSP sections. | |
| #define SharedMemoryParallelisation |
Definition at line 15 of file multicore.h.