Gael Guennebaud
6db6e358f5
add the possibility to set the cache size at runtime
2010-06-18 23:25:57 +02:00
Gael Guennebaud
5b192930b6
add runtime API to control multithreading
2010-06-10 23:30:15 +02:00
Gael Guennebaud
0116261407
make BenchTimer compatible with 2.0 branch
2010-06-01 13:57:38 +02:00
Benoit Jacob
abbe260905
remove USING_PART_OF_NAMESPACE_EIGEN, leaving it in Eigen2Support.
...
improve porting-Eigen2-to-3 docs
2010-04-22 18:27:13 -04:00
Hauke Heibel
51b0159c96
Fixed line endings.
2010-03-05 18:11:54 +01:00
Gael Guennebaud
f2a246c225
add a small program to bench all combinations of small products
2010-03-05 17:16:19 +01:00
Gael Guennebaud
c442208358
clean a bit the bench_gemm files
2010-03-05 11:35:43 +01:00
Gael Guennebaud
24ef5fedcd
minor cleaning
2010-03-05 09:57:04 +01:00
Gael Guennebaud
cefd9b8888
merge with default branch
2010-03-04 18:47:52 +01:00
Gael Guennebaud
b0ffd9bf04
clean #defined tokens, and use clock_gettime for the real time
2010-03-03 09:41:29 +01:00
Eamon Nerbonne
ff6b94d6d0
BenchTimer: avoid warning about symbol redefinition on win32, and include <Eigen/Core> (required to compile)
2010-03-02 08:46:11 +01:00
Gael Guennebaud
1710c07f63
remove Qt's atomic dependency, I don't know what I was doing wrong...
2010-03-01 13:09:47 +01:00
Gael Guennebaud
aeff3ff391
make Aron's idea work using Qt's atomic implementation for the synchronisation
2010-03-01 10:57:32 +01:00
Gael Guennebaud
ac425090f3
BTL: allow to bench real time
2010-02-26 14:57:49 +01:00
Gael Guennebaud
c05047d28e
fix some BTL issues
2010-02-26 12:51:20 +01:00
Gael Guennebaud
3ac2b96a2f
implement a smarter parallelization strategy for gemm avoiding multiple
...
paking of the same data
2010-02-26 12:32:00 +01:00
Gael Guennebaud
68eaefa5d4
update BTL (better timer, eigen2 => eigen3, etc)
2010-02-23 18:23:12 +01:00
Gael Guennebaud
3beedba244
merge
2010-02-22 21:32:29 +01:00
Thomas Capricelli
d3b314569b
provide default values for CXX, remove duplicate define
2010-02-22 15:39:17 +01:00
Hauke Heibel
3e6ab8f93b
ups
2010-02-22 11:34:25 +01:00
Hauke Heibel
d5af5ab92b
Added getRealTime() for windows.
2010-02-22 11:23:27 +01:00
Gael Guennebaud
f797ba0abe
extend the bench timer to allow benchmarking of parallel code,
...
improvements are welcome
2010-02-22 11:04:35 +01:00
Gael Guennebaud
801440c519
fix BTL's eigen interface
...
(transplanted from 437f40acc1
)
2010-02-22 09:32:16 +01:00
Gael Guennebaud
eb905500b6
significant speedup in the matrix-matrix products
2010-02-23 13:06:49 +01:00
Gael Guennebaud
d579d4cc37
oops
2010-02-22 17:57:15 +01:00
Hauke Heibel
6730fd9f3f
Port BenchTimer fix.
2010-02-22 11:42:58 +01:00
Gael Guennebaud
4ba25a8d5c
merge
2010-02-22 11:30:36 +01:00
Gael Guennebaud
aaaf855a88
add a small benchmark to quickly bench/compare SMP support
2010-02-22 11:09:57 +01:00
Gael Guennebaud
437f40acc1
fix BTL's eigen interface
2010-02-22 09:32:16 +01:00
Mark Borgerding
f200c84d9f
merge
2010-02-16 21:41:04 -05:00
Mark Borgerding
7a6cb2a39c
added benchmark for unscaled and half-spectrum FFTs
2010-01-21 21:09:26 -05:00
Gael Guennebaud
905050b239
extend sparse product benchmark with ublas
2010-02-09 15:55:36 +01:00
Gael Guennebaud
c3823dce72
extend benchmark for sparse products
2010-01-05 16:03:35 +01:00
Benoit Jacob
39ac57fa6d
Big renaming:
...
start ---> head
end ---> tail
Much frustration with sed syntax. Need to learn perl some day.
2010-01-04 21:24:43 -05:00
Benoit Jacob
25f8adfa6c
* Fix bug #79 : ei_alignmentOffset was assuming that ptr is multiple of
...
sizeof(Scalar), and that assumption breaks with double on linux x86-32.
* Rename ei_alignmentOffset to ei_first_aligned
* Rewrite its documentation and part of its body
* The variant taking a MatrixBase doesn't need a separate size argument.
2010-01-02 12:38:16 -05:00
Gael Guennebaud
36969cc2a5
add a slerp benchmark (for accuracy and speed))
2009-12-04 15:02:38 +01:00
Hauke Heibel
1fc5fdea25
Added missing typedef (will I ever learn it!?)
...
Removed unsupported directories that do not provide CMakeList.txt (CMake 2.8 warning).
The BenchTimer is now also working on Cygwin.
2009-12-01 09:20:05 +01:00
Benoit Jacob
92749eed11
* merge
...
* remove a ctor in QuaternionBase as it gives a strange error with GCC 4.4.2.
2009-11-09 09:08:03 -05:00
Gael Guennebaud
6647a58847
update product bench
2009-11-06 11:33:18 +01:00
Mark Borgerding
0fa68b9e50
switched to BenchUtil.h
2009-10-30 19:46:45 -04:00
Benoit Jacob
a2268ca6b3
properly implement BenchTimer on POSIX
...
(may require a platform check for the clock name on non-linux platforms)
2009-10-29 15:47:56 -04:00
Benoit Jacob
e8dd552257
sync with mainline
2009-10-28 19:06:45 -04:00
Benoit Jacob
2840ac7e94
big huge changes, so i dont remember everything.
...
* renaming, e.g. LU ---> FullPivLU
* split tests framework: more robust, e.g. dont generate empty tests if a number is skipped
* make all remaining tests use that splitting, as needed.
* Fix 4x4 inversion (see stable branch)
* Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices.
* CMakeLists: more robust regexp to parse the version number
* misc fixes in unit tests
2009-10-28 18:19:29 -04:00
Mark Borgerding
0167f5ef43
added inline to many functions
2009-10-22 23:06:19 -04:00
Mark Borgerding
902b6dcd6c
added Eigen::FFT and
...
Eigen::Complex
2009-10-20 21:33:48 -04:00
Hauke Heibel
5e3e6ff71a
Added Windows support to the BenchTimer.
2009-10-20 22:08:13 +02:00
Mark Borgerding
d9b418bf12
merged eigen2_for_fft into eigen2 mainline
2009-10-20 15:18:01 -04:00
Gael Guennebaud
8f3e33581e
extend the sparse matrix assembly benchmark
2009-10-07 14:25:53 +02:00
Gael Guennebaud
0b60027f3c
implement __gnuc_forget_about_setZero_its_over_now
2009-09-18 15:36:05 +02:00
Gael Guennebaud
d2becb9612
add a "rot" benchmark in BTL
2009-08-15 10:19:16 +02:00
Gael Guennebaud
c2a92e92a6
add ger and lu with partial pivoting in BTL
2009-08-04 11:30:33 +02:00
Gael Guennebaud
3cf5bb31f6
* Bye bye MultiplierBase, extend a bit AnyMatrixBase to allow =, +=, and -=
...
* This probably makes ReturnByValue needless
2009-08-03 16:05:15 +02:00
Gael Guennebaud
54804eb626
synch with main branch
2009-07-28 17:35:07 +02:00
Gael Guennebaud
de8b795895
compilation fixes in BTL
2009-07-28 17:10:34 +02:00
Gael Guennebaud
32b08ac971
re-implement stableNorm using a homemade blocky and
...
vectorization friendly algorithm (slow if no vectorization)
2009-07-17 16:22:39 +02:00
Gael Guennebaud
15ed32dd6e
add other stable norm impl. in the benchmark
2009-07-16 16:21:26 +02:00
Gael Guennebaud
525da6a464
bugfix in blueNorm
2009-07-16 14:20:36 +02:00
Gael Guennebaud
65fc70b750
add a benchmark for the different norms
2009-07-16 11:33:56 +02:00
Gael Guennebaud
c49d1fd2b5
add a partial LU bench in BTL
2009-06-04 18:16:54 +02:00
Mark Borgerding
1c54340174
more work on ei_fftw_impl
2009-05-31 15:44:57 -04:00
Mark Borgerding
09b4733255
added real-optimized inverse FFT (NFFT must be multiple of 4)
2009-05-25 23:52:21 -04:00
Mark Borgerding
210092d16c
changed name from simple_fft_traits to ei_kissfft_impl
2009-05-25 20:35:24 -04:00
Mark Borgerding
326ea77390
added FFT inverse complex-to-scalar interface (not yet optimized)
2009-05-23 22:50:07 -04:00
Mark Borgerding
9c0fcd0f62
started real optimization, added benchmark for FFT
2009-05-23 10:09:48 -04:00
Benoit Jacob
6347b1db5b
remove sentence "Eigen itself is part of the KDE project."
...
it never made very precise sense. but now does it still make any?
2009-05-22 20:25:33 +02:00
Gael Guennebaud
caa1ef7515
various BTL updates (disable Cholesky for MTL, add new plot settings,
...
etc)
2009-03-09 23:28:46 +00:00
Gael Guennebaud
bd8107c90c
forgot to include a file in previous commit
2009-03-09 14:18:29 +00:00
Gael Guennebaud
8a424efb11
add an option to bench eigen without GCC's auto vec (might conflict with
...
Eigen's auto vec)
2009-03-09 14:16:05 +00:00
Gael Guennebaud
d710ccd41e
BTL: add syr2 action
2009-03-05 08:15:32 +00:00
Gael Guennebaud
a72ff5abc1
BTL: - patch from Victor (add ACML support)
...
- fix overflow issues
2009-03-05 08:11:47 +00:00
Gael Guennebaud
45136ac3b6
various update of of BTL
2009-03-04 07:21:17 +00:00
Gael Guennebaud
7485aa6d57
add symv bench
2009-02-20 21:05:19 +00:00
Gael Guennebaud
19b035ee11
s/cholesky/llt in precompiled lib and BTL
2009-02-06 14:01:01 +00:00
Gael Guennebaud
cc90495e30
add bench_reverse, draft of a reverse vectorization for AltiVec, make
...
global Scaling function static
2009-02-06 13:28:55 +00:00
Gael Guennebaud
b0dd22cc72
update cholesky benchmark
2009-02-03 19:05:10 +00:00
Gael Guennebaud
dde729379a
various updates in the (still messy) sparse benchmarks
2009-01-28 20:32:28 +00:00
Gael Guennebaud
f645d1f911
* complete the support of QVector via a QtAlignedMalloc header
...
* add a unit test for QVector which shows the issue with QVector::fill
2009-01-20 16:50:47 +00:00
Gael Guennebaud
0c7974dd4d
bugfix in Map by Keir Mierle
2009-01-18 09:53:06 +00:00
Gael Guennebaud
22792c696f
add ublas vector of vector in sparse setter bench
2009-01-17 16:24:49 +00:00
Gael Guennebaud
cc6c4d807b
add a sparse setter bench
2009-01-17 14:05:01 +00:00
Gael Guennebaud
f5741d4277
add a sparse * dense_vector bench
2009-01-14 18:27:17 +00:00
James Richard Tyrer
28e15574df
updating FindEigen2.cmake for proper search order
2009-01-11 16:18:59 +00:00
Benoit Jacob
1d52bd4cad
the big memory changes. the most important changes are:
...
ei_aligned_malloc now really behaves like a malloc
(untyped, doesn't call ctor)
ei_aligned_new is the typed variant calling ctor
EIGEN_MAKE_ALIGNED_OPERATOR_NEW now takes the class name as parameter
2009-01-08 15:20:21 +00:00
Benoit Jacob
be64619ab6
* require CMake 2.6.2 everywhere, Alexander Neundorf says it'd make it
...
easier to have a uniform requirement in kdesupport for when he makes
fixes.
* add eigen versioning macros
2009-01-04 16:19:12 +00:00
Benoit Jacob
15ca6659ac
* the 4th template param of Matrix is now Options. One bit for storage
...
order, one bit for enabling/disabling auto-alignment. If you want to
disable, do:
Matrix<float,4,1,Matrix_DontAlign>
The Matrix_ prefix is the only way I can see to avoid
ambiguity/pollution. The old RowMajor, ColMajor constants are
deprecated, remain for now.
* this prompted several improvements in matrix_storage. ei_aligned_array
renamed to ei_matrix_array and moved there. The %16==0 tests are now
much more centralized in 1 place there.
* unalignedassert test: updated
* update FindEigen2.cmake from KDElibs
* determinant test: use VERIFY_IS_APPROX to fix false positives; add
testing of 1 big matrix
2009-01-04 15:26:32 +00:00
Benoit Jacob
164f410bb5
* make WithAlignedOperatorNew always align even when vectorization is disabled
...
* make ei_aligned_malloc and ei_aligned_free honor custom operator new and delete
2008-12-30 14:11:35 +00:00
Benoit Jacob
9e00d94543
* the Upper->UpperTriangular change
...
* finally get ei_add_test right
2008-12-20 13:36:12 +00:00
Gael Guennebaud
8679d895d3
various MSVC fixes in BTL
2008-12-19 15:31:47 +00:00
Gael Guennebaud
93f8d56789
improved MSVC support in cmake files (SSE)
2008-12-18 09:07:36 +00:00
Benoit Jacob
00f89a8f37
Update e-mail address
2008-11-24 13:40:43 +00:00
Gael Guennebaud
86ccd99d8d
Several improvements in sparse module:
...
* add a LDL^T factorization with solver using code from T. Davis's LDL
library (LPGL2.1+)
* various bug fixes in trianfular solver, matrix product, etc.
* improve cmake files for the supported libraries
* split the sparse unit test
* etc.
2008-11-05 13:47:55 +00:00
Gael Guennebaud
0c5a09d93f
some cleaning and doc in ParametrizedLine and HyperPlane
...
Just a thought: what about ParamLine instead of the verbose ParametrizedLine ?
2008-10-25 00:08:52 +00:00
Gael Guennebaud
cf0f82ecbe
sparse module:
...
- remove some useless stuff => let's focus on a single sparse matrix format
- finalize the new RandomSetter
2008-10-21 13:35:04 +00:00
Gael Guennebaud
9e02e42ff6
add the bench file for the RandomSetter
2008-10-21 00:05:45 +00:00
Gael Guennebaud
3a231c2349
sparse module: add support for umfpack, the sparse direct LU
...
solver from suitesparse (as cholmod). It seems to be even faster
than SuperLU and it was much simpler to interface ! Well,
the factorization is faster, but for the solve part, SuperLU is
quite faster. On the other hand the solve part represents only a
fraction of the whole procedure. Moreover, I bench random matrices
that does not represents real cases, and I'm not sure at all
I use both libraries with their best settings !
2008-10-19 22:44:21 +00:00
Gael Guennebaud
76fe2e1b34
add/update some benchmark files used to test/compare sparse module features
2008-10-19 17:06:11 +00:00
Gael Guennebaud
765219aa51
Big API change in Cholesky module:
...
* rename Cholesky to LLT
* rename CholeskyWithoutSquareRoot to LDLT
* rename MatrixBase::cholesky() to llt()
* rename MatrixBase::choleskyNoSqrt() to ldlt()
* make {LLT,LDLT}::solve() API consistent with other modules
Note that we are going to keep a source compatibility untill the next beta release.
E.g., the "old" Cholesky* classes, etc are still available for some time.
To be clear, Eigen beta2 should be (hopefully) source compatible with beta1,
and so beta2 will contain all the deprecated API of beta1. Those features marked
as deprecated will be removed in beta3 (or in the final 2.0 if there is no beta 3 !).
Also includes various updated in sparse Cholesky.
2008-10-13 15:53:27 +00:00
Gael Guennebaud
68fbd6f531
typos in bench/
2008-08-29 16:10:08 +00:00
Gael Guennebaud
3e526dcdbd
BTL:added trisolve action file
2008-08-26 10:46:58 +00:00
Gael Guennebaud
7ce70e1437
various updates in BTL
2008-08-25 14:23:08 +00:00