Go to file
Rasmus Munk Larsen e2999d4c38 Fix performance regressions due to https://bitbucket.org/eigen/eigen/pull-requests/662.
The change caused the device struct to be copied for each expression evaluation, and caused, e.g., a 10% regression in the TensorFlow multinomial op on GPU:


Benchmark                       Time(ns)        CPU(ns)     Iterations
----------------------------------------------------------------------
BM_Multinomial_gpu_1_100000_4     128173         231326           2922  1.610G items/s

VS

Benchmark                       Time(ns)        CPU(ns)     Iterations
----------------------------------------------------------------------
BM_Multinomial_gpu_1_100000_4     146683         246914           2719  1.509G items/s
2019-08-02 11:18:13 -07:00
bench update wrt recent changes 2019-02-21 17:19:36 +01:00
blas Split the implementation of i?amax/min into two. Based on PR-627 by Sameer Agarwal. 2019-04-15 17:18:03 +02:00
cmake Simplify handling of tests that must fail to compile. 2018-12-12 15:48:36 +01:00
debug
demos
doc Added leading asterisk for Doxygen to consume as it was removing asterisk intended to be part of the code. 2019-07-18 18:12:14 +00:00
Eigen Remove {} accidentally added in previous commit 2019-07-18 20:22:17 +02:00
failtest PR 572: Add initializer list constructors to Matrix and Array (include unit tests and doc) 2019-01-21 16:25:57 +01:00
lapack Enable "old" CMP0026 policy (not perfect, but better than dozens of warning) 2018-12-08 18:59:51 +01:00
scripts
test [SYCL] This PR adds the minimum modifications to Eigen core required to run Eigen unsupported modules on devices supporting SYCL. 2019-06-27 12:25:09 +01:00
unsupported Fix performance regressions due to https://bitbucket.org/eigen/eigen/pull-requests/662. 2019-08-02 11:18:13 -07:00
.hgeol
.hgignore
CMakeLists.txt Bypass inline asm for non compatible compilers. 2019-01-23 23:43:13 +01:00
COPYING.BSD
COPYING.GPL
COPYING.LGPL
COPYING.MINPACK
COPYING.MPL2
COPYING.README
CTestConfig.cmake
CTestCustom.cmake.in
eigen3.pc.in
INSTALL
README.md
signature_of_eigen3_matrix_library

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

For more information go to http://eigen.tuxfamily.org/.

For pull request please only use the official repository at https://bitbucket.org/eigen/eigen.

For bug reports and feature requests go to http://eigen.tuxfamily.org/bz.