Re: [eigen] Student contribution

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


I've profiled your code, and I observed that for 500^2 matrix, 75% of
the time is spent in JacobiSVD. On my computer, I get 2.4s for BDCSVD
and 2.7s with JacobiSVD.

gael

On Fri, Jun 14, 2013 at 4:22 PM, Gael Guennebaud
<gael.guennebaud@xxxxxxxxx> wrote:
> Hi,
>
> thanks for your hard work. The code is more readable now.
> Unfortunately it won't be possible to merge your work into the main
> eigen repo right now for the reasons mentioned by Benoit, and also
> because we are planing to release 3.2 asap, and I prefer to delay as
> most as possible the creation of a new branch for it to save us the
> little time we have.
>
> The performance gains are still far away what we can expect from a the
> D&C approach. Speed-ups should be around an order of magnitude for a
> 500x500 matrix. Let's see if the "special" SVD that corresponds to
> section 3 of the reference paper can be fixed.
>
> gael
>
>
> On Fri, Jun 14, 2013 at 3:13 PM, BRUN Gauthier <brunga@xxxxxxxxxxxxxx> wrote:
>>
>> Hello,
>>
>> At the moment, the two first steps of our algorithm are working well on
>> dynamic defined matrices of double and float.
>> Sadly, it still doesn't work for matrices of complex.
>>
>> For matrices of int, it returns a matrix of zero in order to match the
>> behaviour of jacobi algorithm (although using SVD on such matrices is
>> irrelevant)
>>
>> We are sorry, we couldn't finish the third and last step, but our algorithm
>> in its current state is already significantly increasing the performances of
>> the singular value decomposition on big matrices (more than around 200 rows
>> and columns)
>> Thus we would like to submit the two first parts, the tests and the
>> benchmark to you in order to validate an important step in our school
>> project.
>> Indeed, although the work is not entirely finished, we believe that it can
>> be useful to Eigen in its current state.
>>
>> Despite the fact that our main work is supposed to be finished today, we can
>> still work on it until next wednesday, so we will be able to make
>> modifications on our code if you ask for it. Our final code has not been
>> commited yet on our bitbucket
>>
>> https://bitbucket.org/gl27/eigen-bdcsvd
>>
>>
>> Performance analysis: We joined to this mail graphs of the performances
>> analysis
>>                       (in red JacobiSVD times and in blue BDCSVD times)
>>         - Measures are not accurate since we run each test only one time
>>         - Time was measure with ctime (clock_gettime REALTIME) on the
>> compute part of the algorithm
>>         - We compiled with " icpc -O3 -xhost "
>>         - The test machine is an Intel Ivy Bridge (i5 3570k)
>>
>> On the graph largMatrixTime we can suppose our version improve the
>> complexity of the SVD, but on the largeMatrixRatio, we can noticed that the
>> performance boost is stuck at x1,7. This because we still use a JacobiSVD in
>> the third part, instead of using a SVD algorithm of the special matrix.
>>
>>
>>
>> Best regards,
>>
>> Team GL27
>> Jean Ceccato, Pierre Zoppitelli, Gauthier Brun, Nicolas Carre



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/