Fix Thread tests

This commit is contained in:
Tobias Wood 2024-05-24 16:50:14 +00:00 committed by Charles Schlosser
parent c4d84dfddc
commit 5a9f66fb35
2 changed files with 4 additions and 4 deletions

View File

@ -348,6 +348,7 @@ using std::ptrdiff_t;
#include "src/Core/TriangularMatrix.h" #include "src/Core/TriangularMatrix.h"
#include "src/Core/SelfAdjointView.h" #include "src/Core/SelfAdjointView.h"
#include "src/Core/products/GeneralBlockPanelKernel.h" #include "src/Core/products/GeneralBlockPanelKernel.h"
#include "src/Core/DeviceWrapper.h"
#ifdef EIGEN_GEMM_THREADPOOL #ifdef EIGEN_GEMM_THREADPOOL
#include "ThreadPool" #include "ThreadPool"
#endif #endif
@ -404,7 +405,6 @@ using std::ptrdiff_t;
#endif #endif
#include "src/Core/GlobalFunctions.h" #include "src/Core/GlobalFunctions.h"
#include "src/Core/DeviceWrapper.h"
// IWYU pragma: end_exports // IWYU pragma: end_exports
#include "src/Core/util/ReenableStupidWarnings.h" #include "src/Core/util/ReenableStupidWarnings.h"

View File

@ -77,7 +77,7 @@ struct CoreThreadPoolDevice {
Index size = end - begin; Index size = end - begin;
eigen_assert(size % PacketSize == 0 && "this function assumes size is a multiple of PacketSize"); eigen_assert(size % PacketSize == 0 && "this function assumes size is a multiple of PacketSize");
Index mid = begin + numext::round_down(size >> 1, PacketSize); Index mid = begin + numext::round_down(size >> 1, PacketSize);
Task right = [=, this, &f, &barrier]() { Task right = [this, mid, end, &f, &barrier, level]() {
parallelForImpl<UnaryFunctor, PacketSize>(mid, end, f, barrier, level); parallelForImpl<UnaryFunctor, PacketSize>(mid, end, f, barrier, level);
}; };
m_pool.Schedule(std::move(right)); m_pool.Schedule(std::move(right));
@ -96,7 +96,7 @@ struct CoreThreadPoolDevice {
Index outerSize = outerEnd - outerBegin; Index outerSize = outerEnd - outerBegin;
if (outerSize > 1) { if (outerSize > 1) {
Index outerMid = outerBegin + (outerSize >> 1); Index outerMid = outerBegin + (outerSize >> 1);
Task right = [=, this, &f, &barrier]() { Task right = [this, &f, &barrier, outerMid, outerEnd, innerBegin, innerEnd, level]() {
parallelForImpl<BinaryFunctor, PacketSize>(outerMid, outerEnd, innerBegin, innerEnd, f, barrier, level); parallelForImpl<BinaryFunctor, PacketSize>(outerMid, outerEnd, innerBegin, innerEnd, f, barrier, level);
}; };
m_pool.Schedule(std::move(right)); m_pool.Schedule(std::move(right));
@ -105,7 +105,7 @@ struct CoreThreadPoolDevice {
Index innerSize = innerEnd - innerBegin; Index innerSize = innerEnd - innerBegin;
eigen_assert(innerSize % PacketSize == 0 && "this function assumes innerSize is a multiple of PacketSize"); eigen_assert(innerSize % PacketSize == 0 && "this function assumes innerSize is a multiple of PacketSize");
Index innerMid = innerBegin + numext::round_down(innerSize >> 1, PacketSize); Index innerMid = innerBegin + numext::round_down(innerSize >> 1, PacketSize);
Task right = [=, this, &f, &barrier]() { Task right = [this, &f, &barrier, outerBegin, outerEnd, innerMid, innerEnd, level]() {
parallelForImpl<BinaryFunctor, PacketSize>(outerBegin, outerEnd, innerMid, innerEnd, f, barrier, level); parallelForImpl<BinaryFunctor, PacketSize>(outerBegin, outerEnd, innerMid, innerEnd, f, barrier, level);
}; };
m_pool.Schedule(std::move(right)); m_pool.Schedule(std::move(right));