![]() |
Reference documentation for deal.II version 8.1.0
|
#include <work_stream.h>
Classes | |
struct | ScratchAndCopyDataObjects |
Public Types | |
typedef std::list< ScratchAndCopyDataObjects > | ScratchAndCopyDataList |
Public Member Functions | |
ItemType () | |
Public Attributes | |
std::vector< Iterator > | work_items |
unsigned int | n_items |
Threads::ThreadLocalStorage< ScratchAndCopyDataList > * | scratch_and_copy_data |
const ScratchData * | sample_scratch_data |
const CopyData * | sample_copy_data |
bool | currently_in_use |
A data type that we use to identify items to be worked on. This is the structure that is passed around between the different parts of the WorkStream implementation to identify what needs to be done by the various stages of the pipeline.
Definition at line 736 of file work_stream.h.
typedef std::list<ScratchAndCopyDataObjects> WorkStream::internal::Implementation3::IteratorRangeToItemStream< Iterator, ScratchData, CopyData >::ItemType::ScratchAndCopyDataList |
Typedef to a list of scratch data objects. The rationale for this list is provided in the variables that use these lists.
Definition at line 786 of file work_stream.h.
|
inline |
Default constructor. Initialize everything that doesn't have a default constructor itself.
Definition at line 832 of file work_stream.h.
std::vector<Iterator> WorkStream::internal::Implementation3::IteratorRangeToItemStream< Iterator, ScratchData, CopyData >::ItemType::work_items |
A list of iterators that need to be worked on. Only the first n_items are relevant.
Definition at line 792 of file work_stream.h.
unsigned int WorkStream::internal::Implementation3::IteratorRangeToItemStream< Iterator, ScratchData, CopyData >::ItemType::n_items |
Number of items identified by the work_items array that the Worker and Copier pipeline stage need to work on. The maximum value of this variable will be chunk_size.
Definition at line 799 of file work_stream.h.
Threads::ThreadLocalStorage<ScratchAndCopyDataList>* WorkStream::internal::Implementation3::IteratorRangeToItemStream< Iterator, ScratchData, CopyData >::ItemType::scratch_and_copy_data |
Pointer to a thread local variable identifying the scratch and copy data objects this thread will use. The same considerations apply as documented in the Implementation2::IteratorRangeToItemStream class as well as in the paper by Turcksin, Kronbichler and Bangerth (see workstream_paper).
Definition at line 808 of file work_stream.h.
const ScratchData* WorkStream::internal::Implementation3::IteratorRangeToItemStream< Iterator, ScratchData, CopyData >::ItemType::sample_scratch_data |
Pointer to a sample scratch data object, to be used to initialize the scratch data objects created for each individual thread.
Definition at line 814 of file work_stream.h.
const CopyData* WorkStream::internal::Implementation3::IteratorRangeToItemStream< Iterator, ScratchData, CopyData >::ItemType::sample_copy_data |
Pointer to a sample copy data object.
Definition at line 819 of file work_stream.h.
bool WorkStream::internal::Implementation3::IteratorRangeToItemStream< Iterator, ScratchData, CopyData >::ItemType::currently_in_use |
Flag is true if the buffer is used and false if the buffer can be used.
Definition at line 825 of file work_stream.h.