#include <Barrier.h>
◆ Barrier()
#define eigen_plain_assert(condition)
Definition: Assert.h:148
bool notified_
Definition: Barrier.h:56
std::atomic< unsigned int > state_
Definition: Barrier.h:55
References eigen_plain_assert.
◆ ~Barrier()
Eigen::Barrier::~Barrier |
( |
| ) |
|
|
inline |
◆ Notify()
void Eigen::Barrier::Notify |
( |
| ) |
|
|
inline |
29 unsigned int v =
state_.fetch_sub(2, std::memory_order_acq_rel) - 2;
37 EIGEN_MUTEX_LOCK l(
mu_);
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
EIGEN_CONDVAR cv_
Definition: Barrier.h:54
EIGEN_MUTEX mu_
Definition: Barrier.h:53
References cv_, eigen_plain_assert, mu_, notified_, state_, and v.
Referenced by Eigen::ForkJoinScheduler::ParallelFor(), Eigen::CoreThreadPoolDevice::parallelForImpl(), test_async_execute_binary_expr(), test_async_execute_unary_expr(), test_async_multithread_contraction_agrees_with_singlethread(), test_async_parallel_for(), test_large_number_of_tasks_no_spill(), test_large_number_of_tasks_with_spill(), and test_simple_thread_local().
◆ Wait()
void Eigen::Barrier::Wait |
( |
| ) |
|
|
inline |
44 unsigned int v =
state_.fetch_or(1, std::memory_order_acq_rel);
45 if ((
v >> 1) == 0)
return;
46 EIGEN_MUTEX_LOCK l(
mu_);
References cv_, mu_, notified_, state_, and v.
Referenced by Eigen::CoreThreadPoolDevice::parallelFor(), Eigen::ForkJoinScheduler::ParallelFor(), test_async_execute_binary_expr(), test_async_execute_unary_expr(), test_async_multithread_contraction_agrees_with_singlethread(), test_async_parallel_for(), test_large_number_of_tasks_no_spill(), test_large_number_of_tasks_with_spill(), and test_simple_thread_local().
◆ cv_
EIGEN_CONDVAR Eigen::Barrier::cv_ |
|
private |
◆ mu_
EIGEN_MUTEX Eigen::Barrier::mu_ |
|
private |
◆ notified_
bool Eigen::Barrier::notified_ |
|
private |
◆ state_
The documentation for this class was generated from the following file: