Commit Graph

6431 Commits

Author SHA1 Message Date
Gael Guennebaud
0f4dd15dfc Declare const some const variables 2015-02-19 23:28:57 +01:00
Benoit Steiner
92ceb02c6d Pulle latest updates from trunk 2015-02-19 11:59:52 -08:00
Benoit Steiner
110fb90250 Improved the documentations 2015-02-19 11:59:04 -08:00
Gael Guennebaud
829dddd0fd Add support for C++11 result_of/lambdas 2015-02-19 15:18:37 +01:00
Benoit Jacob
db05f2d01e rotating kernel: avoid compiling anything outside of ARM 2015-02-18 15:43:52 -05:00
Benoit Jacob
0ed00d5438 remove a newly introduced redundant typedef - sorry. 2015-02-18 15:05:01 -05:00
Benoit Jacob
9bd8a4bab5 bug #955 - Implement a rotating kernel alternative in the 3px4 gebp path
This is substantially faster on ARM, where it's important to minimize the number of loads.

This is specific to the case where all packet types are of size 4. I made my best attempt to minimize how dirty this is... opinions welcome.

Eventually one could have a generic rotated kernel, but it would take some work to get there. Also, on sandy bridge, in my experience, it's not beneficial (even about 1% slower).
2015-02-18 15:03:35 -05:00
Hauke Heibel
ee27d50633 Fixed template parameter. 2015-02-18 18:51:08 +01:00
Gael Guennebaud
73a24de424 merge 2015-02-18 15:51:00 +01:00
Gael Guennebaud
63eb0f6fe6 Clean a bit computeProductBlockingSizes (use Index type, remove CEIL macro) 2015-02-18 15:49:05 +01:00
Gael Guennebaud
fc5c3e85e2 Fix bug #961: eigen-doc.tgz included part of itself. 2015-02-18 15:47:01 +01:00
Benoit Jacob
4a3e6c8be1 bug #958 - Allow testing specific blocking sizes
This is only a debugging/testing patch. It allows testing specific
product blocking sizes, typically to study the impact on performance.

Example usage:

int testk, testm, testn;
#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZES
#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_K testk
#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_M testm
#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_N testn
#include <Eigen/Core>
2015-02-18 09:43:55 -05:00
Gael Guennebaud
c7bb1e8ea8 Fix a regression when using OpenMP, and fix bug #714: the number of threads might be lower than the number of requested ones 2015-02-18 15:19:23 +01:00
Jan Blechta
168ceb271e Really use zero guess in ConjugateGradients::solve as documented
and expected for consistency with other methods.
2015-02-18 14:26:10 +01:00
Gael Guennebaud
8fdcaded5e merge 2015-03-04 10:18:08 +01:00
Gael Guennebaud
c43154bbc5 Check for no-reallocation in SparseMatrix::insert (bug #974) 2015-03-04 10:16:46 +01:00
Gael Guennebaud
1ce0178363 Improve efficiency of SparseMatrix::insert/coeffRef for sequential outer-index insertion strategies (bug #974) 2015-03-04 09:39:26 +01:00
Gael Guennebaud
3dca4a1efc Update manual wrt new LSCG solver. 2015-03-04 09:35:30 +01:00
Gael Guennebaud
05274219a7 Add a CG-based solver for rectangular least-square problems (bug #975). 2015-03-04 09:34:27 +01:00
Benoit Jacob
2aa09e6b4e Fix asm comments in 1px1 kernel 2015-03-03 13:44:00 -05:00
Benoit Steiner
5d2fd64a1a Fixed compilation error when compiling with gcc4.7 2015-03-03 08:56:49 -08:00
Benoit Jacob
f64b4480af Add missing copyright notices 2015-03-03 11:43:56 -05:00
Benoit Jacob
eae8e27b7d Add a benchmark-default-sizes action to benchmark-blocking-sizes.cpp 2015-03-03 11:41:21 -05:00
Marc Glisse
37a93c4263 New scoring functor to select the pivot.
This is can be useful for non-floating point scalars, where choosing the biggest element is generally not the best choice.
2015-03-03 17:08:28 +01:00
Benoit Jacob
ccc1277a42 must also disable complex<double> when disabling double vectorization 2015-03-03 10:17:05 -05:00
Benoit Jacob
f839099512 Work around an ICE in Clang 3.5 in the iOS toolchain with double NEON intrinsics. 2015-03-03 09:35:22 -05:00
Benoit Jacob
9930e9583b Improve analyze-blocking-sizes, and in particular give it a evaluate-defaults tool
that shows the efficiency of Eigen's default blocking sizes choices, using a
previously computed table from benchmark-blocking-sizes.
2015-03-02 18:08:38 -05:00
Benoit Jacob
1ec0f4fadf HalfPacket also needed to be disabled for double, on ARMv8. 2015-03-02 16:08:54 -05:00
Gael Guennebaud
3109f0e74e Add SSE vectorization of Quaternion::conjugate. Significant speed-up when combined with products like q1*q2.conjugate() 2015-03-02 20:09:33 +01:00
Abhijit Kundu
ef09ce4552 Fix for TensorIO for Fixed sized Tensors.
The following code snippet was failing to compile:

TensorFixedSize<double, Sizes<4, 3> > t_4x3;
cout << 4x3;
2015-02-28 21:30:31 -05:00
Abhijit Kundu
3a4b6827b4 Merged eigen/eigen into default 2015-02-28 20:15:28 -05:00
Christoph Hertzberg
31e2ffe82c Replaced POSIX random() by internal::random 2015-02-28 18:39:37 +01:00
Christoph Hertzberg
73dd95e7b0 Use @CMAKE_MAKE_PROGRAM@ instead of make in buildtests.sh 2015-02-28 16:51:53 +01:00
Christoph Hertzberg
682196e9fc Fixed MPRealSupport 2015-02-28 16:41:00 +01:00
Christoph Hertzberg
33f40b2883 Cygwin does not like weak linking either. 2015-02-28 14:53:11 +01:00
Christoph Hertzberg
0f82a1d7b7 bug #967: Automatically add cxx11 suffix when building in C++11 mode 2015-02-28 14:52:26 +01:00
Gael Guennebaud
9aee1e300a Increase unit-test L1 cache size to ensure we are doing at least 2 peeled loop within product kernel. 2015-02-27 22:55:12 +01:00
Gael Guennebaud
b10cd3afd2 Re-enbale detection of min/max parentheses protection, and re-enable mpreal_support unit test. 2015-02-27 22:38:00 +01:00
Abhijit Kundu
4084dce038 Added CMake support for Tensor module. CMake now installs CXX11 Tensor module like the rest of the unsupported modules 2015-02-26 16:50:09 -05:00
Gael Guennebaud
548b781380 Fix bug #945: workaround MSVC warning 2015-02-18 12:53:49 +01:00
Gael Guennebaud
6f4adc9e94 Add missing install directives for arch/CUDA 2015-02-18 11:40:06 +01:00
Gael Guennebaud
371d3bef36 Workaround dead store warnings in unit tests. 2015-02-18 11:30:44 +01:00
Gael Guennebaud
63464754ef Add an internal assertion in makeCompressed to catch a possible risk of null-pointer access. 2015-02-18 11:29:54 +01:00
Gael Guennebaud
eb563049f7 Remove some dead stores. 2015-02-18 11:26:48 +01:00
Gael Guennebaud
dc7e6acc05 Fix possible usage of a null pointer in CholmodSupport 2015-02-18 11:26:25 +01:00
Gael Guennebaud
d4eda01488 Big 957, workaround MSVC/ICC compilation issue 2015-02-18 11:24:32 +01:00
Christoph Hertzberg
24d65ac0b0 Removed redundant typedef which confused old gcc versions. 2015-02-18 01:03:32 +01:00
Gael Guennebaud
20cac72b82 Packet must be passed by const reference and not by value to avoid alignment issue. 2015-02-17 22:58:32 +01:00
Benoit Steiner
36c9d08274 Pulled latest updates from trunk 2015-02-17 10:04:25 -08:00
Benoit Steiner
f77054f43c Silenced compilation warning 2015-02-17 10:02:04 -08:00