|Re: [eigen] Student contribution|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: Re: [eigen] Student contribution
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Fri, 14 Jun 2013 16:28:58 +0200
- Cc: "simon.courtemanche" <simon.courtemanche@xxxxxxxx>, Pierre ZOPPITELLI <Pierre.Zoppitelli@xxxxxxxxxxxxxxx>, Nicolas Carré <carren@xxxxxxxxxxxxxx>, Jean CECCATO <Jean.Ceccato@xxxxxxxxxxxxxxx>, "matthieu.moy" <Matthieu.Moy@xxxxxxxxxxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=+1g0UBYlhsx+sXEhtaBELnLuLsmZzgMcxXbnaNBHnpk=; b=0GyApMbYUoFwsu92rHbAm44MGARu6o9m8oyIRbLOmqHeB2sp2BuhqG9exwW3ITHff9 e5tZKJy+fA2oJe05nQYgJs+32ETEzy/8J9f7pBJoZgKfB90GimvqxXVF41eg7QgFV7Bt UmsAwKM8Ezm2QGPW3+34VMlOm/kk2qwjC7BGvpeO2h/3WHRoewOKsYfy35o4IYpw1yyt /e3gBOZyZyikGwk2l4X+kX6DBD1mkVUFhUOMiD2sND5CwGik/Z0IRDB8MCM7SM37rfaa ZOonbZk7yoykWgXROsb5pGCAsT+/ZkX88GV2QrHK4HtidRnkpPS497Eya6vzk918I8k8 DR7Q==
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.
On Fri, Jun 14, 2013 at 4:22 PM, Gael Guennebaud
> 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.
> On Fri, Jun 14, 2013 at 3:13 PM, BRUN Gauthier <brunga@xxxxxxxxxxxxxx> wrote:
>> 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
>> 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
>> 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
>> Performance analysis: We joined to this mail graphs of the performances
>> (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