![]() |
|
#include <CoreThreadPoolDevice.h>
Public Types | |
using | Task = std::function< void()> |
Public Member Functions | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE | CoreThreadPoolDevice (ThreadPool &pool, float threadCostThreshold=3e-5f) |
template<int PacketSize> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE int | calculateLevels (Index size, float cost) const |
template<typename UnaryFunctor , int PacketSize> | |
EIGEN_DEVICE_FUNC EIGEN_PARALLEL_FOR_INLINE void | parallelForImpl (Index begin, Index end, UnaryFunctor &f, Barrier &barrier, int level) |
template<typename BinaryFunctor , int PacketSize> | |
EIGEN_DEVICE_FUNC EIGEN_PARALLEL_FOR_INLINE void | parallelForImpl (Index outerBegin, Index outerEnd, Index innerBegin, Index innerEnd, BinaryFunctor &f, Barrier &barrier, int level) |
template<typename UnaryFunctor , int PacketSize> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | parallelFor (Index begin, Index end, UnaryFunctor &f, float cost) |
template<typename BinaryFunctor , int PacketSize> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | parallelFor (Index outerBegin, Index outerEnd, Index innerBegin, Index innerEnd, BinaryFunctor &f, float cost) |
Public Attributes | |
ThreadPool & | m_pool |
float | m_costFactor |
using Eigen::CoreThreadPoolDevice::Task = std::function<void()> |
|
inline |
References eigen_assert, and m_costFactor.
|
inline |
References eigen_assert, Eigen::internal::log2_ceil(), m_costFactor, m_pool, Eigen::numext::maxi(), Eigen::numext::mini(), Eigen::ThreadPoolTempl< Environment >::NumThreads(), and size.
|
inline |
References Eigen::placeholders::end, f(), size, and Eigen::Barrier::Wait().
|
inline |
References f(), size, and Eigen::Barrier::Wait().
|
inline |
References eigen_assert, Eigen::placeholders::end, f(), i, m_pool, Eigen::Barrier::Notify(), Eigen::numext::round_down(), Eigen::ThreadPoolTempl< Environment >::Schedule(), and size.
|
inline |
References eigen_assert, f(), m_pool, Eigen::Barrier::Notify(), Eigen::numext::round_down(), and Eigen::ThreadPoolTempl< Environment >::Schedule().
float Eigen::CoreThreadPoolDevice::m_costFactor |
Referenced by calculateLevels(), and CoreThreadPoolDevice().
ThreadPool& Eigen::CoreThreadPoolDevice::m_pool |
Referenced by calculateLevels(), and parallelForImpl().