aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* * Rewrite the triangular solver so that we can take advantage of our ↵Gravatar Gael Guennebaud2008-07-26
| | | | | | | | | | | efficient matrix-vector products: => up to 6 times faster ! * Added DirectAccessBit to Part * Added an exemple of a cwise operator * Renamed perpendicular() => someOrthogonal() (geometry module) * Fix a weired bug in ei_constant_functor: the default copy constructor did not copy the imaginary part when the single member of the class is a complex...
* bugfix in some internal asserts of CacheFriendlyProductGravatar Gael Guennebaud2008-07-26
|
* update the inverse test a littleGravatar Benoit Jacob2008-07-26
| | | | | make use of static asserts in Map fix 2 warnings in CacheFriendlyProduct: unused var 'Vectorized'
* * Fix some complex alignment issues in the cache friendly matrix-vector ↵Gravatar Gael Guennebaud2008-07-23
| | | | | | | products. * Minor update of the cores of the Cholesky algorithms to make them more friendly wrt to matrix-vector products => speedup x5 !
* Add .perpendicular() function in Geometry module (adapted from Eigen1)Gravatar Gael Guennebaud2008-07-22
| | | | | | Documentation: * add an overview for each module. * add an example for .all() and Cwise::operator<
* Fix compilation issues with icc and g++ < 4.1. Those include:Gravatar Gael Guennebaud2008-07-21
| | | | | | | | | | - conflicts with operator * overloads - discard the use of ei_pdiv for interger (g++ handles operators on __m128* types, this is why it worked) - weird behavior of icc in fixed size Block() constructor complaining the initializer of m_blockRows and m_blockCols were missing while we are in fixed size (maybe this hide deeper problem since this is a recent one, but icc gives only little feedback)
* * Merge Extract and Part to the Part expression.Gravatar Gael Guennebaud2008-07-21
| | | | | | Renamed "MatrixBase::extract() const" to "MatrixBase::part() const" * Renamed static functions identity, zero, ones, random with an upper case first letter: Identity, Zero, Ones and Random.
* Various documentation improvements, in particualr in Cholesky and Geometry ↵Gravatar Gael Guennebaud2008-07-20
| | | | | | module. Added doxygen groups for Matrix typedefs and the Geometry module
* Add cholesky's members to MatrixBaseGravatar Gael Guennebaud2008-07-19
| | | | Various documentation improvements including new snippets (AngleAxis and Cholesky)
* Added an automatically generated list of selected examples in the documentation.Gravatar Gael Guennebaud2008-07-19
| | | | Added the custom gemetry_module tag, and use it.
* Added MatrixBase::Unit*() static function to easily create unit/basis vectors.Gravatar Gael Guennebaud2008-07-19
| | | | | | | Removed EulerAngles, addes typdefs for Quaternion and AngleAxis, and added automatic conversions from Quaternion/AngleAxis to Matrix3 such that: Matrix3f m = AngleAxisf(0.2,Vector3f::UnitX) * AngleAxisf(0.2,Vector3f::UnitY); just works.
* Complete rewrite of partial reduction according to mailing list discussions.Gravatar Gael Guennebaud2008-07-19
|
* add some static asserts, use them, fix gcc 4.3 warning in Product.h.Gravatar Benoit Jacob2008-07-19
|
* * Fix a couple of issues related to the recent cache friendly productsGravatar Gael Guennebaud2008-07-19
| | | | | | | * Improve the efficiency of matrix*vector in unaligned cases * Trivial fixes in the destructors of MatrixStorage * Removed the matrixNorm in test/product.cpp (twice faster and that assumed the matrix product was ok while checking that !!)
* * big rework of Inverse.h:Gravatar Benoit Jacob2008-07-15
| | | | | | | | | | | - remove all invertibility checking, will be redundant with LU - general case: adapt to matrix storage order for better perf - size 4 case: handle corner cases without falling back to gen case. - rationalize with selectors instead of compile time if - add C-style computeInverse() * update inverse test. * in snippets, default cout precision to 3 decimal places * add some cmake module from kdelibs to support btl with cmake 2.4
* trivial fix in EulerAngles constructorGravatar Gael Guennebaud2008-07-15
|
* enhancements of the plot generator:Gravatar Gael Guennebaud2008-07-13
| | | | | | | | - removed the ugly X11 and PNG gnuplots terminals - use enhanced postscript terminal - use imagemagick to generate the png files (with compression) - disable the fortran impl by default since it is as meaningless as a "C impl" - update line settings
* Optimization: added super efficient rowmajor * vector product (and vector * ↵Gravatar Gael Guennebaud2008-07-13
| | | | | | | | colmajor). It basically performs 4 dot products at once reducing loads of the vector and improving instructions scheduling. With 3 cache friendly algorithms, we now handle all product configurations with outstanding perf for large matrices.
* SVN_SILENT trivial fixGravatar Benoit Jacob2008-07-12
|
* fix a cmake issue in FindTvmet and FindMKLGravatar Gael Guennebaud2008-07-12
|
* another occurence of that little cmake fixGravatar Benoit Jacob2008-07-12
|
* * Optimization: added a specialization of Block for xpr with DirectAccessBitGravatar Gael Guennebaud2008-07-12
| | | | * some simplifications and fixes in cache friendly products
* little cmake fixGravatar Benoit Jacob2008-07-12
|
* disable MKL check and fortran for cmake <2.6Gravatar Gael Guennebaud2008-07-12
|
* various improvements of the plot generator in BTLGravatar Gael Guennebaud2008-07-12
|
* various minor updates in the benchmark suite like non inliningGravatar Gael Guennebaud2008-07-12
| | | | | of some functions as well as the experimental C code used to design efficient eigen's matrix vector products.
* Add a *very efficient* evaluation path for both col-major matrix * vectorGravatar Gael Guennebaud2008-07-12
| | | | | | and vector * row-major products. Currently, it is enabled only is the matrix has DirectAccessBit flag and the product is "large enough". Added the respective unit tests in test/product/cpp.
* resurrected tvmet, added mt4, intel's MKL and handcoded vectorized backendsGravatar Gael Guennebaud2008-07-10
| | | | in the benchmark suite
* some performance fixes in Assign.h reported by Gael. Some doc update inGravatar Benoit Jacob2008-07-10
| | | | Cwise.
* in BTL: a specific bench/action can be selected at runtime, e.g.:Gravatar Gael Guennebaud2008-07-09
| | | | | | BTL_CONFIG="-a ata" ctest -V -R eigen run the all benchmarks having "ata" in their name for all libraries matching the regexp "eigen"
* * added optimized paths for matrix-vector and vector-matrix productsGravatar Gael Guennebaud2008-07-09
| | | | | | (using either a cache friendly strategy or re-using dot-product vectorized implementation) * add LinearAccessBit to Transpose
* raah, results were corrupted by overflow. Now slice vectorization isGravatar Benoit Jacob2008-07-09
| | | | | about a +25% speedup which is still nice as i expected zero or even negative benefit.
* add benchmark for slice vectorization... expected it to be little orGravatar Benoit Jacob2008-07-09
| | | | zero benefit... turns out to be 20x speedup. Something is wrong.
* imported a reworked version of BTL (Benchmark for Templated Libraries).Gravatar Gael Guennebaud2008-07-09
| | | | | | | | | | | | the modifications to initial code follow: * changed build system from plain makefiles to cmake * added eigen2 (4 versions: vec/novec and fixed/dynamic), GMM++, MTL4 interfaces * added "transposed matrix * vector" product action * updated blitz interface to use condensed products instead of hand coded loops * removed some deprecated interfaces * changed default storage order to column major for all libraries * new generic bench timer strategy which is supposed to be more accurate * various code clean-up
* * added a lazyAssign overload skipping .lazy() such that c = (<xpr>).lazy() ↵Gravatar Gael Guennebaud2008-07-09
| | | | | | such that lazyAssign overloads of <xpr> are automatically called (this also reduces assign instansiations)
* I forgot that the previous commit needed minor changes outside the bench folderGravatar Gael Guennebaud2008-07-08
|
* add Cholesky and eigensolver benchmarkGravatar Gael Guennebaud2008-07-08
|
* - many updates after Cwise changeGravatar Benoit Jacob2008-07-08
| | | | | - fix compilation in product.cpp with std::complex - fix bug in MatrixBase::operator!=
* the big Array/Cwise rework as discussed on the mailing list. The new APIGravatar Benoit Jacob2008-07-08
| | | | can be seen in Eigen/src/Core/Cwise.h.
* fix issues in previously added additionnal product testsGravatar Gael Guennebaud2008-07-06
|
* * do the ActualPacketAccesBit change as discussed on listGravatar Benoit Jacob2008-07-04
| | | | | * add comment in Product.h about CanVectorizeInner * fix typo in test/product.cpp
* * fix compilation issue in ProductGravatar Gael Guennebaud2008-07-02
| | | | | * added some tests for product and swap * overload .swap() for dynamic-sized matrix of same size
* * resurected Flagged::_expression used to optimize m+=(a*b).lazy()Gravatar Gael Guennebaud2008-07-01
| | | | | (equivalent to the GEMM blas routine) * added a GEMM benchmark
* * fix error in divergence test, now it is even fasterGravatar Benoit Jacob2008-07-01
| | | | * add comments in render() in case anyone ever reads that :P
* interleaved rendering balances the load betterGravatar Benoit Jacob2008-07-01
|
* * multi-threaded renderingGravatar Benoit Jacob2008-07-01
| | | | | * increased number of iterations, with more iterations done before testing divergence. results in x2 speedup from vectorization.
* - use double precision to store the position / zoom / other stuffGravatar Benoit Jacob2008-06-30
| | | | | - some temporary fix to get a +50% improvement from vectorization until we have vectorisation for comparisons and redux
* * added an in-place version of inverseProduct whichGravatar Gael Guennebaud2008-06-29
| | | | | | | might be twice faster fot small fixed size matrix * added a sparse triangular solver (sparse version of inverseProduct) * various other improvements in the Sparse module
* fix little bug in computation of max_iterGravatar Benoit Jacob2008-06-29
|
* improve greatly mandelbrot demo:Gravatar Benoit Jacob2008-06-29
| | | | | | | - much better coloring - determine max number of iterations and choice between float and double at runtime based on zoom level - do draft renderings with increasing resolution before final rendering