|Re: [eigen] Eigen 3 is extremely slow|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Eigen 3 is extremely slow
- From: Hari Sundar <hsundar@xxxxxxxxx>
- Date: Mon, 14 Mar 2011 09:41:28 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=gjjoXwkIZJGS6+HVmoEM2WMueDHnaXG1bLy3GGynE8c=; b=HZ5B7TywRFrjKFz2KCyP/8bjAiMaUPzPfg/B3XoN1NugvQJKdW28w/HMf9KaJxy7jX 3U7zlBqM0wrqoP6s+aIihDiVbvQ9m5JY+34QY9Zyshm5kLHxT16AAJVne2tfQowFibzs BPaUDpcVwuUWaitVGhXCLEKdfS+sLt4+RZPwc=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=giFzU0z/3O+dG3EjTg/zzFJ5+bQhCjhGrMBG4QcFqx8KDCcc6gFxIOpETMJCeSbUkv 5GGz4JDYtoBw2V8h8MXbF8YbZGccv7Jgj6rolj0VzkrV8UvdndZCihfvRdnBlD3YP1rm dK2LOUlQOaSANyVnUj0HPsKaaWe/Q/qFawfHM=
I do not have any NaN values and I have checked it for my sample dataset.
I did some additional tests and it appears that it is not the matrix multiplication itself that is slow, but it appears to be some really bad case of cache usage.
Once projected, I use the points to sample from an Array (512x512). If I do not use Eigen for this array (instead using a std. C array), then my performance is much better.
I hope that is able to point you in the right direction.
I was using an ArrayXXf (also tried MatrixXf) to store the array.
On Mon, Mar 14, 2011 at 9:18 AM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
2011/3/14 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
If his matrix has NaN values, that could explain another 500x factor.
> On Mon, Mar 14, 2011 at 12:48 AM, Hari Sundar <hsundar@xxxxxxxxx
>> For example a simple 4x4 * 4*1 multiplication takes around 0.5msec..
> hm, that's indeed extremely slow... which compiler? flags?
> for instance here a 4x4 * 4x1 product takes less than 4e-6msec, and
> even in debug mode (-g2) with a very old gcc 3.4 it takes less than
> 0.0008 msec...
+1 (215) 501 7752