10#ifndef EIGEN_PARALLELIZER_H
11#define EIGEN_PARALLELIZER_H
13#if EIGEN_HAS_CXX11_ATOMIC
35 #ifdef EIGEN_HAS_OPENMP
57 std::ptrdiff_t l1, l2, l3;
87#if EIGEN_HAS_CXX11_ATOMIC
88 std::atomic<Index>
sync;
89 std::atomic<int>
users;
99template<
bool Condition,
typename Functor,
typename Index>
107#if (! defined(EIGEN_HAS_OPENMP)) || defined(EIGEN_USE_BLAS) || ((!EIGEN_HAS_CXX11_ATOMIC) && !(EIGEN_ARCH_i386_OR_x86_64))
129 double work =
static_cast<double>(
rows) *
static_cast<double>(
cols) *
130 static_cast<double>(
depth);
144 func.initParallelSession(threads);
151 #pragma omp parallel num_threads(threads)
159 blockRows = (blockRows/Functor::Traits::mr)*Functor::Traits::mr;
Array< int, Dynamic, 1 > v
Definition Array_initializer_list_vector_cxx11.cpp:1
int i
Definition BiCGSTAB_step_by_step.cpp:9
#define eigen_internal_assert(x)
Definition Macros.h:1043
#define EIGEN_UNUSED_VARIABLE(var)
Definition Macros.h:1076
#define ei_declare_aligned_stack_constructed_variable(TYPE, NAME, SIZE, BUFFER)
Definition Memory.h:768
int rows
Definition Tutorial_commainit_02.cpp:1
int cols
Definition Tutorial_commainit_02.cpp:1
Scalar Scalar int size
Definition benchVecAdd.cpp:17
else if n * info
Definition cholesky.cpp:18
DenseIndex ret
Definition level1_cplx_impl.h:44
void parallelize_gemm(const Functor &func, Index rows, Index cols, Index depth, bool transpose)
Definition Parallelizer.h:100
void manage_multi_threading(Action action, int *v)
Definition Parallelizer.h:22
void manage_caching_sizes(Action action, std::ptrdiff_t *l1, std::ptrdiff_t *l2, std::ptrdiff_t *l3)
Definition GeneralBlockPanelKernel.h:86
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
Action
Definition Constants.h:504
@ GetAction
Definition Constants.h:504
@ SetAction
Definition Constants.h:504
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
void initParallel()
Definition Parallelizer.h:53
int nbThreads()
Definition Parallelizer.h:63
void setNbThreads(int v)
Definition Parallelizer.h:72
Definition BandTriangularSolver.h:13
Definition Parallelizer.h:80
GemmParallelInfo()
Definition Parallelizer.h:81
Index lhs_length
Definition Parallelizer.h:96
Index lhs_start
Definition Parallelizer.h:95
Index volatile sync
Definition Parallelizer.h:91
int volatile users
Definition Parallelizer.h:92
Definition ForwardDeclarations.h:17
Definition NonLinearOptimization.cpp:118
Definition benchGeometry.cpp:23