Peano
Loading...
Searching...
No Matches
Tasks.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
5
6namespace tarch {
7 namespace multicore {
8 namespace omp {
96 namespace internal {
97 using DependencyTrackingDataType = unsigned short int;
98
105
145
198 const std::vector<tarch::multicore::TaskNumber>& inDependencies,
199 const std::vector<tarch::multicore::TaskNumber>& outDependency
200 );
201
296 std::vector<tarch::multicore::TaskNumber> inDependencies,
297 const std::vector<tarch::multicore::TaskNumber>& outDependency
298 );
299
312 void reserveDependencyTrackingMemory( int taskNumber );
313
326 bool canServeDependencyEntry(int taskNumber);
327
339 bool hasTaskFinishedInOpenMP5( const std::vector<tarch::multicore::TaskNumber>& inDependencies );
340 }
341 }
342 }
343}
Abstract super class for a job.
Definition Task.h:21
bool canServeDependencyEntry(int taskNumber)
Can I serve a certain dependency.
std::string OpenMP5TaskStatus(DependencyTrackingDataType)
Translate task marker into string.
void spawnTaskWithOpenMP5(tarch::multicore::Task *job, std::vector< tarch::multicore::TaskNumber > inDependencies, const std::vector< tarch::multicore::TaskNumber > &outDependency)
Variant of spawn for all OpenMP versions under 6.
bool hasTaskFinishedInOpenMP5(const std::vector< tarch::multicore::TaskNumber > &inDependencies)
This is the counterpart to hasTaskFinishedInOpenMP6.
unsigned short int DependencyTrackingDataType
Definition Tasks.h:97
void spawnTaskWithOpenMP6(tarch::multicore::Task *job, const std::vector< tarch::multicore::TaskNumber > &inDependencies, const std::vector< tarch::multicore::TaskNumber > &outDependency)
Spawn task using OpenMP 6 syntax.
void reserveDependencyTrackingMemory()
Grow the memory region used for the dependency tracking.
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
Definition accelerator.h:19