Re: [eigen] benchmarking clang, part 1 |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] benchmarking clang, part 1
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Fri, 9 Jul 2010 08:04:01 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type :content-transfer-encoding; bh=9JWESlmuW8CnS+MkGGPSbsc6taHIhdK40+Q7MHkEkZI=; b=iNbX0TA1AE7VHWhvtX9Lubt4t+pgzoODpFIOFYhPqYqsX5xDuiRUOQB/Pct/gbzygu XgspOInN65a+ecvbRT5NMDGMoqmYSUKp/P0II+GPhr6jop010FDIPim5T10/UaGKfRZX gJ3dlF6k7jTUgTTIa0qTXdEMvnfDIoHIeE3Jg=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=fcEIz8Szd2hOLzfpR1NLmU1RDLd3J4KN2OPDoPJEOypDYkU/uR+562e2NY96H4rbBg 7oopEydz+k+j8Ht0PUG2jvntcJczQ1niuYU39r3ZH3qvambWmKuAfjuHQV5lDIToRos5 hD6wSIgFXeCPg7Lfe3HXW+SYqgXX986b7Edb0=
by default bench_gemm is currently configured for complex<double>, so
the results you get are not really meaningful. You should either
change the line 14 to have:
#define SCALAR float
or add -DSCALAR=float to the compiler flags.
Also, for gcc, -O2 is usually much better than -O3.
Also:
L1 = 64 KB
L2/L3 cache size = 512 KB
large L1 but very small L2, what is your CPU ?
gael
On Fri, Jul 9, 2010 at 4:13 AM, Thomas Capricelli <orzel@xxxxxxxxxxxxxxx> wrote:
>
> Hi,
>
> Since a recent patch from Gael (rev 82bf6ba3c9d5), clang was not able to compile eigen anymore. I've tried to fix that but my conclusion was that clang was wrong about it. So I've narrowed the problem to a single file with few lines and reported the problem to clang (http://llvm.org/bugs/show_bug.cgi?id=7587) : they have fixed the problem quickly. We were happy with the reactivity of the gcc team, and it seems that the clang people are doing well too :-)
> They also added (a modification of) my narrowed code as a nonregression test, so we should really be ok with this in the future.
>
> Anyway, now that clang is usable again, i'd like to benchmark it. I've noticed bench/README.txt and bench/bench_multi_compilers.sh
> It seems that this code is quite old. basicbenchmark.cpp does not compile for example. I've fixed some of those, but the main interesting result, so far, is with using bench_gemm.cpp. Here are they (attached).
>
> clang crashes when vectorization is enabled, and it has done so for long, i'm not surprised. I think they know about it and it should be fixed at some point in the future.
>
> Tests for g++-4.5 are really strange. The non-vec test is faster than with g++-4.4 vectorized.. is that possible ? The test g++-4.5 vectorized is really slow... and surprises me as well. Do you have any idea why ?
>
> Then, the clang test by itself is not really impressing.... sure :-)
>
> regards,
> Thomas
> --
> Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>
> http://www.freehackers.org/thomas
>