Commit Graph

  • afd7ee759b fix copy pasted comment Gael Guennebaud 2010-03-05 21:35:11 +01:00
  • 273b236f72 Altivec brought up to date. Most tests pass and performance is better than before too! Konstantinos Margaritis 2010-03-05 22:28:49 +02:00
  • 51b0159c96 Fixed line endings. Hauke Heibel 2010-03-05 18:11:54 +01:00
  • f2a246c225 add a small program to bench all combinations of small products Gael Guennebaud 2010-03-05 17:16:19 +01:00
  • c442208358 clean a bit the bench_gemm files Gael Guennebaud 2010-03-05 11:35:43 +01:00
  • 5f172cd01f add a FIXME Gael Guennebaud 2010-03-05 10:45:29 +01:00
  • 48d0595c29 * dynamically adjust the number of threads * disbale parallelisation if we already are in a parallel session Gael Guennebaud 2010-03-05 10:44:31 +01:00
  • dd961f8c60 add an option to test ompenmp Gael Guennebaud 2010-03-05 10:22:27 +01:00
  • 62ac021606 fix openmp version for scalar types different than float Gael Guennebaud 2010-03-05 10:16:25 +01:00
  • d13b877014 remove the 1D and 2D parallelizer, keep only the GEMM specialized one Gael Guennebaud 2010-03-05 10:04:17 +01:00
  • 24ef5fedcd minor cleaning Gael Guennebaud 2010-03-05 09:57:04 +01:00
  • 279ad44509 merge Gael Guennebaud 2010-03-05 09:46:58 +01:00
  • 620bd28480 enable posix_memalign for QNX Gael Guennebaud 2010-03-05 09:44:21 +01:00
  • 7e2683dc39 merge Gael Guennebaud 2010-03-04 18:59:56 +01:00
  • 0964810fba merge Gael Guennebaud 2010-03-04 18:59:03 +01:00
  • ea8cad5151 make the number of registers easier to configure per architectures Gael Guennebaud 2010-03-04 18:58:12 +01:00
  • cefd9b8888 merge with default branch Gael Guennebaud 2010-03-04 18:47:52 +01:00
  • 1723068694 Moved x()/y()/z() and w() access functions to DenseBase; they are now available for Arrays as well. Hauke Heibel 2010-03-04 18:33:51 +01:00
  • 8ed1ef4469 add a minor FIXME Gael Guennebaud 2010-03-04 18:30:28 +01:00
  • 135013c608 EIGEN_ALIGN std:: fixup Piotr Trojanek 2010-03-04 16:38:37 +01:00
  • 1625a5e3f8 fixups for clean QCC compilation (add std:: in front of size_t, memcpy, etc.) Piotr Trojanek 2010-03-05 11:21:11 +01:00
  • 47a61bbd80 posix_memalign check for QNX Piotr Trojanek 2010-03-04 17:12:30 +01:00
  • 68d94d914e integer division is vectorizable on no SIMD platform, not just SSE. Benoit Jacob 2010-03-04 09:03:06 -05:00
  • 710bc073a7 arm_neon.h is a standard header file, fixed Konstantinos Margaritis 2010-03-03 12:15:34 -06:00
  • 6c89fd4df0 minor cleanup Benoit Jacob 2010-03-03 13:16:21 -05:00
  • 7dd81aad74 factorize default performance related settings to a single file included after the architecture specific files such that they can be adapted by each platform. Gael Guennebaud 2010-03-03 18:47:58 +01:00
  • 112c550b4a Added initial NEON support, most tests pass however we had to use some hackish workarounds as gcc on ARM (both CodeSourcery 4.4.1 used and experimental 4.5) fail to ensure proper alignment with __attribute__((aligned(16))). This has to be fixed upstream to remove the workarounds. Konstantinos Margaritis 2010-03-03 11:25:41 -06:00
  • 45d19afb18 cleanup/simplification in computation of matrix flags Benoit Jacob 2010-03-03 09:58:43 -05:00
  • 7dbe806711 merge Benoit Jacob 2010-03-03 09:55:46 -05:00
  • 6a92168915 Backed out changeset 2f3d685e0c Benoit Jacob 2010-03-03 09:54:50 -05:00
  • aa6570c3a3 Added a missing inline hints. Removed a useless Nested temporary. Hauke Heibel 2010-03-03 15:24:58 +01:00
  • b0ffd9bf04 clean #defined tokens, and use clock_gettime for the real time Gael Guennebaud 2010-03-03 09:41:29 +01:00
  • ff6b94d6d0 BenchTimer: avoid warning about symbol redefinition on win32, and include <Eigen/Core> (required to compile) Eamon Nerbonne 2010-03-02 08:46:11 +01:00
  • f1d3101956 blas: add warnings for non implemented functions Gael Guennebaud 2010-03-03 09:32:10 +01:00
  • 32823caa62 Adapted the comment and removed it from the public dox. Hauke Heibel 2010-03-03 07:52:19 +01:00
  • 3295c1c3e6 product selector: the symmetric case Gael Guennebaud 2010-03-02 23:18:13 +01:00
  • afad108b5f Added a comment to prevent placing an EIGEN_STRONG_INLINE where it makes no sense. Hauke Heibel 2010-03-02 19:36:21 +01:00
  • 3efb3cc828 Changed product type selector to fix perf regression. Eamon Nerbonne 2010-03-02 12:08:49 +01:00
  • c7828ac45c add missing implementation of uniform scaling products Gael Guennebaud 2010-03-02 17:38:40 +01:00
  • 2f3d685e0c a matrix (or array) does not always have the LinearAccessBit! => fixes in outerStride and matrix flags Gael Guennebaud 2010-03-02 15:31:39 +01:00
  • 0ed5edd24d blas: add a default implementation of xerbla Gael Guennebaud 2010-03-02 14:50:41 +01:00
  • a76c296e7f blas: fix most of level1 functions Gael Guennebaud 2010-03-02 14:45:43 +01:00
  • bca04bd983 fix compilation Benoit Jacob 2010-03-02 08:41:35 -05:00
  • a2d7c239f5 blas: fix HEMM and HERK Gael Guennebaud 2010-03-02 12:44:40 +01:00
  • 7fd6458fec selfadjoint: do not reference the imaginary part of the diagonal Gael Guennebaud 2010-03-02 12:43:55 +01:00
  • abfed301cb blas: fix SYRK Gael Guennebaud 2010-03-02 09:37:10 +01:00
  • 3cc9e3f5bb Fixes a compilation issue for MSVC. Hauke Heibel 2010-03-01 19:56:24 +01:00
  • a7b9250ad0 blas interface: fix compilation, fix GEMM, SYMM, TRMM, and TRSM, i,e., they all pass the blas test suite. More to come Gael Guennebaud 2010-03-01 19:06:07 +01:00
  • a1ac56a7c7 Add (failing) test for computing HouseholderQR of a 1x1 matrix. Jitse Niesen 2010-03-01 13:46:41 +00:00
  • 65eba35f98 rm useless omp shared directive Gael Guennebaud 2010-03-01 13:34:44 +01:00
  • 1710c07f63 remove Qt's atomic dependency, I don't know what I was doing wrong... Gael Guennebaud 2010-03-01 13:09:47 +01:00
  • 2d7bd1ec91 Make MatrixFunctions tests more robust. * Use absolute error instead of relative error. * Test on well-conditioned matrices. * Do not repeat the same test g_repeat times (bug fix). * Correct diagnostic output in matrix_exponential.cpp . Jitse Niesen 2010-03-01 12:05:57 +00:00
  • 31aa17e4ef GEMM: move the first packing of A' before the packing of B' Gael Guennebaud 2010-03-01 11:10:30 +01:00
  • aeff3ff391 make Aron's idea work using Qt's atomic implementation for the synchronisation Gael Guennebaud 2010-03-01 10:57:32 +01:00
  • 12bcfae0c5 clarify EIGEN_DONT_ALIGN docs wrt versions Benoit Jacob 2010-02-28 15:56:50 -05:00
  • f1f3c30ddc remove the hack to make the static assertion on types actually show up. indeed, now that we use the meta selector for transposing as needed, the static asserts work very well. Benoit Jacob 2010-02-28 11:10:13 -05:00
  • 07023b94d8 forgot defined(...) Benoit Jacob 2010-02-28 10:11:28 -05:00
  • 9334ed4444 on 64-bit systems, glibc's malloc returns 16-byte aligned ptrs, and we now take advantage of that. Benoit Jacob 2010-02-28 10:10:53 -05:00
  • a480e7e60f * fix ei_handmade_aligned_realloc (was calling realloc on wrong ptr) * add missing std:: (at least for QNX compatibility) * add big comments to "structure" the file Benoit Jacob 2010-02-28 09:10:41 -05:00
  • ff8c2149c1 Added a generic reallocation implementation based on ei_aligned_malloc/_free. Rewrote ei_handmade_aligned_realloc such that it is now using std::realloc. Reorganized functions in Memory.h for better readability. Add missing <cerrno> include to Core (it's now required in Memory.h). Hauke Heibel 2010-02-28 14:32:57 +01:00
  • 40bd69fbaa Hide some internal stuff from the docs. Hauke Heibel 2010-02-28 12:56:37 +01:00
  • 1d9c18a8f3 comment out cerr's Benoit Jacob 2010-02-28 00:53:06 -05:00
  • eb3a3351cc misc cleaning Thomas Capricelli 2010-02-28 02:51:35 +01:00
  • 27f5250258 Only include <iosfwd> unless either EIGEN_DEBUG_ASSIGN is defined or we're in eigen2 support mode Benoit Jacob 2010-02-27 19:04:22 -05:00
  • e84f7e07e9 add ei_posix_memalign_realloc Benoit Jacob 2010-02-27 18:57:07 -05:00
  • 22fabb8940 add missing inline keyword, thanks to Eamon. Benoit Jacob 2010-02-27 17:51:48 -05:00
  • e0830cb1b7 Use a specialization of test_is_equal() instead of defining COMPARE() Thomas Capricelli 2010-02-27 17:56:22 +01:00
  • 6c9eb36222 Added support for realloc based conservative resizing. Hauke Heibel 2010-02-27 17:25:07 +01:00
  • 78b2c7e16e Fixed a typo. Hauke Heibel 2010-02-27 17:24:42 +01:00
  • 3f393490ad dot: handle the rowvector.dot(colvector) case where one needs to transpose. Benoit Jacob 2010-02-27 11:19:14 -05:00
  • 15a33622ac * define COMPARE(,), which prints expected/actual results in case of failure * use it in test/NonLinearOptimization.cpp Thomas Capricelli 2010-02-27 16:30:15 +01:00
  • d9f6380499 Remove the dot product's separate implementation and use cwiseProduct.sum instead. Also take special care to get nicely working static assertions. Benoit Jacob 2010-02-27 10:03:27 -05:00
  • b5c79e7291 add examples Benoit Jacob 2010-02-26 22:26:21 -05:00
  • 2c9a91812e merge Benoit Jacob 2010-02-26 21:47:54 -05:00
  • 814e40c72a let redux use the new ByOuterInner accessors Benoit Jacob 2010-02-26 21:46:43 -05:00
  • 4927841cba Document Map and Stride, add examples. Benoit Jacob 2010-02-26 21:29:04 -05:00
  • b1f666d007 Fix Map-with-Stride and cover it by new unit tests. Benoit Jacob 2010-02-26 20:12:51 -05:00
  • 6924bf2e99 implement Aron's idea of interleaving the packing with the first computations Gael Guennebaud 2010-02-26 15:58:22 +01:00
  • c72a5074e6 Fixed perf problems for vector subtraction: inlining wasn't always happening when necessary. nerbonne 2010-02-26 15:46:43 +01:00
  • 32115bff1e * add VERIFY_IS_EQUAL, should compile faster and it's natural when no arithmetic is involved. * rename 'submatrices' test to 'block' * add block-inside-of-block tests * remove old cruft * split diagonal() tests into separate file Benoit Jacob 2010-02-26 09:03:13 -05:00
  • ac425090f3 BTL: allow to bench real time Gael Guennebaud 2010-02-26 14:57:49 +01:00
  • 8d4a0e6753 fix compilation without openmp Gael Guennebaud 2010-02-26 14:57:22 +01:00
  • c05047d28e fix some BTL issues Gael Guennebaud 2010-02-26 12:51:20 +01:00
  • 3ac2b96a2f implement a smarter parallelization strategy for gemm avoiding multiple paking of the same data Gael Guennebaud 2010-02-26 12:32:00 +01:00
  • d86f5339b2 ComplexSchur: fix bug introduced in my previous commit. The value of c is actually used a few lines later. Jitse Niesen 2010-02-26 09:47:17 +00:00
  • f56ac04c34 DenseBase::IsRowMajor now takes the special case of vectors into account. Benoit Jacob 2010-02-25 21:24:42 -05:00
  • b1c6c215a4 merge Benoit Jacob 2010-02-25 21:07:30 -05:00
  • 769641bc58 * Implement the ByOuterInner accessors * use them (big simplification in Assign.h) * axe (Inner|Outer)StrideAtCompileTime that were just introduced * ei_int_if_dynamic now asserts that the size is the expected one: adapt to that in Block.h * add rowStride() / colStride() in DenseBase * implement innerStride() / outerStride() everywhere needed Benoit Jacob 2010-02-25 21:01:52 -05:00
  • 90e4a605ef ComplexSchur: compute shift more stably, introduce exceptional shifts. Both the new computation of the eigenvalues of a 2x2 block and the exceptional shifts are taken from EISPACK routine COMQR. Jitse Niesen 2010-02-25 22:33:38 +00:00
  • 53bae6b3f8 update matrix product selection rules for 1xSmallxLarge and the transposed case Gael Guennebaud 2010-02-25 21:59:25 +01:00
  • 959a1b5d63 detect and implement inplace permutations Gael Guennebaud 2010-02-25 16:30:58 +01:00
  • d9ca0c0d36 optimize inverse permutations Gael Guennebaud 2010-02-25 15:31:15 +01:00
  • 77c922bf05 * move the 's': InstructionsSet ---> InstructionSets * proper capitalization: SSE, AltiVec Benoit Jacob 2010-02-25 06:43:45 -05:00
  • 50a5ac3c4b oops, fix typo Thomas Capricelli 2010-02-25 05:31:22 +01:00
  • 00bc535b66 provide a static method to describe which SIMD instructions are used Thomas Capricelli 2010-02-24 21:52:08 +01:00
  • 0f3d69b65e Provide "eigen" defines to decide which instruction set is used (sse3, ssse3 and sse4), independantly from the compiler. Only those defines should be used in other places, and the user can rely on those to know which sets are used. Thomas Capricelli 2010-02-24 21:43:30 +01:00
  • 7c98c04412 add reconstructedMatrix() to LLT, and LUs => they show that some improvements have still to be done for permutations, tr*tr, trapezoidal matrices Gael Guennebaud 2010-02-24 19:16:10 +01:00
  • a7e4c0f825 make testsuite aware of EIGEN_CTEST_ARGS Gael Guennebaud 2010-02-24 11:28:38 +01:00
  • f7aa9873ca * fix LDLT's default ctor use * add a reconstructedMatrix() function to LDLT for debug purpose Gael Guennebaud 2010-02-24 10:40:16 +01:00
  • 5f42104e0a really fix the LDLt, at the expense of letting isPositiveDefinite() always return true (it was fundamentally broken anyway, especially as in 2.0 we don't even pivot at all). also, fix compilation Benoit Jacob 2010-02-23 18:10:31 -05:00