mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-09-12 17:33:15 +08:00
Fixed the thread pool test
This commit is contained in:
parent
498b7eed25
commit
a991f94c0e
@ -47,8 +47,8 @@
|
|||||||
// protected by parenthesis against macro expansion, the min()/max() macros
|
// protected by parenthesis against macro expansion, the min()/max() macros
|
||||||
// are defined here and any not-parenthesized min/max call will cause a
|
// are defined here and any not-parenthesized min/max call will cause a
|
||||||
// compiler error.
|
// compiler error.
|
||||||
#define min(A,B) please_protect_your_min_with_parentheses
|
//#define min(A,B) please_protect_your_min_with_parentheses
|
||||||
#define max(A,B) please_protect_your_max_with_parentheses
|
//#define max(A,B) please_protect_your_max_with_parentheses
|
||||||
|
|
||||||
#define FORBIDDEN_IDENTIFIER (this_identifier_is_forbidden_to_avoid_clashes) this_identifier_is_forbidden_to_avoid_clashes
|
#define FORBIDDEN_IDENTIFIER (this_identifier_is_forbidden_to_avoid_clashes) this_identifier_is_forbidden_to_avoid_clashes
|
||||||
// B0 is defined in POSIX header termios.h
|
// B0 is defined in POSIX header termios.h
|
||||||
|
@ -131,7 +131,7 @@ class TensorExecutor<Expression, ThreadPoolDevice, Vectorizable>
|
|||||||
const Index numblocks = size / blocksize;
|
const Index numblocks = size / blocksize;
|
||||||
|
|
||||||
Index i = 0;
|
Index i = 0;
|
||||||
vector<std::future<void> > results;
|
std::vector<std::future<void> > results;
|
||||||
results.reserve(numblocks);
|
results.reserve(numblocks);
|
||||||
for (int i = 0; i < numblocks; ++i) {
|
for (int i = 0; i < numblocks; ++i) {
|
||||||
results.push_back(std::async(std::launch::async, &EvalRange<Evaluator, Index>::run, &evaluator, i*blocksize, (i+1)*blocksize));
|
results.push_back(std::async(std::launch::async, &EvalRange<Evaluator, Index>::run, &evaluator, i*blocksize, (i+1)*blocksize));
|
||||||
|
@ -122,5 +122,5 @@ if(EIGEN_TEST_CXX11)
|
|||||||
# ei_add_test(cxx11_tensor_shuffling "-std=c++0x")
|
# ei_add_test(cxx11_tensor_shuffling "-std=c++0x")
|
||||||
ei_add_test(cxx11_tensor_striding "-std=c++0x")
|
ei_add_test(cxx11_tensor_striding "-std=c++0x")
|
||||||
# ei_add_test(cxx11_tensor_device "-std=c++0x")
|
# ei_add_test(cxx11_tensor_device "-std=c++0x")
|
||||||
# ei_add_test(cxx11_tensor_thread_pool "-std=c++0x")
|
ei_add_test(cxx11_tensor_thread_pool "-std=c++0x")
|
||||||
endif()
|
endif()
|
||||||
|
@ -17,9 +17,9 @@ using Eigen::Tensor;
|
|||||||
|
|
||||||
void test_cxx11_tensor_thread_pool()
|
void test_cxx11_tensor_thread_pool()
|
||||||
{
|
{
|
||||||
Eigen::Tensor<float, 3> in1(Eigen::array<ptrdiff_t, 3>(2,3,7));
|
Eigen::Tensor<float, 3> in1(2,3,7);
|
||||||
Eigen::Tensor<float, 3> in2(Eigen::array<ptrdiff_t, 3>(2,3,7));
|
Eigen::Tensor<float, 3> in2(2,3,7);
|
||||||
Eigen::Tensor<float, 3> out(Eigen::array<ptrdiff_t, 3>(2,3,7));
|
Eigen::Tensor<float, 3> out(2,3,7);
|
||||||
|
|
||||||
in1.setRandom();
|
in1.setRandom();
|
||||||
in2.setRandom();
|
in2.setRandom();
|
||||||
@ -30,7 +30,7 @@ void test_cxx11_tensor_thread_pool()
|
|||||||
for (int i = 0; i < 2; ++i) {
|
for (int i = 0; i < 2; ++i) {
|
||||||
for (int j = 0; j < 3; ++j) {
|
for (int j = 0; j < 3; ++j) {
|
||||||
for (int k = 0; k < 7; ++k) {
|
for (int k = 0; k < 7; ++k) {
|
||||||
VERIFY_IS_APPROX(out(Eigen::array<ptrdiff_t, 3>(i,j,k)), in1(Eigen::array<ptrdiff_t, 3>(i,j,k)) + in2(Eigen::array<ptrdiff_t, 3>(i,j,k)) * 3.14f);
|
VERIFY_IS_APPROX(out(i,j,k), in1(i,j,k) + in2(i,j,k) * 3.14f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user