Peano
Loading...
Searching...
No Matches
multicore.h File Reference
#include <string>
#include <set>
#include <vector>
#include <list>
#include <limits>
#include "config.h"
#include "tarch/compiler/CompilerSpecificSettings.h"
#include "tarch/multicore/orchestration/Strategy.h"
Include dependency graph for multicore.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
 

Functions

void tarch::multicore::initSmartMPI ()
 Switch on SmartMPI.
 
void tarch::multicore::shutdownSmartMPI ()
 
void tarch::multicore::setOrchestration (tarch::multicore::orchestration::Strategy *realisation)
 
tarch::multicore::orchestration::Strategytarch::multicore::swapOrchestration (tarch::multicore::orchestration::Strategy *realisation)
 Swap the active orchestration.
 
tarch::multicore::orchestration::Strategytarch::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)
 Wait for set of tasks.
 
void tarch::multicore::waitForTask (const int taskNumber)
 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::processFusedTask (Task *myTask, const std::list< tarch::multicore::Task * > &tasksOfSameType, int device)
 Process a fused task.
 
void tarch::multicore::waitForAllTasks ()
 

Variables

constexpr TaskNumber tarch::multicore::NoOutDependencies = -1
 
const std::set< TaskNumbertarch::multicore::NoInDependencies = std::set<TaskNumber>()
 

Macro Definition Documentation

◆ SharedMemoryParallelisation

#define SharedMemoryParallelisation

Definition at line 15 of file multicore.h.