deal.II version 9.7.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
WorkStream::internal::taskflow_no_coloring Namespace Reference

Functions

template<typename Worker, typename Copier, typename Iterator, typename ScratchData, typename CopyData>
void run (const Iterator &begin, const std_cxx20::type_identity_t< Iterator > &end, Worker worker, Copier copier, const ScratchData &sample_scratch_data, const CopyData &sample_copy_data, const unsigned int=2 *MultithreadInfo::n_threads(), const unsigned int chunk_size=8)

Detailed Description

Mostly a copy of the 2nd implementation of the Workstream paper taking advantage of thread local lists for re-use. Uses taskflow for task scheduling rather than TBB. Currently does not support chunking.

Function Documentation

◆ run()

template<typename Worker, typename Copier, typename Iterator, typename ScratchData, typename CopyData>
void WorkStream::internal::taskflow_no_coloring::run ( const Iterator & begin,
const std_cxx20::type_identity_t< Iterator > & end,
Worker worker,
Copier copier,
const ScratchData & sample_scratch_data,
const CopyData & sample_copy_data,
const unsigned int = 2 * MultithreadInfo::n_threads(),
const unsigned int chunk_size = 8 )

The main run function for the taskflow colorless implementation. The last two arguments in this function are for chunking support which currently does not exist but ideally will later. For now they are ignored but still here to permit existing programs to function

Definition at line 736 of file work_stream.h.