eigen/unsupported/test
Rasmus Munk Larsen 344c2694a6 Make the non-blocking threadpool more flexible and less wasteful of CPU cycles for high-latency use-cases.
* Adds a hint to ThreadPool allowing us to turn off spin waiting. Currently each reader and record yielder op in a graph creates a threadpool with a thread that spins for 1000 iterations through the work stealing loop before yielding. This is wasteful for such ops that process I/O.

* This also changes the number of iterations through the steal loop to be inversely proportional to the number of threads. Since the time of each iteration is proportional to the number of threads, this yields roughly a constant spin time.

* Implement a separate worker loop for the num_threads == 1 case since there is no point in going through the expensive steal loop. Moreover, since Steal() calls PopBack() on the victim queues it might reverse the order in which ops are executed, compared to the order in which they are scheduled, which is usually counter-productive for the types of I/O workloads the single thread pools tend to be used for.

* Store num_threads in a member variable for simplicity and to avoid a data race between the thread creation loop and worker threads calling threads_.size().
2017-03-09 15:41:03 -08:00
..
mpreal fixed macro name 2016-05-22 16:49:29 +02:00
alignedvector3.cpp
autodiff_scalar.cpp Add autodiff coverage for standard library hyperbolic functions, and tests. 2016-06-15 23:33:19 -07:00
autodiff.cpp Made AutoDiffJacobian more intuitive to use and updated for C++11 2016-09-16 14:03:55 +02:00
BVH.cpp
CMakeLists.txt Adding TensorChippingOP for sycl backend; fixing the index value in the verification operation for cxx11_tensorChipping.cpp test 2017-02-13 17:25:12 +00:00
cxx11_eventcount.cpp Properly size the list of waiters 2016-09-12 10:31:55 -07:00
cxx11_meta.cpp
cxx11_non_blocking_thread_pool.cpp Make the non-blocking threadpool more flexible and less wasteful of CPU cycles for high-latency use-cases. 2017-03-09 15:41:03 -08:00
cxx11_runqueue.cpp fixed some double-promotion and sign-compare warnings 2016-05-11 23:02:26 +02:00
cxx11_tensor_argmax_cuda.cu Cleaned up a regression test 2016-10-08 19:12:44 +00:00
cxx11_tensor_argmax.cpp
cxx11_tensor_assign.cpp Make EIGEN_HAS_VARIADIC_TEMPLATES user configurable 2016-05-20 15:05:38 +02:00
cxx11_tensor_broadcast_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_broadcasting.cpp Make EIGEN_HAS_CONSTEXPR user configurable 2016-05-20 15:10:08 +02:00
cxx11_tensor_builtins_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_cast_float16_cuda.cu Fix compilation when cuda_fp16.h does not exist. 2016-09-05 17:14:20 +02:00
cxx11_tensor_casts.cpp
cxx11_tensor_chipping_sycl.cpp Adding TensorChippingOP for sycl backend; fixing the index value in the verification operation for cxx11_tensorChipping.cpp test 2017-02-13 17:25:12 +00:00
cxx11_tensor_chipping.cpp Adding TensorChippingOP for sycl backend; fixing the index value in the verification operation for cxx11_tensorChipping.cpp test 2017-02-13 17:25:12 +00:00
cxx11_tensor_comparisons.cpp
cxx11_tensor_complex_cuda.cu Add a test that GPU complex product reductions match CPU reductions. 2016-10-06 11:10:14 -07:00
cxx11_tensor_complex_cwise_ops_cuda.cu Don't use c++11 features and fix include. 2016-09-20 07:49:05 -07:00
cxx11_tensor_concatenation_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_concatenation.cpp
cxx11_tensor_const.cpp
cxx11_tensor_contract_cuda.cu Fixed a compilation warning 2016-10-28 03:50:31 +00:00
cxx11_tensor_contract_sycl.cpp Converting ptrdiff_t type to int64_t type in cxx11_tensor_contract_sycl.cpp in order to be the same as other tests. 2017-02-01 15:36:03 +00:00
cxx11_tensor_contraction.cpp Updated the contraction code to support constant inputs. 2016-09-01 11:41:27 -07:00
cxx11_tensor_convolution_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_convolution.cpp
cxx11_tensor_cuda.cu Fixed a few more compilation warnings 2016-10-28 04:01:01 +00:00
cxx11_tensor_custom_index.cpp
cxx11_tensor_custom_op.cpp
cxx11_tensor_device_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_device.cu Fix compilation when cuda_fp16.h does not exist. 2016-09-05 17:14:20 +02:00
cxx11_tensor_dimension.cpp fix compilation with c++11 2016-07-07 15:18:23 +02:00
cxx11_tensor_empty.cpp
cxx11_tensor_expr.cpp Make NaN propagatation consistent between the pmax/pmin and std::max/std::min. This makes the NaN propagation consistent between the scalar and vectorized code paths of Eigen's scalar_max_op and scalar_min_op. 2017-01-24 13:32:50 -08:00
cxx11_tensor_fft.cpp
cxx11_tensor_fixed_size.cpp Call internal::array_prod to compute the total size of the tensor. 2016-11-28 09:00:31 -08:00
cxx11_tensor_forced_eval_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_forced_eval.cpp
cxx11_tensor_generator.cpp
cxx11_tensor_ifft.cpp
cxx11_tensor_image_patch.cpp Sharded the tensor_image_patch test to help it run on low power devices 2016-10-27 21:48:21 -07:00
cxx11_tensor_index_list.cpp Added support for statically known lists of pairs of indices 2016-05-25 11:04:14 -07:00
cxx11_tensor_inflation.cpp
cxx11_tensor_intdiv.cpp Fixed compilation warning 2016-05-09 19:24:41 -07:00
cxx11_tensor_io.cpp Add unit test for printing empty tensors 2016-06-23 18:54:30 +02:00
cxx11_tensor_layout_swap.cpp
cxx11_tensor_lvalue.cpp
cxx11_tensor_map.cpp
cxx11_tensor_math.cpp
cxx11_tensor_mixed_indices.cpp
cxx11_tensor_morphing_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_morphing.cpp Split test_slice_in_expr which seems to be huge for visual 2016-07-11 11:46:55 +02:00
cxx11_tensor_notification.cpp Introduce a portable EIGEN_SLEEP macro. 2016-12-09 14:52:15 -08:00
cxx11_tensor_of_complex.cpp
cxx11_tensor_of_const_values.cpp
cxx11_tensor_of_float16_cuda.cu Added support for expm1 in Eigen. 2016-12-02 14:13:01 -08:00
cxx11_tensor_of_strings.cpp
cxx11_tensor_padding_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_padding.cpp
cxx11_tensor_patch.cpp
cxx11_tensor_random_cuda.cu Fix compilation when cuda_fp16.h does not exist. 2016-09-05 17:14:20 +02:00
cxx11_tensor_random.cpp
cxx11_tensor_reduction_cuda.cu Fixed a bug impacting some outer reductions on GPU 2016-09-12 18:36:52 -07:00
cxx11_tensor_reduction_sycl.cpp Adding mean to TensorReductionSycl.h 2017-02-07 15:43:17 +00:00
cxx11_tensor_reduction.cpp Improved partial reductions in more cases 2016-07-22 17:18:20 -07:00
cxx11_tensor_ref.cpp
cxx11_tensor_reverse_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_reverse.cpp
cxx11_tensor_roundings.cpp
cxx11_tensor_scan_cuda.cu Fixed compilation warning 2016-10-28 03:46:08 +00:00
cxx11_tensor_scan.cpp Add missing CUDA kernel to tensor scan op 2016-06-29 11:54:35 +01:00
cxx11_tensor_shuffling_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_shuffling.cpp
cxx11_tensor_simple.cpp Relaxed the resizing checks so that they don't fail with gcc >= 5.3 2016-10-13 10:59:46 -07:00
cxx11_tensor_striding_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_striding.cpp
cxx11_tensor_sugar.cpp Add syntactic sugar to Eigen tensors to allow more natural syntax. 2016-06-02 12:41:28 -07:00
cxx11_tensor_sycl.cpp Reducing warnings in Sycl backend. 2017-02-01 15:29:53 +00:00
cxx11_tensor_symmetry.cpp
cxx11_tensor_thread_pool.cpp Avoid unnecessary conversions between floats and doubles 2016-05-11 23:00:03 -07:00
cxx11_tensor_uint128.cpp
cxx11_tensor_volume_patch.cpp
dgmres.cpp
EulerAngles.cpp Euler tests: Tighter precision when no roll exists and clean code. 2016-10-18 23:24:57 +03:00
FFT.cpp
FFTW.cpp Fix warnings 2016-07-08 11:38:11 +02:00
forward_adolc.cpp
gmres.cpp
kronecker_product.cpp Include missing forward declaration of SparseMatrix 2016-08-29 18:56:46 +02:00
levenberg_marquardt.cpp
matrix_exponential.cpp
matrix_function.cpp Silenced several double-promotion warnings 2016-05-22 18:17:04 +02:00
matrix_functions.h Silenced several double-promotion warnings 2016-05-22 18:17:04 +02:00
matrix_power.cpp Silenced several double-promotion warnings 2016-05-22 18:17:04 +02:00
matrix_square_root.cpp
minres.cpp
mpreal_support.cpp Extend mpreal unit test to check LLT with complexes. 2016-11-05 11:28:53 +01:00
NonLinearOptimization.cpp Removed unnecessary statement 2016-11-05 12:43:27 -07:00
NumericalDiff.cpp
openglsupport.cpp
polynomialsolver.cpp Extend polynomial solver unit tests to complexes 2016-11-23 16:05:45 +01:00
polynomialutils.cpp
sparse_extra.cpp Properly adjust precision when saving to Market format. 2016-12-20 22:10:33 +01:00
special_functions.cpp bug #1232: refactor special functions as a new SpecialFunctions module, currently in unsupported/. 2016-07-08 11:13:55 +02:00
splines.cpp